diff options
author | Rob Austein <sra@hactrn.net> | 2007-07-07 17:04:37 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-07-07 17:04:37 +0000 |
commit | ed43d040bf72c2b8eb9d2cec3444556761b3c606 (patch) | |
tree | 57d47ba90cd2c6672f32f0a514c47058e23e3f90 /pow/POW-0.7/docs/doc.xsl | |
parent | 2d5c53975e6ddaec9ac3d49a70278fcdd584273d (diff) |
Add pow
svn path=/pow/POW-0.7/PKG-INFO; revision=722
Diffstat (limited to 'pow/POW-0.7/docs/doc.xsl')
-rw-r--r-- | pow/POW-0.7/docs/doc.xsl | 188 |
1 files changed, 188 insertions, 0 deletions
diff --git a/pow/POW-0.7/docs/doc.xsl b/pow/POW-0.7/docs/doc.xsl new file mode 100644 index 00000000..61b95670 --- /dev/null +++ b/pow/POW-0.7/docs/doc.xsl @@ -0,0 +1,188 @@ +<?xml version="1.0"?> + +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0" +> + <xsl:template match="/"> + <book> + <bookinfo> + <title>The POW Package</title> + <author><firstname>Peter</firstname> <surname>Shannon</surname></author> + </bookinfo> + <xsl:for-each select="collection/moduleSet"> + <xsl:call-template name="processModule"/> + </xsl:for-each> + </book> + </xsl:template> + + <xsl:template name="processModule"> + <chapter> + <title>The <xsl:value-of select="moduleDescription/header/name"/> Module</title> + <sect1> + <title>Introduction</title> + <xsl:copy-of select="moduleDescription/body/*"/> + </sect1> + <xsl:if test="modulefunction"> + <sect1> + <title>Module Functions</title> + <xsl:call-template name="functionPrototypes"/> + <xsl:call-template name="functionDescriptions"/> + </sect1> + </xsl:if> + <sect1> + <title>Module Classes</title> + <xsl:call-template name="moduleClasses"/> + </sect1> + </chapter> + </xsl:template> + + <xsl:template name="functionPrototypes"> + <sect2> + <title>Function Prototypes</title> + <funcsynopsis> + <xsl:for-each select="modulefunction"> + <funcprototype> + <funcdef>def <function><xsl:value-of select="header/name"/></function></funcdef> + <xsl:call-template name="functionParameter"/> + </funcprototype> + </xsl:for-each> + </funcsynopsis> + </sect2> + </xsl:template> + + <xsl:template name="functionDescriptions"> + <sect2> + <title>Function Descriptions</title> + <xsl:for-each select="modulefunction"> + <sect3> + <title>The <function><xsl:value-of select="header/name"/></function> Function</title> + + <funcsynopsis> + <funcprototype> + <funcdef>def <function><xsl:value-of select="header/name"/></function></funcdef> + <xsl:call-template name="functionParameter"/> + </funcprototype> + </funcsynopsis> + + <xsl:copy-of select="body/*"/> + </sect3> + </xsl:for-each> + </sect2> + </xsl:template> + + + <xsl:template name="moduleClasses"> + <xsl:for-each select="class"> + <xsl:variable name="class"> + <xsl:value-of select="header/name"/> + </xsl:variable> + <sect2> + <title>The <classname><xsl:value-of select="$class"/></classname> Class</title> + + <xsl:copy-of select="body/*"/> + + <sect3> + <title>Class Prototypes</title> + <xsl:call-template name="methodPrototypes"> + <xsl:with-param name="class"> + <xsl:value-of select="$class"/> + </xsl:with-param> + </xsl:call-template> + </sect3> + + <xsl:call-template name="methodDescriptions"> + <xsl:with-param name="class"> + <xsl:value-of select="$class"/> + </xsl:with-param> + </xsl:call-template> + + </sect2> + </xsl:for-each> + </xsl:template> + + <xsl:template name="methodPrototypes"> + <xsl:param name="class"/> + <classsynopsis> + <xsl:attribute name="language">python</xsl:attribute> + <ooclass><classname><xsl:value-of select="$class"/></classname></ooclass> + <xsl:if test="header/super"> + <xsl:for-each select="header/super"> + <ooclass><classname><xsl:value-of select="."/></classname></ooclass> + </xsl:for-each> + </xsl:if> + <xsl:if test="..//header[memberof=$class]"> + <xsl:for-each select="../constructor[header/memberof=$class]"> + <constructorsynopsis> + <methodname><xsl:value-of select="$class"/></methodname> + <xsl:call-template name="methodParameter"/> + </constructorsynopsis> + </xsl:for-each> + <xsl:for-each select="../method[header/memberof=$class]"> + <methodsynopsis> + <methodname><xsl:value-of select="header/name"/></methodname> + <xsl:call-template name="methodParameter"/> + </methodsynopsis> + </xsl:for-each> + </xsl:if> + </classsynopsis> + </xsl:template> + + <xsl:template name="functionParameter"> + <xsl:choose> + <xsl:when test="header/parameter"> + <xsl:for-each select="header/parameter"> + <paramdef> + <parameter> + <xsl:value-of select="self::node()"/> + </parameter> + </paramdef> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <void/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="methodParameter"> + <xsl:choose> + <xsl:when test="header/parameter"> + <xsl:for-each select="header/parameter"> + <methodparam> + <parameter> + <xsl:value-of select="self::node()"/> + </parameter> + </methodparam> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <void/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="methodDescriptions"> + <xsl:param name="class"/> + + <xsl:for-each select="../constructor[header/memberof=$class]"> + <xsl:if test="body"> + <sect3> + <title>The <function>__init__</function> Method</title> + <xsl:copy-of select="body/*"/> + </sect3> + </xsl:if> + </xsl:for-each> + + <xsl:for-each select="../method[header/memberof=$class]"> + <xsl:if test="body"> + <sect3> + <title>The <function><xsl:value-of select="header/name"/></function> Method</title> + <xsl:copy-of select="body/*"/> + </sect3> + </xsl:if> + </xsl:for-each> + + </xsl:template> + +</xsl:stylesheet> |