diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-05-01 10:26:57 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-05-01 10:26:57 +0000 |
| commit | ba9b0e647bff1bf0c437ab204ddf11783ed698f8 (patch) | |
| tree | 1952ebfdc40ae71a3bc54eb10a92a0fe1e8273ec /docs/tutorials/lxmlgraph/step04 | |
| parent | bc0698e1ac67106346d8c006bddcb38370f7c16b (diff) | |
| download | pyramid-ba9b0e647bff1bf0c437ab204ddf11783ed698f8.tar.gz pyramid-ba9b0e647bff1bf0c437ab204ddf11783ed698f8.tar.bz2 pyramid-ba9b0e647bff1bf0c437ab204ddf11783ed698f8.zip | |
Merge "c-free" branch to trunk.
Diffstat (limited to 'docs/tutorials/lxmlgraph/step04')
| -rw-r--r-- | docs/tutorials/lxmlgraph/step04/myapp/__init__.py | 1 | ||||
| -rw-r--r-- | docs/tutorials/lxmlgraph/step04/myapp/configure.zcml | 10 | ||||
| -rw-r--r-- | docs/tutorials/lxmlgraph/step04/myapp/models.py | 45 | ||||
| -rw-r--r-- | docs/tutorials/lxmlgraph/step04/myapp/samplemodel.xml | 44 | ||||
| -rw-r--r-- | docs/tutorials/lxmlgraph/step04/myapp/views.py | 13 | ||||
| -rw-r--r-- | docs/tutorials/lxmlgraph/step04/myapp/xsltview.xsl | 69 | ||||
| -rw-r--r-- | docs/tutorials/lxmlgraph/step04/run.py | 8 |
7 files changed, 0 insertions, 190 deletions
diff --git a/docs/tutorials/lxmlgraph/step04/myapp/__init__.py b/docs/tutorials/lxmlgraph/step04/myapp/__init__.py deleted file mode 100644 index 792d60054..000000000 --- a/docs/tutorials/lxmlgraph/step04/myapp/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/docs/tutorials/lxmlgraph/step04/myapp/configure.zcml b/docs/tutorials/lxmlgraph/step04/myapp/configure.zcml deleted file mode 100644 index c2d59effb..000000000 --- a/docs/tutorials/lxmlgraph/step04/myapp/configure.zcml +++ /dev/null @@ -1,10 +0,0 @@ -<configure xmlns="http://namespaces.repoze.org/bfg"> - - <include package="repoze.bfg.includes" /> - - <view - for=".models.IMyModel" - view=".views.xslt_view" - /> - -</configure> diff --git a/docs/tutorials/lxmlgraph/step04/myapp/models.py b/docs/tutorials/lxmlgraph/step04/myapp/models.py deleted file mode 100644 index a0d64ef59..000000000 --- a/docs/tutorials/lxmlgraph/step04/myapp/models.py +++ /dev/null @@ -1,45 +0,0 @@ -import os - -from zope.interface import implements -from zope.interface import Attribute -from zope.interface import Interface -from lxml import etree - -class IMyModel(Interface): - __name__ = Attribute('Name of the model instance') - -class BfgElement(etree.ElementBase): - """Handle access control and getitem behavior""" - - implements(IMyModel) - - @property - def __name__(self): - return self.xpath("@name")[0] - - def __getitem__(self, child_name): - xp = "*[@name='%s']" % child_name - matches = self.xpath(xp) - if len(matches) == 0: - raise KeyError('No child found for %s' % child_name) - elif len(matches) > 1: - raise KeyError('More than one child for %s' % child_name) - else: - return matches[0] - -def get_root(environ): - # Setup the custom parser with our BfgElement behavior - parser_lookup = etree.ElementDefaultClassLookup(element=BfgElement) - parser = etree.XMLParser() - parser.set_element_class_lookup(parser_lookup) - - # Now load the XML file - here = os.path.join(os.path.dirname(__file__)) - samplemodel = os.path.join(here, 'samplemodel.xml') - xmlstring = open(samplemodel).read() - root = etree.XML(xmlstring, parser) - - return root - - - diff --git a/docs/tutorials/lxmlgraph/step04/myapp/samplemodel.xml b/docs/tutorials/lxmlgraph/step04/myapp/samplemodel.xml deleted file mode 100644 index 36ab335d2..000000000 --- a/docs/tutorials/lxmlgraph/step04/myapp/samplemodel.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<site> - <title>My XMLGRAPH Website</title> - <document xml:id="index" name="index.html"> - <title>Site Home Page</title> - <body> - <div xmlns="http://www.w3.org/1999/xhtml"> - <p>Welcome to the site. We have lots to say.</p> - <p>Or, <em>maybe</em> not.</p> - </div> - </body> - </document> - <folder xml:id="n1" name="folder1"> - <title>Folder One</title> - <document xml:id="n11" name="doc1"> - <title>doc1 in folder1</title> - <body> - <div xmlns="http://www.w3.org/1999/xhtml"> - <p>I am in an HTML <code>div</code> so I can do <strong>LOTS</strong> of - formatting.</p> - </div> - </body> - </document> - <document xml:id="n12" name="doc2"> - <title>doc2 in folder1</title> - <body> - <div xmlns="http://www.w3.org/1999/xhtml"> - <p>Keep this on one line.</p> - </div> - </body> - </document> - </folder> - <folder xml:id="n2" name="folder2"> - <title>The Second Folder</title> - <document xml:id="n21" name="doc1"> - <title>doc1 in folder2</title> - <body> - <div xmlns="http://www.w3.org/1999/xhtml"> - <p>This is a special folder. It's folder 2!</p> - </div> - </body> - </document> - </folder> -</site> diff --git a/docs/tutorials/lxmlgraph/step04/myapp/views.py b/docs/tutorials/lxmlgraph/step04/myapp/views.py deleted file mode 100644 index f079cea8c..000000000 --- a/docs/tutorials/lxmlgraph/step04/myapp/views.py +++ /dev/null @@ -1,13 +0,0 @@ -from repoze.bfg.xslt import render_transform_to_response - -# Some constants -XML_NAMESPACE='http://www.w3.org/XML/1998/namespace' -XML_PREFIX= '{%s}' % XML_NAMESPACE - -def xslt_view(context, request): - # Grab the root of the tree, which should be a <site> - site = context.getroottree().getroot() - # Jot down which node we're sitting on as the <context> - contextid = "'%s'" % context.get(XML_PREFIX+'id') - return render_transform_to_response("xsltview.xsl", site, - contextid=contextid) diff --git a/docs/tutorials/lxmlgraph/step04/myapp/xsltview.xsl b/docs/tutorials/lxmlgraph/step04/myapp/xsltview.xsl deleted file mode 100644 index 2406987d0..000000000 --- a/docs/tutorials/lxmlgraph/step04/myapp/xsltview.xsl +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - <xsl:param name="contextid">n1</xsl:param> - <xsl:variable name="contextnode" select="id($contextid)"/> - <xsl:template match="/"> - <html> - <head> - <title> - <xsl:value-of select="$contextnode/title"/> - </title> - </head> - <body> - <h2> - <xsl:value-of select="$contextnode/title"/> - </h2> - <xsl:apply-templates select="$contextnode"/> - <table border="1" cellpadding="6" cellspacing="0"> - <tr> - <th>Type</th> - <th>@xml:id</th> - <th>@name</th> - <th>Parent Type</th> - <th>Parent @name</th> - </tr> - <tr> - <td> - <xsl:value-of select="name($contextnode)"/> - </td> - <td> - <xsl:value-of select="$contextnode/@xml:id"/> - </td> - <td> - <xsl:value-of select="$contextnode/@name"/> - </td> - <td> - <xsl:value-of select="name($contextnode/..)"/> - </td> - <td> - <xsl:value-of select="$contextnode/../@name"/> - </td> - </tr> - </table> - </body> - </html> - </xsl:template> - <xsl:template match="folder"> - <p> - <em>Folders are special, they contain things.</em> - </p> - <xsl:if test="*[@xml:id]"> - <h2>Folder Contents</h2> - <ul> - <xsl:for-each select="*[@xml:id]"> - <li> - <a href="{../@name}/{@name}"> - <xsl:value-of select="title"/> - </a> - </li> - </xsl:for-each> - </ul> - </xsl:if> - </xsl:template> - <xsl:template match="document"> - <p> - <em>Documents contain text.</em> - </p> - <xsl:copy-of select="body/*"/> - </xsl:template> -</xsl:stylesheet> diff --git a/docs/tutorials/lxmlgraph/step04/run.py b/docs/tutorials/lxmlgraph/step04/run.py deleted file mode 100644 index 1eac209dc..000000000 --- a/docs/tutorials/lxmlgraph/step04/run.py +++ /dev/null @@ -1,8 +0,0 @@ -from paste import httpserver - -from repoze.bfg import make_app -from myapp.models import get_root -import myapp - -app = make_app(get_root, myapp) -httpserver.serve(app, host='0.0.0.0', port='5432') |
