<?xml version="1.0"?> <!-- this stylesheet builds the API*.html , it works based on libxml2-refs.xml --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl" exclude-result-prefixes="exsl"> <!-- Import the rest of the site stylesheets --> <xsl:import href="site.xsl"/> <!-- Generate XHTML-1.0 transitional --> <xsl:output method="xml" encoding="UTF-8" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> <xsl:variable name="href_base" select="''"/> <xsl:variable name="apirefs" select="document('libxml2-refs.xml')"/> <xsl:variable name="module" select="$apirefs/apirefs/@name"/> <xsl:key name="refhref" match="reference" use="@name"/> <xsl:template match="ref" mode="anchor"> <xsl:variable name="name" select="@name"/> <xsl:for-each select="document('libxml2-refs.xml')"> <a href="{key('refhref', $name)/@href}"><xsl:value-of select="$name"/></a><br/> </xsl:for-each> </xsl:template> <xsl:template match="type" mode="reflist"> <h2>Type <xsl:value-of select="@name"/>:</h2> <p> <xsl:for-each select="ref"> <xsl:apply-templates mode="anchor" select="."/> <xsl:text> </xsl:text> </xsl:for-each> </p> </xsl:template> <xsl:template match="letter" mode="reflist"> <h2>Letter <xsl:value-of select="@name"/>:</h2> <p> <xsl:for-each select="ref"> <xsl:apply-templates mode="anchor" select="."/> <xsl:text> </xsl:text> </xsl:for-each> </p> </xsl:template> <xsl:template match="file" mode="reflist"> <h2><a name="{@name}">Module <xsl:value-of select="@name"/></a>:</h2> <p> <xsl:for-each select="ref"> <xsl:apply-templates mode="anchor" select="."/> <xsl:text> </xsl:text> </xsl:for-each> </p> </xsl:template> <xsl:template match="letter" mode="wordlist"> <h2>Letter <xsl:value-of select="@name"/>:</h2> <dl> <xsl:for-each select="word"> <dt><xsl:value-of select="@name"/></dt> <dd> <xsl:for-each select="ref"> <xsl:apply-templates mode="anchor" select="."/> <xsl:text> </xsl:text> </xsl:for-each> </dd> </xsl:for-each> </dl> </xsl:template> <xsl:template match="constructors"> <xsl:message>Generating API Constructors</xsl:message> <xsl:variable name="title">List of constructors for <xsl:value-of select="$module"/></xsl:variable> <xsl:document href="APIconstructors.html" method="xml" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <xsl:call-template name="style"/> <xsl:element name="title"> <xsl:value-of select="$title"/> </xsl:element> </head> <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"> <xsl:call-template name="titlebox"> <xsl:with-param name="title" select="$title"/> </xsl:call-template> <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"> <tr> <td bgcolor="#8b7765"> <table border="0" cellspacing="0" cellpadding="2" width="100%"> <tr> <td valign="top" width="200" bgcolor="#8b7765"> <xsl:call-template name="develtoc"/> </td> <td valign="top" bgcolor="#8b7765"> <table border="0" cellspacing="0" cellpadding="1" width="100%"> <tr> <td> <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"> <tr> <td> <table border="0" cellpadding="3" cellspacing="1" width="100%"> <tr> <td bgcolor="#fffacd"> <xsl:apply-templates mode="reflist" select="type"/> <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </body> </html> </xsl:document> </xsl:template> <xsl:template match="files"> <xsl:message>Generating API List of synbols per file</xsl:message> <xsl:variable name="title">List of Symbols per Module for <xsl:value-of select="$module"/></xsl:variable> <xsl:document href="APIfiles.html" method="xml" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <xsl:call-template name="style"/> <xsl:element name="title"> <xsl:value-of select="$title"/> </xsl:element> </head> <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"> <xsl:call-template name="titlebox"> <xsl:with-param name="title" select="$title"/> </xsl:call-template> <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"> <tr> <td bgcolor="#8b7765"> <table border="0" cellspacing="0" cellpadding="2" width="100%"> <tr> <td valign="top" width="200" bgcolor="#8b7765"> <xsl:call-template name="develtoc"/> </td> <td valign="top" bgcolor="#8b7765"> <table border="0" cellspacing="0" cellpadding="1" width="100%"> <tr> <td> <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"> <tr> <td> <table border="0" cellpadding="3" cellspacing="1" width="100%"> <tr> <td bgcolor="#fffacd"> <xsl:apply-templates mode="reflist" select="file"/> <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </body> </html> </xsl:document> </xsl:template> <xsl:template match="functions"> <xsl:message>Generating API Functions by Type</xsl:message> <xsl:variable name="title">List of function manipulating types in <xsl:value-of select="$module"/></xsl:variable> <xsl:document href="APIfunctions.html" method="xml" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <xsl:call-template name="style"/> <xsl:element name="title"> <xsl:value-of select="$title"/> </xsl:element> </head> <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"> <xsl:call-template name="titlebox"> <xsl:with-param name="title" select="$title"/> </xsl:call-template> <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"> <tr> <td bgcolor="#8b7765"> <table border="0" cellspacing="0" cellpadding="2" width="100%"> <tr> <td valign="top" width="200" bgcolor="#8b7765"> <xsl:call-template name="develtoc"/> </td> <td valign="top" bgcolor="#8b7765"> <table border="0" cellspacing="0" cellpadding="1" width="100%"> <tr> <td> <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"> <tr> <td> <table border="0" cellpadding="3" cellspacing="1" width="100%"> <tr> <td bgcolor="#fffacd"> <xsl:apply-templates mode="reflist" select="type"/> <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </body> </html> </xsl:document> </xsl:template> <xsl:template match="alpha"> <xsl:message>Generating API Alphabetic list</xsl:message> <xsl:variable name="title">Alphabetic List of Symbols in <xsl:value-of select="$module"/></xsl:variable> <xsl:document href="APIsymbols.html" method="xml" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <xsl:call-template name="style"/> <xsl:element name="title"> <xsl:value-of select="$title"/> </xsl:element> </head> <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"> <xsl:call-template name="titlebox"> <xsl:with-param name="title" select="$title"/> </xsl:call-template> <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"> <tr> <td bgcolor="#8b7765"> <table border="0" cellspacing="0" cellpadding="2" width="100%"> <tr> <td valign="top" width="200" bgcolor="#8b7765"> <xsl:call-template name="develtoc"/> </td> <td valign="top" bgcolor="#8b7765"> <table border="0" cellspacing="0" cellpadding="1" width="100%"> <tr> <td> <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"> <tr> <td> <table border="0" cellpadding="3" cellspacing="1" width="100%"> <tr> <td bgcolor="#fffacd"> <xsl:apply-templates mode="reflist" select="letter"/> <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </body> </html> </xsl:document> </xsl:template> <xsl:template name="apichunks"> <h2 align="center"> <xsl:for-each select="/apirefs/index/chunks/chunk"> <xsl:variable name="name" select="@name"/> <xsl:variable name="start" select="@start"/> <xsl:variable name="end" select="@end"/> <xsl:variable name="block" select="concat($start, '-', $end)"/> <a href="API{$name}.html"><xsl:value-of select="$block"/></a> <xsl:text> </xsl:text> </xsl:for-each> </h2> </xsl:template> <xsl:template match="chunk"> <xsl:variable name="name" select="@name"/> <xsl:variable name="start" select="@start"/> <xsl:variable name="end" select="@end"/> <xsl:variable name="block" select="concat($start, '-', $end)"/> <xsl:variable name="target" select="/apirefs/index/chunk[@name = $name]"/> <xsl:variable name="title">API Alphabetic Index <xsl:value-of select="$block"/> for <xsl:value-of select="$module"/></xsl:variable> <xsl:document href="API{$name}.html" method="xml" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <xsl:call-template name="style"/> <xsl:element name="title"> <xsl:value-of select="$title"/> </xsl:element> </head> <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"> <xsl:call-template name="titlebox"> <xsl:with-param name="title" select="$title"/> </xsl:call-template> <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"> <tr> <td bgcolor="#8b7765"> <table border="0" cellspacing="0" cellpadding="2" width="100%"> <tr> <td valign="top" width="200" bgcolor="#8b7765"> <xsl:call-template name="develtoc"/> </td> <td valign="top" bgcolor="#8b7765"> <table border="0" cellspacing="0" cellpadding="1" width="100%"> <tr> <td> <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"> <tr> <td> <table border="0" cellpadding="3" cellspacing="1" width="100%"> <tr> <td bgcolor="#fffacd"> <xsl:call-template name="apichunks"/> <xsl:apply-templates mode="wordlist" select="$target/letter"/> <xsl:call-template name="apichunks"/> <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </body> </html> </xsl:document> </xsl:template> <xsl:template match="index"> <xsl:message>Generating API Index</xsl:message> <xsl:apply-templates select="chunks/chunk"/> </xsl:template> <xsl:template match="apirefs"> <xsl:message>Generating API Cross References</xsl:message> <xsl:apply-templates select="constructors"/> <xsl:apply-templates select="functions"/> <xsl:apply-templates select="alpha"/> <xsl:apply-templates select="files"/> <xsl:apply-templates select="index"/> </xsl:template> <xsl:template match="/"> <xsl:apply-templates select="$apirefs/apirefs"/> </xsl:template> </xsl:stylesheet>