1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-01-15 23:24:06 +03:00
libxml2/doc/api.xsl
Daniel Veillard d2190faf78 Fix web site encoding problems
The encoding.html page was generated incorectly, revamp the input
xml.html and convert the full XSLT chain to use and serve it as
UTF-8
* doc/*: fix xml.html, update all stylesheets and regenerate
2010-09-30 13:58:22 +02:00

395 lines
16 KiB
XML

<?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>