|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
xmlns:exsl="http://exslt.org/common"
|
|
Packit |
423ecb |
xmlns:str="http://exslt.org/strings"
|
|
Packit |
423ecb |
extension-element-prefixes="exsl str"
|
|
Packit |
423ecb |
exclude-result-prefixes="exsl str">
|
|
Packit |
423ecb |
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
be the API one and not the result tree from the tokenize() result,
|
|
Packit |
423ecb |
because the keys are only defined on the main document -->
|
|
Packit |
423ecb |
<xsl:template mode="dumptoken" match='*'>
|
|
Packit |
423ecb |
<xsl:param name="token"/>
|
|
Packit |
423ecb |
<xsl:variable name="ref" select="key('symbols', $token)"/>
|
|
Packit |
423ecb |
<xsl:choose>
|
|
Packit |
423ecb |
<xsl:when test="$ref">
|
|
Packit |
423ecb |
<xsl:value-of select="$token"/>
|
|
Packit |
423ecb |
</xsl:when>
|
|
Packit |
423ecb |
<xsl:otherwise>
|
|
Packit |
423ecb |
<xsl:value-of select="$token"/>
|
|
Packit |
423ecb |
</xsl:otherwise>
|
|
Packit |
423ecb |
</xsl:choose>
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template name="dumptext">
|
|
Packit |
423ecb |
<xsl:param name="text"/>
|
|
Packit |
423ecb |
<xsl:variable name="ctxt" select='.'/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:for-each select="str:tokenize($text, ' ')">
|
|
Packit |
423ecb |
<xsl:apply-templates select="$ctxt" mode='dumptoken'>
|
|
Packit |
423ecb |
<xsl:with-param name="token" select="string(.)"/>
|
|
Packit |
423ecb |
</xsl:apply-templates>
|
|
Packit |
423ecb |
<xsl:if test="position() != last()">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
The following builds the Synopsis section
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
-->
|
|
Packit |
423ecb |
<xsl:template mode="synopsis" match="function">
|
|
Packit |
423ecb |
<xsl:variable name="name" select="string(@name)"/>
|
|
Packit |
423ecb |
<xsl:variable name="nlen" select="string-length($name)"/>
|
|
Packit |
423ecb |
<xsl:variable name="tlen" select="string-length(return/@type)"/>
|
|
Packit |
423ecb |
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="return/@type"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 < -8">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 < 0">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text> (</xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="not(arg)">
|
|
Packit |
423ecb |
<xsl:text>void</xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:for-each select="arg">
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="@type"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="position() != last()">
|
|
Packit |
423ecb |
<xsl:text>, </xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 > 8">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 > 0">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
<xsl:text>);</xsl:text>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template mode="synopsis" match="functype">
|
|
Packit |
423ecb |
<xsl:variable name="name" select="string(@name)"/>
|
|
Packit |
423ecb |
<xsl:variable name="nlen" select="string-length($name)"/>
|
|
Packit |
423ecb |
<xsl:variable name="tlen" select="string-length(return/@type)"/>
|
|
Packit |
423ecb |
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
|
|
Packit |
423ecb |
<xsl:text>typedef </xsl:text>
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="return/@type"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 < -8">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 < 0">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text> (</xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="not(arg)">
|
|
Packit |
423ecb |
<xsl:text>void</xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:for-each select="arg">
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="@type"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="position() != last()">
|
|
Packit |
423ecb |
<xsl:text>, </xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 > 8">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 > 0">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
<xsl:text>);</xsl:text>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template mode="synopsis" match="exports[@type='function']">
|
|
Packit |
423ecb |
<xsl:variable name="def" select="key('symbols',@symbol)"/>
|
|
Packit |
423ecb |
<xsl:apply-templates mode="synopsis" select="$def"/>
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template mode="synopsis" match="exports[@type='typedef']">
|
|
Packit |
423ecb |
<xsl:text>typedef </xsl:text>
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="string(key('symbols',@symbol)/@type)"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@symbol"/>
|
|
Packit |
423ecb |
<xsl:text>;
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template mode="synopsis" match="exports[@type='macro']">
|
|
Packit |
423ecb |
<xsl:variable name="def" select="key('symbols',@symbol)"/>
|
|
Packit |
423ecb |
<xsl:text>#define </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@symbol"/>
|
|
Packit |
423ecb |
<xsl:if test="$def/arg">
|
|
Packit |
423ecb |
<xsl:text>(</xsl:text>
|
|
Packit |
423ecb |
<xsl:for-each select="$def/arg">
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="position() != last()">
|
|
Packit |
423ecb |
<xsl:text>, </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
<xsl:text>)</xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text>;
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
<xsl:template mode="synopsis" match="exports[@type='enum']">
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
<xsl:template mode="synopsis" match="exports[@type='struct']">
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
The following builds the Details section
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
-->
|
|
Packit |
423ecb |
<xsl:template mode="details" match="struct">
|
|
Packit |
423ecb |
<xsl:variable name="name" select="string(@name)"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
Structure <xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:value-of select="@type"/><xsl:text> {
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="not(field)">
|
|
Packit |
423ecb |
<xsl:text>The content of this structure is not made public by the API.
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:for-each select="field">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="@type"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="@info != ''">
|
|
Packit |
423ecb |
<xsl:text> : </xsl:text>
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="substring(@info, 1, 70)"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
<xsl:text>} </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
<xsl:text>;
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template mode="details" match="typedef[@type != 'enum']">
|
|
Packit |
423ecb |
<xsl:variable name="name" select="string(@name)"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
Typedef <xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="string(@type)"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
<xsl:text>;
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template mode="details" match="variable">
|
|
Packit |
423ecb |
<xsl:variable name="name" select="string(@name)"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
Variable <xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="string(@type)"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
<xsl:text>;
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template mode="details" match="typedef[@type = 'enum']">
|
|
Packit |
423ecb |
<xsl:variable name="name" select="string(@name)"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
Enum <xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:text>enum </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
<xsl:text> {
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
<xsl:for-each select="/api/symbols/enum[@type=$name]">
|
|
Packit |
423ecb |
<xsl:sort select="@value" data-type="number" order="ascending"/>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="@value">
|
|
Packit |
423ecb |
<xsl:text> = </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@value"/>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:if test="@info">
|
|
Packit |
423ecb |
<xsl:text> /* </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@info"/>
|
|
Packit |
423ecb |
<xsl:text> */</xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
<xsl:text>};
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template mode="details" match="macro">
|
|
Packit |
423ecb |
<xsl:variable name="name" select="string(@name)"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
Macro <xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:text>#define </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
<xsl:if test="arg">
|
|
Packit |
423ecb |
<xsl:text>(</xsl:text>
|
|
Packit |
423ecb |
<xsl:for-each select="arg">
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="position() != last()">
|
|
Packit |
423ecb |
<xsl:text>, </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
<xsl:text>)</xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text>;
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:if test="arg">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:for-each select="arg">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<tt><xsl:value-of select="@name"/></tt>:
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="@info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template mode="details" match="function">
|
|
Packit |
423ecb |
<xsl:variable name="name" select="string(@name)"/>
|
|
Packit |
423ecb |
<xsl:variable name="nlen" select="string-length($name)"/>
|
|
Packit |
423ecb |
<xsl:variable name="tlen" select="string-length(return/@type)"/>
|
|
Packit |
423ecb |
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:value-of select="$name"/> ()
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="return/@type"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 < -8">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 < 0">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text> (</xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="not(arg)">
|
|
Packit |
423ecb |
<xsl:text>void</xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:for-each select="arg">
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="@type"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="position() != last()">
|
|
Packit |
423ecb |
<xsl:text>, </xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 > 8">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 > 0">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
<xsl:text>)</xsl:text>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="arg | return/@info">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:for-each select="arg">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<tt><xsl:value-of select="@name"/></tt>:
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="@info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
<xsl:if test="return/@info">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<tt>Returns</tt>:
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="return/@info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:template mode="details" match="functype">
|
|
Packit |
423ecb |
<xsl:variable name="name" select="string(@name)"/>
|
|
Packit |
423ecb |
<xsl:variable name="nlen" select="string-length($name)"/>
|
|
Packit |
423ecb |
<xsl:variable name="tlen" select="string-length(return/@type)"/>
|
|
Packit |
423ecb |
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
Function type <xsl:value-of select="$name"/>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="return/@type"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 < -8">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 < 0">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text> (</xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="not(arg)">
|
|
Packit |
423ecb |
<xsl:text>void</xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:for-each select="arg">
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="@type"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/>
|
|
Packit |
423ecb |
<xsl:if test="position() != last()">
|
|
Packit |
423ecb |
<xsl:text>, </xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 > 8">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:if test="$blen - 40 > 0">
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
<xsl:text> </xsl:text>
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
<xsl:text>)</xsl:text>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
<xsl:text>
|
|
Packit |
423ecb |
</xsl:text>
|
|
Packit |
423ecb |
<xsl:if test="arg | return/@info">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:for-each select="arg">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<tt><xsl:value-of select="@name"/></tt>:
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="@info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
<xsl:if test="return/@info">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<tt>Returns</tt>:
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:call-template name="dumptext">
|
|
Packit |
423ecb |
<xsl:with-param name="text" select="return/@info"/>
|
|
Packit |
423ecb |
</xsl:call-template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
The following builds the general.html page
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
-->
|
|
Packit |
423ecb |
<xsl:template name="generate_general">
|
|
Packit |
423ecb |
<xsl:variable name="next" select="string(/api/files/file[position()=1]/@name)"/>
|
|
Packit |
423ecb |
<xsl:document xmlns="" href="general.html" method="xml" indent="yes" encoding="UTF-8">
|
|
Packit |
423ecb |
<html>
|
|
Packit |
423ecb |
<head>
|
|
Packit |
423ecb |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
Packit |
423ecb |
<title><xsl:value-of select="concat(@name, ': ', summary)"/></title>
|
|
Packit |
423ecb |
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
|
|
Packit |
423ecb |
<link rel="start" href="index.html" title="libxml2 Reference Manual"/>
|
|
Packit |
423ecb |
<link rel="up" href="index.html" title="libxml2 Reference Manual"/>
|
|
Packit |
423ecb |
<link rel="stylesheet" href="style.css" type="text/css"/>
|
|
Packit |
423ecb |
<link rel="chapter" href="index.html" title="libxml2 Reference Manual"/>
|
|
Packit |
423ecb |
</head>
|
|
Packit |
423ecb |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:if test="$next != ''">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:if>
|
|
Packit |
423ecb |
libxml2 Reference Manual
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
libxml2 API Modules
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
<xsl:for-each select="/api/files/file">
|
|
Packit |
423ecb |
<xsl:value-of select="@name"/> - <xsl:value-of select="summary"/>
|
|
Packit |
423ecb |
</xsl:for-each>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</body>
|
|
Packit |
423ecb |
</html>
|
|
Packit |
423ecb |
</xsl:document>
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
The following builds the index.html page
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
-->
|
|
Packit |
423ecb |
<xsl:template name="generate_index">
|
|
Packit |
423ecb |
<xsl:document xmlns="" href="index.html" method="xml" indent="yes" encoding="UTF-8">
|
|
Packit |
423ecb |
<html>
|
|
Packit |
423ecb |
<head>
|
|
Packit |
423ecb |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
Packit |
423ecb |
<title>libxml2 Reference Manual</title>
|
|
Packit |
423ecb |
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
|
|
Packit |
423ecb |
<link rel="stylesheet" href="style.css" type="text/css"/>
|
|
Packit |
423ecb |
</head>
|
|
Packit |
423ecb |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
libxml2 Reference Manual
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
libxml2 Reference Manual
|
|
Packit |
423ecb |
Libxml2 is the XML C parser and toolkit developed for the Gnome project
|
|
Packit |
423ecb |
(but usable outside of the Gnome platform), it is free software available
|
|
Packit |
423ecb |
under the MIT
|
|
Packit |
423ecb |
License. XML itself is a metalanguage to design markup languages, i.e.
|
|
Packit |
423ecb |
text language where semantic and structure are added to the content using
|
|
Packit |
423ecb |
extra "markup" information enclosed between angle brackets. HTML is the most
|
|
Packit |
423ecb |
well-known markup language. Though the library is written in C a variety of language bindings make it available in
|
|
Packit |
423ecb |
other environments.
|
|
Packit |
423ecb |
Libxml2 implements a number of existing standards related to markup
|
|
Packit |
423ecb |
languages:
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
Namespaces in XML: http://www.w3.org/TR/REC-xml-names/
|
|
Packit |
423ecb |
XML Base: http://www.w3.org/TR/xmlbase/
|
|
Packit |
423ecb |
RFC 2396 :
|
|
Packit |
423ecb |
Uniform Resource Identifiers http://www.ietf.org/rfc/rfc2396.txt
|
|
Packit |
423ecb |
XML Path Language (XPath) 1.0: http://www.w3.org/TR/xpath
|
|
Packit |
423ecb |
HTML4 parser: http://www.w3.org/TR/html401/
|
|
Packit |
423ecb |
XML Pointer Language (XPointer) Version 1.0: http://www.w3.org/TR/xptr
|
|
Packit |
423ecb |
XML Inclusions (XInclude) Version 1.0: http://www.w3.org/TR/xinclude/
|
|
Packit |
423ecb |
ISO-8859-x encodings, as well as rfc2044 [UTF-8]
|
|
Packit |
423ecb |
and rfc2781
|
|
Packit |
423ecb |
[UTF-16] Unicode encodings, and more if using iconv support
|
|
Packit |
423ecb |
part of SGML Open Technical Resolution TR9401:1997
|
|
Packit |
423ecb |
XML Catalogs Working Draft 06 August 2001: http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
|
|
Packit |
423ecb |
Canonical XML Version 1.0: http://www.w3.org/TR/xml-c14n
|
|
Packit |
423ecb |
and the Exclusive XML Canonicalization CR draft http://www.w3.org/TR/xml-exc-c14n
|
|
Packit |
423ecb |
Relax NG, ISO/IEC 19757-2:2003, http://www.oasis-open.org/committees/relax-ng/spec-20011203.html
|
|
Packit |
423ecb |
W3C XML Schemas Part 2: Datatypes REC 02 May
|
|
Packit |
423ecb |
2001
|
|
Packit |
423ecb |
W3C xml:id Working Draft 7
|
|
Packit |
423ecb |
April 2004
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
As a result the libxml2 API is very
|
|
Packit |
423ecb |
large. If you get lost searching for some specific API use
|
|
Packit |
423ecb |
the online search
|
|
Packit |
423ecb |
engine hosted on xmlsoft.org
|
|
Packit |
423ecb |
the libxml2 and libxslt project page.
|
|
Packit |
423ecb |
</body>
|
|
Packit |
423ecb |
</html>
|
|
Packit |
423ecb |
</xsl:document>
|
|
Packit |
423ecb |
</xsl:template>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
</xsl:stylesheet>
|
|
Packit |
423ecb |
|
|
Packit |
423ecb |
|