summaryrefslogtreecommitdiff
path: root/docs/tutorials/lxmlgraph/step04
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-05-01 10:26:57 +0000
committerChris McDonough <chrism@agendaless.com>2009-05-01 10:26:57 +0000
commitba9b0e647bff1bf0c437ab204ddf11783ed698f8 (patch)
tree1952ebfdc40ae71a3bc54eb10a92a0fe1e8273ec /docs/tutorials/lxmlgraph/step04
parentbc0698e1ac67106346d8c006bddcb38370f7c16b (diff)
downloadpyramid-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__.py1
-rw-r--r--docs/tutorials/lxmlgraph/step04/myapp/configure.zcml10
-rw-r--r--docs/tutorials/lxmlgraph/step04/myapp/models.py45
-rw-r--r--docs/tutorials/lxmlgraph/step04/myapp/samplemodel.xml44
-rw-r--r--docs/tutorials/lxmlgraph/step04/myapp/views.py13
-rw-r--r--docs/tutorials/lxmlgraph/step04/myapp/xsltview.xsl69
-rw-r--r--docs/tutorials/lxmlgraph/step04/run.py8
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')