Annotation of embedaddon/libxml2/doc/devhelp/html.xsl, revision 1.1
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:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>