Return to html.xsl CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / doc / devhelp |
1.1 ! misho 1: <?xml version="1.0"?> ! 2: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" ! 3: xmlns:exsl="http://exslt.org/common" ! 4: xmlns:str="http://exslt.org/strings" ! 5: extension-element-prefixes="exsl str" ! 6: exclude-result-prefixes="exsl str"> ! 7: <xsl:output method="xml" encoding="UTF-8" indent="yes"/> ! 8: ! 9: <!-- This is convoluted but needed to force the current document to ! 10: be the API one and not the result tree from the tokenize() result, ! 11: because the keys are only defined on the main document --> ! 12: <xsl:template mode="dumptoken" match='*'> ! 13: <xsl:param name="token"/> ! 14: <xsl:variable name="ref" select="key('symbols', $token)"/> ! 15: <xsl:choose> ! 16: <xsl:when test="$ref"> ! 17: <a href="libxml2-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a> ! 18: </xsl:when> ! 19: <xsl:otherwise> ! 20: <xsl:value-of select="$token"/> ! 21: </xsl:otherwise> ! 22: </xsl:choose> ! 23: </xsl:template> ! 24: ! 25: <!-- dumps a string, making cross-reference links --> ! 26: <xsl:template name="dumptext"> ! 27: <xsl:param name="text"/> ! 28: <xsl:variable name="ctxt" select='.'/> ! 29: <!-- <xsl:value-of select="$text"/> --> ! 30: <xsl:for-each select="str:tokenize($text, ' 	')"> ! 31: <xsl:apply-templates select="$ctxt" mode='dumptoken'> ! 32: <xsl:with-param name="token" select="string(.)"/> ! 33: </xsl:apply-templates> ! 34: <xsl:if test="position() != last()"> ! 35: <xsl:text> </xsl:text> ! 36: </xsl:if> ! 37: </xsl:for-each> ! 38: </xsl:template> ! 39: ! 40: <!-- ! 41: ! 42: The following builds the Synopsis section ! 43: ! 44: --> ! 45: <xsl:template mode="synopsis" match="function"> ! 46: <xsl:variable name="name" select="string(@name)"/> ! 47: <xsl:variable name="nlen" select="string-length($name)"/> ! 48: <xsl:variable name="tlen" select="string-length(return/@type)"/> ! 49: <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/> ! 50: <xsl:call-template name="dumptext"> ! 51: <xsl:with-param name="text" select="return/@type"/> ! 52: </xsl:call-template> ! 53: <xsl:text>	</xsl:text> ! 54: <a href="#{@name}"><xsl:value-of select="@name"/></a> ! 55: <xsl:if test="$blen - 40 < -8"> ! 56: <xsl:text>	</xsl:text> ! 57: </xsl:if> ! 58: <xsl:if test="$blen - 40 < 0"> ! 59: <xsl:text>	</xsl:text> ! 60: </xsl:if> ! 61: <xsl:text>	(</xsl:text> ! 62: <xsl:if test="not(arg)"> ! 63: <xsl:text>void</xsl:text> ! 64: </xsl:if> ! 65: <xsl:for-each select="arg"> ! 66: <xsl:call-template name="dumptext"> ! 67: <xsl:with-param name="text" select="@type"/> ! 68: </xsl:call-template> ! 69: <xsl:text> </xsl:text> ! 70: <xsl:value-of select="@name"/> ! 71: <xsl:if test="position() != last()"> ! 72: <xsl:text>, </xsl:text><br/> ! 73: <xsl:if test="$blen - 40 > 8"> ! 74: <xsl:text>	</xsl:text> ! 75: </xsl:if> ! 76: <xsl:if test="$blen - 40 > 0"> ! 77: <xsl:text>	</xsl:text> ! 78: </xsl:if> ! 79: <xsl:text>					 </xsl:text> ! 80: </xsl:if> ! 81: </xsl:for-each> ! 82: <xsl:text>);</xsl:text> ! 83: <xsl:text> ! 84: </xsl:text> ! 85: </xsl:template> ! 86: ! 87: <xsl:template mode="synopsis" match="functype"> ! 88: <xsl:variable name="name" select="string(@name)"/> ! 89: <xsl:variable name="nlen" select="string-length($name)"/> ! 90: <xsl:variable name="tlen" select="string-length(return/@type)"/> ! 91: <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/> ! 92: <xsl:text>typedef </xsl:text> ! 93: <xsl:call-template name="dumptext"> ! 94: <xsl:with-param name="text" select="return/@type"/> ! 95: </xsl:call-template> ! 96: <xsl:text> </xsl:text> ! 97: <a href="#{@name}"><xsl:value-of select="@name"/></a> ! 98: <xsl:if test="$blen - 40 < -8"> ! 99: <xsl:text>	</xsl:text> ! 100: </xsl:if> ! 101: <xsl:if test="$blen - 40 < 0"> ! 102: <xsl:text>	</xsl:text> ! 103: </xsl:if> ! 104: <xsl:text>	(</xsl:text> ! 105: <xsl:if test="not(arg)"> ! 106: <xsl:text>void</xsl:text> ! 107: </xsl:if> ! 108: <xsl:for-each select="arg"> ! 109: <xsl:call-template name="dumptext"> ! 110: <xsl:with-param name="text" select="@type"/> ! 111: </xsl:call-template> ! 112: <xsl:text> </xsl:text> ! 113: <xsl:value-of select="@name"/> ! 114: <xsl:if test="position() != last()"> ! 115: <xsl:text>, </xsl:text><br/> ! 116: <xsl:if test="$blen - 40 > 8"> ! 117: <xsl:text>	</xsl:text> ! 118: </xsl:if> ! 119: <xsl:if test="$blen - 40 > 0"> ! 120: <xsl:text>	</xsl:text> ! 121: </xsl:if> ! 122: <xsl:text>					 </xsl:text> ! 123: </xsl:if> ! 124: </xsl:for-each> ! 125: <xsl:text>);</xsl:text> ! 126: <xsl:text> ! 127: </xsl:text> ! 128: </xsl:template> ! 129: ! 130: <xsl:template mode="synopsis" match="exports[@type='function']"> ! 131: <xsl:variable name="def" select="key('symbols',@symbol)"/> ! 132: <xsl:apply-templates mode="synopsis" select="$def"/> ! 133: </xsl:template> ! 134: ! 135: <xsl:template mode="synopsis" match="exports[@type='typedef']"> ! 136: <xsl:text>typedef </xsl:text> ! 137: <xsl:call-template name="dumptext"> ! 138: <xsl:with-param name="text" select="string(key('symbols',@symbol)/@type)"/> ! 139: </xsl:call-template> ! 140: <xsl:text> </xsl:text> ! 141: <a href="#{@symbol}"><xsl:value-of select="@symbol"/></a> ! 142: <xsl:text>; ! 143: </xsl:text> ! 144: </xsl:template> ! 145: ! 146: <xsl:template mode="synopsis" match="exports[@type='macro']"> ! 147: <xsl:variable name="def" select="key('symbols',@symbol)"/> ! 148: <xsl:text>#define </xsl:text> ! 149: <a href="#{@symbol}"><xsl:value-of select="@symbol"/></a> ! 150: <xsl:if test="$def/arg"> ! 151: <xsl:text>(</xsl:text> ! 152: <xsl:for-each select="$def/arg"> ! 153: <xsl:value-of select="@name"/> ! 154: <xsl:if test="position() != last()"> ! 155: <xsl:text>, </xsl:text> ! 156: </xsl:if> ! 157: </xsl:for-each> ! 158: <xsl:text>)</xsl:text> ! 159: </xsl:if> ! 160: <xsl:text>; ! 161: </xsl:text> ! 162: </xsl:template> ! 163: <xsl:template mode="synopsis" match="exports[@type='enum']"> ! 164: </xsl:template> ! 165: <xsl:template mode="synopsis" match="exports[@type='struct']"> ! 166: </xsl:template> ! 167: ! 168: <!-- ! 169: ! 170: The following builds the Details section ! 171: ! 172: --> ! 173: <xsl:template mode="details" match="struct"> ! 174: <xsl:variable name="name" select="string(@name)"/> ! 175: <div class="refsect2" lang="en"> ! 176: <h3><a name="{$name}">Structure </a><xsl:value-of select="$name"/></h3> ! 177: <pre class="programlisting"> ! 178: <xsl:value-of select="@type"/><xsl:text> { ! 179: </xsl:text> ! 180: <xsl:if test="not(field)"> ! 181: <xsl:text>The content of this structure is not made public by the API. ! 182: </xsl:text> ! 183: </xsl:if> ! 184: <xsl:for-each select="field"> ! 185: <xsl:text> </xsl:text> ! 186: <xsl:call-template name="dumptext"> ! 187: <xsl:with-param name="text" select="@type"/> ! 188: </xsl:call-template> ! 189: <xsl:text>	</xsl:text> ! 190: <xsl:value-of select="@name"/> ! 191: <xsl:if test="@info != ''"> ! 192: <xsl:text>	: </xsl:text> ! 193: <xsl:call-template name="dumptext"> ! 194: <xsl:with-param name="text" select="substring(@info, 1, 70)"/> ! 195: </xsl:call-template> ! 196: </xsl:if> ! 197: <xsl:text> ! 198: </xsl:text> ! 199: </xsl:for-each> ! 200: <xsl:text>} </xsl:text> ! 201: <xsl:value-of select="$name"/> ! 202: <xsl:text>; ! 203: </xsl:text> ! 204: </pre> ! 205: <p> ! 206: <xsl:call-template name="dumptext"> ! 207: <xsl:with-param name="text" select="info"/> ! 208: </xsl:call-template> ! 209: </p><xsl:text> ! 210: </xsl:text> ! 211: </div><hr/> ! 212: </xsl:template> ! 213: ! 214: <xsl:template mode="details" match="typedef[@type != 'enum']"> ! 215: <xsl:variable name="name" select="string(@name)"/> ! 216: <div class="refsect2" lang="en"> ! 217: <h3><a name="{$name}">Typedef </a><xsl:value-of select="$name"/></h3> ! 218: <pre class="programlisting"> ! 219: <xsl:call-template name="dumptext"> ! 220: <xsl:with-param name="text" select="string(@type)"/> ! 221: </xsl:call-template> ! 222: <xsl:text> </xsl:text> ! 223: <xsl:value-of select="$name"/> ! 224: <xsl:text>; ! 225: </xsl:text> ! 226: </pre> ! 227: <p> ! 228: <xsl:call-template name="dumptext"> ! 229: <xsl:with-param name="text" select="info"/> ! 230: </xsl:call-template> ! 231: </p><xsl:text> ! 232: </xsl:text> ! 233: </div><hr/> ! 234: </xsl:template> ! 235: ! 236: <xsl:template mode="details" match="variable"> ! 237: <xsl:variable name="name" select="string(@name)"/> ! 238: <div class="refsect2" lang="en"> ! 239: <h3><a name="{$name}">Variable </a><xsl:value-of select="$name"/></h3> ! 240: <pre class="programlisting"> ! 241: <xsl:call-template name="dumptext"> ! 242: <xsl:with-param name="text" select="string(@type)"/> ! 243: </xsl:call-template> ! 244: <xsl:text> </xsl:text> ! 245: <xsl:value-of select="$name"/> ! 246: <xsl:text>; ! 247: </xsl:text> ! 248: </pre> ! 249: <p> ! 250: <xsl:call-template name="dumptext"> ! 251: <xsl:with-param name="text" select="info"/> ! 252: </xsl:call-template> ! 253: </p><xsl:text> ! 254: </xsl:text> ! 255: </div><hr/> ! 256: </xsl:template> ! 257: ! 258: <xsl:template mode="details" match="typedef[@type = 'enum']"> ! 259: <xsl:variable name="name" select="string(@name)"/> ! 260: <div class="refsect2" lang="en"> ! 261: <h3><a name="{$name}">Enum </a><xsl:value-of select="$name"/></h3> ! 262: <pre class="programlisting"> ! 263: <xsl:text>enum </xsl:text> ! 264: <a href="#{$name}"><xsl:value-of select="$name"/></a> ! 265: <xsl:text> { ! 266: </xsl:text> ! 267: <xsl:for-each select="/api/symbols/enum[@type=$name]"> ! 268: <xsl:sort select="@value" data-type="number" order="ascending"/> ! 269: <xsl:text> </xsl:text> ! 270: <a name="{@name}"><xsl:value-of select="@name"/></a> ! 271: <xsl:if test="@value"> ! 272: <xsl:text> = </xsl:text> ! 273: <xsl:value-of select="@value"/> ! 274: </xsl:if> ! 275: <xsl:if test="@info"> ! 276: <xsl:text> /* </xsl:text> ! 277: <xsl:value-of select="@info"/> ! 278: <xsl:text> */</xsl:text> ! 279: </xsl:if> ! 280: <xsl:text> ! 281: </xsl:text> ! 282: </xsl:for-each> ! 283: <xsl:text>}; ! 284: </xsl:text> ! 285: </pre> ! 286: <p> ! 287: <xsl:call-template name="dumptext"> ! 288: <xsl:with-param name="text" select="info"/> ! 289: </xsl:call-template> ! 290: </p><xsl:text> ! 291: </xsl:text> ! 292: </div><hr/> ! 293: </xsl:template> ! 294: ! 295: <xsl:template mode="details" match="macro"> ! 296: <xsl:variable name="name" select="string(@name)"/> ! 297: <div class="refsect2" lang="en"> ! 298: <h3><a name="{$name}">Macro </a><xsl:value-of select="$name"/></h3> ! 299: <pre class="programlisting"> ! 300: <xsl:text>#define </xsl:text> ! 301: <a href="#{$name}"><xsl:value-of select="$name"/></a> ! 302: <xsl:if test="arg"> ! 303: <xsl:text>(</xsl:text> ! 304: <xsl:for-each select="arg"> ! 305: <xsl:value-of select="@name"/> ! 306: <xsl:if test="position() != last()"> ! 307: <xsl:text>, </xsl:text> ! 308: </xsl:if> ! 309: </xsl:for-each> ! 310: <xsl:text>)</xsl:text> ! 311: </xsl:if> ! 312: <xsl:text>; ! 313: </xsl:text> ! 314: </pre> ! 315: <p> ! 316: <xsl:call-template name="dumptext"> ! 317: <xsl:with-param name="text" select="info"/> ! 318: </xsl:call-template> ! 319: </p> ! 320: <xsl:if test="arg"> ! 321: <div class="variablelist"><table border="0"><col align="left"/><tbody> ! 322: <xsl:for-each select="arg"> ! 323: <tr> ! 324: <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td> ! 325: <td> ! 326: <xsl:call-template name="dumptext"> ! 327: <xsl:with-param name="text" select="@info"/> ! 328: </xsl:call-template> ! 329: </td> ! 330: </tr> ! 331: </xsl:for-each> ! 332: </tbody></table></div> ! 333: </xsl:if> ! 334: <xsl:text> ! 335: </xsl:text> ! 336: </div><hr/> ! 337: </xsl:template> ! 338: ! 339: <xsl:template mode="details" match="function"> ! 340: <xsl:variable name="name" select="string(@name)"/> ! 341: <xsl:variable name="nlen" select="string-length($name)"/> ! 342: <xsl:variable name="tlen" select="string-length(return/@type)"/> ! 343: <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/> ! 344: <div class="refsect2" lang="en"> ! 345: <h3><a name="{$name}"></a><xsl:value-of select="$name"/> ()</h3> ! 346: <pre class="programlisting"> ! 347: <xsl:call-template name="dumptext"> ! 348: <xsl:with-param name="text" select="return/@type"/> ! 349: </xsl:call-template> ! 350: <xsl:text>	</xsl:text> ! 351: <xsl:value-of select="@name"/> ! 352: <xsl:if test="$blen - 40 < -8"> ! 353: <xsl:text>	</xsl:text> ! 354: </xsl:if> ! 355: <xsl:if test="$blen - 40 < 0"> ! 356: <xsl:text>	</xsl:text> ! 357: </xsl:if> ! 358: <xsl:text>	(</xsl:text> ! 359: <xsl:if test="not(arg)"> ! 360: <xsl:text>void</xsl:text> ! 361: </xsl:if> ! 362: <xsl:for-each select="arg"> ! 363: <xsl:call-template name="dumptext"> ! 364: <xsl:with-param name="text" select="@type"/> ! 365: </xsl:call-template> ! 366: <xsl:text> </xsl:text> ! 367: <xsl:value-of select="@name"/> ! 368: <xsl:if test="position() != last()"> ! 369: <xsl:text>, </xsl:text><br/> ! 370: <xsl:if test="$blen - 40 > 8"> ! 371: <xsl:text>	</xsl:text> ! 372: </xsl:if> ! 373: <xsl:if test="$blen - 40 > 0"> ! 374: <xsl:text>	</xsl:text> ! 375: </xsl:if> ! 376: <xsl:text>					 </xsl:text> ! 377: </xsl:if> ! 378: </xsl:for-each> ! 379: <xsl:text>)</xsl:text><br/> ! 380: <xsl:text> ! 381: </xsl:text> ! 382: </pre> ! 383: <p> ! 384: <xsl:call-template name="dumptext"> ! 385: <xsl:with-param name="text" select="info"/> ! 386: </xsl:call-template> ! 387: </p><xsl:text> ! 388: </xsl:text> ! 389: <xsl:if test="arg | return/@info"> ! 390: <div class="variablelist"><table border="0"><col align="left"/><tbody> ! 391: <xsl:for-each select="arg"> ! 392: <tr> ! 393: <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td> ! 394: <td> ! 395: <xsl:call-template name="dumptext"> ! 396: <xsl:with-param name="text" select="@info"/> ! 397: </xsl:call-template> ! 398: </td> ! 399: </tr> ! 400: </xsl:for-each> ! 401: <xsl:if test="return/@info"> ! 402: <tr> ! 403: <td><span class="term"><i><tt>Returns</tt></i>:</span></td> ! 404: <td> ! 405: <xsl:call-template name="dumptext"> ! 406: <xsl:with-param name="text" select="return/@info"/> ! 407: </xsl:call-template> ! 408: </td> ! 409: </tr> ! 410: </xsl:if> ! 411: </tbody></table></div> ! 412: </xsl:if> ! 413: </div><hr/> ! 414: </xsl:template> ! 415: ! 416: <xsl:template mode="details" match="functype"> ! 417: <xsl:variable name="name" select="string(@name)"/> ! 418: <xsl:variable name="nlen" select="string-length($name)"/> ! 419: <xsl:variable name="tlen" select="string-length(return/@type)"/> ! 420: <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/> ! 421: <div class="refsect2" lang="en"> ! 422: <h3><a name="{$name}"></a>Function type <xsl:value-of select="$name"/> </h3> ! 423: <pre class="programlisting"> ! 424: <xsl:call-template name="dumptext"> ! 425: <xsl:with-param name="text" select="return/@type"/> ! 426: </xsl:call-template> ! 427: <xsl:text>	</xsl:text> ! 428: <xsl:value-of select="@name"/> ! 429: <xsl:if test="$blen - 40 < -8"> ! 430: <xsl:text>	</xsl:text> ! 431: </xsl:if> ! 432: <xsl:if test="$blen - 40 < 0"> ! 433: <xsl:text>	</xsl:text> ! 434: </xsl:if> ! 435: <xsl:text>	(</xsl:text> ! 436: <xsl:if test="not(arg)"> ! 437: <xsl:text>void</xsl:text> ! 438: </xsl:if> ! 439: <xsl:for-each select="arg"> ! 440: <xsl:call-template name="dumptext"> ! 441: <xsl:with-param name="text" select="@type"/> ! 442: </xsl:call-template> ! 443: <xsl:text> </xsl:text> ! 444: <xsl:value-of select="@name"/> ! 445: <xsl:if test="position() != last()"> ! 446: <xsl:text>, </xsl:text><br/> ! 447: <xsl:if test="$blen - 40 > 8"> ! 448: <xsl:text>	</xsl:text> ! 449: </xsl:if> ! 450: <xsl:if test="$blen - 40 > 0"> ! 451: <xsl:text>	</xsl:text> ! 452: </xsl:if> ! 453: <xsl:text>					 </xsl:text> ! 454: </xsl:if> ! 455: </xsl:for-each> ! 456: <xsl:text>)</xsl:text><br/> ! 457: <xsl:text> ! 458: </xsl:text> ! 459: </pre> ! 460: <p> ! 461: <xsl:call-template name="dumptext"> ! 462: <xsl:with-param name="text" select="info"/> ! 463: </xsl:call-template> ! 464: </p><xsl:text> ! 465: </xsl:text> ! 466: <xsl:if test="arg | return/@info"> ! 467: <div class="variablelist"><table border="0"><col align="left"/><tbody> ! 468: <xsl:for-each select="arg"> ! 469: <tr> ! 470: <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td> ! 471: <td> ! 472: <xsl:call-template name="dumptext"> ! 473: <xsl:with-param name="text" select="@info"/> ! 474: </xsl:call-template> ! 475: </td> ! 476: </tr> ! 477: </xsl:for-each> ! 478: <xsl:if test="return/@info"> ! 479: <tr> ! 480: <td><span class="term"><i><tt>Returns</tt></i>:</span></td> ! 481: <td> ! 482: <xsl:call-template name="dumptext"> ! 483: <xsl:with-param name="text" select="return/@info"/> ! 484: </xsl:call-template> ! 485: </td> ! 486: </tr> ! 487: </xsl:if> ! 488: </tbody></table></div> ! 489: </xsl:if> ! 490: </div><hr/> ! 491: </xsl:template> ! 492: ! 493: <!-- ! 494: ! 495: The following builds the general.html page ! 496: ! 497: --> ! 498: <xsl:template name="generate_general"> ! 499: <xsl:variable name="next" select="string(/api/files/file[position()=1]/@name)"/> ! 500: <xsl:document xmlns="" href="general.html" method="xml" indent="yes" encoding="UTF-8"> ! 501: <html> ! 502: <head> ! 503: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> ! 504: <title><xsl:value-of select="concat(@name, ': ', summary)"/></title> ! 505: <meta name="generator" content="Libxml2 devhelp stylesheet"/> ! 506: <link rel="start" href="index.html" title="libxml2 Reference Manual"/> ! 507: <link rel="up" href="index.html" title="libxml2 Reference Manual"/> ! 508: <link rel="stylesheet" href="style.css" type="text/css"/> ! 509: <link rel="chapter" href="index.html" title="libxml2 Reference Manual"/> ! 510: </head> ! 511: <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> ! 512: ! 513: <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> ! 514: <tr valign="middle"> ! 515: <td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"/></a></td> ! 516: <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td> ! 517: <xsl:if test="$next != ''"> ! 518: <td><a accesskey="n" href="libxml2-{$next}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td> ! 519: </xsl:if> ! 520: <th width="100%" align="center">libxml2 Reference Manual</th> ! 521: </tr> ! 522: </table> ! 523: <h2><span class="refentrytitle">libxml2 API Modules</span></h2> ! 524: <p> ! 525: <xsl:for-each select="/api/files/file"> ! 526: <a href="libxml2-{@name}.html"><xsl:value-of select="@name"/></a> - <xsl:value-of select="summary"/><br/> ! 527: </xsl:for-each> ! 528: </p> ! 529: </body> ! 530: </html> ! 531: </xsl:document> ! 532: </xsl:template> ! 533: ! 534: <!-- ! 535: ! 536: The following builds the index.html page ! 537: ! 538: --> ! 539: <xsl:template name="generate_index"> ! 540: <xsl:document xmlns="" href="index.html" method="xml" indent="yes" encoding="UTF-8"> ! 541: <html> ! 542: <head> ! 543: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> ! 544: <title>libxml2 Reference Manual</title> ! 545: <meta name="generator" content="Libxml2 devhelp stylesheet"/> ! 546: <link rel="stylesheet" href="style.css" type="text/css"/> ! 547: </head> ! 548: <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> ! 549: ! 550: <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> ! 551: <tr valign="middle"> ! 552: <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td> ! 553: <td><a accesskey="n" href="general.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td> ! 554: <th width="100%" align="center">libxml2 Reference Manual</th> ! 555: </tr> ! 556: </table> ! 557: <h2><span class="refentrytitle">libxml2 Reference Manual</span></h2> ! 558: <p>Libxml2 is the XML C parser and toolkit developed for the Gnome project ! 559: (but usable outside of the Gnome platform), it is free software available ! 560: under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT ! 561: License</a>. XML itself is a metalanguage to design markup languages, i.e. ! 562: text language where semantic and structure are added to the content using ! 563: extra "markup" information enclosed between angle brackets. HTML is the most ! 564: well-known markup language. Though the library is written in C <a href="http://xmlsoft.org/python.html">a variety of language bindings</a> make it available in ! 565: other environments.</p> ! 566: <p>Libxml2 implements a number of existing standards related to markup ! 567: languages:</p> ! 568: <ul><li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li> ! 569: <li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li> ! 570: <li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a></li> ! 571: <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> : ! 572: Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a></li> ! 573: <li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a></li> ! 574: <li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a></li> ! 575: <li>XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a></li> ! 576: <li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a></li> ! 577: <li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8] ! 578: and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a> ! 579: [UTF-16] Unicode encodings, and more if using iconv support</li> ! 580: <li>part of SGML Open Technical Resolution TR9401:1997</li> ! 581: <li>XML Catalogs Working Draft 06 August 2001: <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a></li> ! 582: <li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a> ! 583: and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li> ! 584: <li>Relax NG, ISO/IEC 19757-2:2003, <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li> ! 585: <li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May ! 586: 2001</a></li> ! 587: <li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7 ! 588: April 2004</li> ! 589: </ul> ! 590: <p> As a result the <a href="general.html">libxml2 API</a> is very ! 591: large. If you get lost searching for some specific API use ! 592: <a href="http://xmlsoft.org/search.php">the online search ! 593: engine</a> hosted on <a href="http://xmlsoft.org/">xmlsoft.org</a> ! 594: the libxml2 and libxslt project page. </p> ! 595: </body> ! 596: </html> ! 597: </xsl:document> ! 598: </xsl:template> ! 599: ! 600: </xsl:stylesheet> ! 601: ! 602: