1 <?xml version="1.0"?> 2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" 3 xmlns="http://www.devhelp.net/book" 4 xmlns:exsl="http://exslt.org/common" 5 xmlns:str="http://exslt.org/strings" 6 extension-element-prefixes="exsl str" 7 exclude-result-prefixes="exsl str"> 8 <!-- The stylesheet for the html pages --> 9 <xsl:import href="html.xsl"/> 10 11 <xsl:output method="xml" encoding="UTF-8" indent="yes"/> 12 13 <!-- Build keys for all symbols --> 14 <xsl:key name="symbols" match="/api/symbols/*" use="@name"/> 15 16 <xsl:template match="/api"> 17 <book title="{@name} Reference Manual" link="index.html" author="" name="{@name}"> 18 <xsl:apply-templates select="files"/> 19 <xsl:apply-templates select="symbols"/> 20 </book> 21 <xsl:call-template name="generate_index"/> 22 <xsl:call-template name="generate_general"/> 23 </xsl:template> 24 <xsl:template match="/api/files"> 25 <chapters> 26 <sub name="API" link="general.html"> 27 <xsl:apply-templates select="file"/> 28 </sub> 29 </chapters> 30 </xsl:template> 31 <xsl:template match="/api/files/file"> 32 <xsl:variable name="module" select="@name"/> 33 <xsl:variable name="prev" select="string(preceding-sibling::file[position()=1]/@name)"/> 34 <xsl:variable name="next" select="string(following-sibling::file[position()=1]/@name)"/> 35 <sub name="{@name}" link="libxml2-{@name}.html"/> 36 <xsl:document xmlns="" href="libxml2-{@name}.html" method="xml" indent="yes" encoding="UTF-8"> 37 <html> 38 <head> 39 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 40 <title><xsl:value-of select="concat(@name, ': ', summary)"/></title> 41 <meta name="generator" content="Libxml2 devhelp stylesheet"/> 42 <link rel="start" href="index.html" title="libxml2 Reference Manual"/> 43 <link rel="up" href="general.html" title="API"/> 44 <link rel="stylesheet" href="style.css" type="text/css"/> 45 <link rel="chapter" href="general.html" title="API"/> 46 </head> 47 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 48 49 <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> 50 <tr valign="middle"> 51 <xsl:if test="$prev != ''"> 52 <td><a accesskey="p" href="libxml2-{$prev}.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"/></a></td> 53 </xsl:if> 54 <td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"/></a></td> 55 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td> 56 <xsl:if test="$next != ''"> 57 <td><a accesskey="n" href="libxml2-{$next}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td> 58 </xsl:if> 59 <th width="100%" align="center">libxml2 Reference Manual</th> 60 </tr> 61 </table> 62 <h2><span class="refentrytitle"><xsl:value-of select="@name"/></span></h2> 63 <p><xsl:value-of select="@name"/> - <xsl:value-of select="summary"/></p> 64 <p><xsl:value-of select="description"/></p> 65 <xsl:if test="deprecated"> 66 <p> WARNING: this module is deprecated !</p> 67 </xsl:if> 68 <p>Author(s): <xsl:value-of select="author"/></p> 69 <div class="refsynopsisdiv"> 70 <h2>Synopsis</h2> 71 <pre class="synopsis"> 72 <xsl:apply-templates mode="synopsis" select="exports"/> 73 </pre> 74 </div> 75 <div class="refsect1" lang="en"> 76 <h2>Description</h2> 77 </div> 78 <div class="refsect1" lang="en"> 79 <h2>Details</h2> 80 <div class="refsect2" lang="en"> 81 <xsl:apply-templates mode="details" select="/api/symbols/macro[@file=$module]"/> 82 <xsl:apply-templates mode="details" select="/api/symbols/typedef[@file=$module] | /api/symbols/struct[@file=$module]"/> 83 <xsl:apply-templates mode="details" select="/api/symbols/functype[@file=$module]"/> 84 <xsl:apply-templates mode="details" select="/api/symbols/variable[@file=$module]"/> 85 <xsl:apply-templates mode="details" select="/api/symbols/function[@file=$module]"/> 86 </div> 87 </div> 88 </body> 89 </html> 90 </xsl:document> 91 </xsl:template> 92 <xsl:template match="/api/symbols"> 93 <functions> 94 <xsl:apply-templates select="macro"/> 95 <xsl:apply-templates select="enum"/> 96 <xsl:apply-templates select="typedef"/> 97 <xsl:apply-templates select="struct"/> 98 <xsl:apply-templates select="functype"/> 99 <xsl:apply-templates select="variable"/> 100 <xsl:apply-templates select="function"/> 101 </functions> 102 </xsl:template> 103 <xsl:template match="/api/symbols/functype"> 104 <function name="{@name}" link="libxml2-{@file}.html#{@name}"/> 105 </xsl:template> 106 <xsl:template match="/api/symbols/function"> 107 <function name="{@name} ()" link="libxml2-{@file}.html#{@name}"/> 108 </xsl:template> 109 <xsl:template match="/api/symbols/typedef"> 110 <function name="{@name}" link="libxml2-{@file}.html#{@name}"/> 111 </xsl:template> 112 <xsl:template match="/api/symbols/enum"> 113 <function name="{@name}" link="libxml2-{@file}.html#{@name}"/> 114 </xsl:template> 115 <xsl:template match="/api/symbols/struct"> 116 <function name="{@name}" link="libxml2-{@file}.html#{@name}"/> 117 </xsl:template> 118 <xsl:template match="/api/symbols/macro"> 119 <function name="{@name}" link="libxml2-{@file}.html#{@name}"/> 120 </xsl:template> 121 <xsl:template match="/api/symbols/variable"> 122 <function name="{@name}" link="libxml2-{@file}.html#{@name}"/> 123 </xsl:template> 124 125 </xsl:stylesheet> 126 127 128