updated the python extractor to generate cross-references, and
* doc/api.xsl doc/APIconstructors.html doc/APIfiles.html
doc/APIfunctions.html doc/APIsymbols.html doc/libxml2-refs.xml
doc/parsedecl.py doc/Makefile.am: updated the python extractor
to generate cross-references, and added/updated the stylesheets
to generate and link API indexes. The generic keyword index
is not done yet.
* doc/*.html: regenerated all the usual docs too
Daniel
diff --git a/doc/api.xsl b/doc/api.xsl
new file mode 100644
index 0000000..ca8d104
--- /dev/null
+++ b/doc/api.xsl
@@ -0,0 +1,280 @@
+<?xml version="1.0"?>
+<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 resto of the site stylesheets -->
+ <xsl:import href="site.xsl"/>
+
+ <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>
+ </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>Module <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="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="html" version="4.01" encoding="ISO-8859-1">
+ <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="#000000" 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="toc"/>
+ </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="mailto:daniel@veillard.com">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="html" version="4.01" encoding="ISO-8859-1">
+ <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="#000000" 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="toc"/>
+ </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="mailto:daniel@veillard.com">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="html" version="4.01" encoding="ISO-8859-1">
+ <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="#000000" 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="toc"/>
+ </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="mailto:daniel@veillard.com">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="html" version="4.01" encoding="ISO-8859-1">
+ <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="#000000" 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="toc"/>
+ </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="mailto:daniel@veillard.com">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="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:template>
+
+ <xsl:template match="/">
+ <xsl:apply-templates select="$apirefs/apirefs"/>
+ </xsl:template>
+
+</xsl:stylesheet>