Annotation of embedaddon/libxml2/doc/examples/examples.xsl, revision 1.1.1.1
1.1 misho 1: <?xml version="1.0"?>
2: <xsl:stylesheet version="1.0"
3: xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4: xmlns:exsl="http://exslt.org/common"
5: extension-element-prefixes="exsl"
6: exclude-result-prefixes="exsl">
7:
8: <xsl:import href="../site.xsl"/>
9:
10: <xsl:variable name="href_base">../</xsl:variable>
11: <xsl:variable name="menu_name">Examples Menu</xsl:variable>
12:
13: <xsl:variable name="toc">
14: <form action="../search.php"
15: enctype="application/x-www-form-urlencoded" method="get">
16: <input name="query" type="text" size="20" value=""/>
17: <input name="submit" type="submit" value="Search ..."/>
18: </form>
19: <ul><!-- style="margin-left: -1em" -->
20: <li><a href="{$href_base}index.html">Home</a></li>
21: <li><a style="font-weight:bold"
22: href="{$href_base}docs.html">Developer Menu</a></li>
23: <li><a style="font-weight:bold"
24: href="{$href_base}html/index.html">API Menu</a></li>
25: <xsl:for-each select="/examples/sections/section">
26: <li><a href="#{@name}"><xsl:value-of select="@name"/> Examples</a></li>
27: </xsl:for-each>
28: <li><a href="{$href_base}guidelines.html">XML Guidelines</a></li>
29: </ul>
30: </xsl:variable>
31:
32: <xsl:template match="include">
33: <xsl:variable name="header" select="substring-before(substring-after(., '/'), '>')"/>
34: <xsl:variable name="doc" select="concat('../html/libxml-', $header, 'tml')"/>
35: <li><a href="{$doc}"><xsl:value-of select="."/></a></li>
36: </xsl:template>
37:
38: <xsl:template match="typedef">
39: <xsl:variable name="name" select="@name"/>
40: <xsl:variable name="header" select="concat(@file, '.h')"/>
41: <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
42: <li> line <xsl:value-of select="@line"/>: Type <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
43: </xsl:template>
44:
45: <xsl:template match="function">
46: <xsl:variable name="name" select="@name"/>
47: <xsl:variable name="header" select="concat(@file, '.h')"/>
48: <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
49: <li> line <xsl:value-of select="@line"/>: Function <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
50: </xsl:template>
51:
52: <xsl:template match="macro">
53: <xsl:variable name="name" select="@name"/>
54: <xsl:variable name="header" select="concat(@file, '.h')"/>
55: <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
56: <li> line <xsl:value-of select="@line"/>: Macro <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
57: </xsl:template>
58:
59: <xsl:template match="example">
60: <xsl:variable name="filename" select="string(@filename)"/>
61: <h3><a name="{$filename}" href="{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="synopsis"/></h3>
62: <p><xsl:value-of select="purpose"/></p>
63: <p>Includes:</p>
64: <ul>
65: <xsl:for-each select="includes/include">
66: <xsl:apply-templates select='.'/>
67: </xsl:for-each>
68: </ul>
69: <p>Uses:</p>
70: <ul>
71: <xsl:for-each select="uses/*">
72: <xsl:sort select="@line" data-type="number"/>
73: <xsl:apply-templates select='.'/>
74: </xsl:for-each>
75: </ul>
76: <p>Usage:</p>
77: <p><xsl:value-of select="usage"/></p>
78: <p>Author: <xsl:value-of select="author"/></p>
79: </xsl:template>
80:
81: <xsl:template match="section">
82: <li><p> <a href="#{@name}"><xsl:value-of select="@name"/></a> :</p>
83: <ul>
84: <xsl:for-each select="example">
85: <xsl:sort select='.'/>
86: <xsl:variable name="filename" select="@filename"/>
87: <li> <a href="#{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="/examples/example[@filename = $filename]/synopsis"/></li>
88: </xsl:for-each>
89: </ul>
90: </li>
91: </xsl:template>
92:
93: <xsl:template match="sections">
94: <p> The examples are stored per section depending on the main focus
95: of the example:</p>
96: <ul>
97: <xsl:for-each select="section">
98: <xsl:sort select='.'/>
99: <xsl:apply-templates select='.'/>
100: </xsl:for-each>
101: </ul>
102: <p> Getting the compilation options and libraries dependancies needed
103: to generate binaries from the examples is best done on Linux/Unix by using
104: the xml2-config script which should have been installed as part of <i>make
105: install</i> step or when installing the libxml2 development package:</p>
106: <pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre>
107: </xsl:template>
108:
109: <xsl:template name="sections-list">
110: <xsl:for-each select="sections/section">
111: <xsl:variable name="section" select="@name"/>
112: <h2> <a name="{$section}"></a><xsl:value-of select="$section"/> Examples</h2>
113: <xsl:apply-templates select='/examples/example[section = $section]'/>
114: </xsl:for-each>
115: </xsl:template>
116:
117: <xsl:template match="examples">
118: <xsl:variable name="title">Libxml2 set of examples</xsl:variable>
119: <xsl:document href="index.html" method="xml" encoding="ISO-8859-1"
120: doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
121: doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
122: <html>
123: <head>
124: <xsl:call-template name="style"/>
125: <xsl:element name="title">
126: <xsl:value-of select="$title"/>
127: </xsl:element>
128: </head>
129: <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
130: <xsl:call-template name="titlebox">
131: <xsl:with-param name="title" select="$title"/>
132: </xsl:call-template>
133: <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
134: <tr>
135: <td bgcolor="#8b7765">
136: <table border="0" cellspacing="0" cellpadding="2" width="100%">
137: <tr>
138: <td valign="top" width="200" bgcolor="#8b7765">
139: <xsl:call-template name="toc"/>
140: </td>
141: <td valign="top" bgcolor="#8b7765">
142: <table border="0" cellspacing="0" cellpadding="1" width="100%">
143: <tr>
144: <td>
145: <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
146: <tr>
147: <td>
148: <table border="0" cellpadding="3" cellspacing="1" width="100%">
149: <tr>
150: <td bgcolor="#fffacd">
151: <xsl:apply-templates select="sections"/>
152: <xsl:call-template name="sections-list"/>
153: <p><a href="../bugs.html">Daniel Veillard</a></p>
154: </td>
155: </tr>
156: </table>
157: </td>
158: </tr>
159: </table>
160: </td>
161: </tr>
162: </table>
163: </td>
164: </tr>
165: </table>
166: </td>
167: </tr>
168: </table>
169: </body>
170: </html>
171: </xsl:document>
172: </xsl:template>
173:
174: </xsl:stylesheet>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>