1
0
mirror of https://gitlab.gnome.org/GNOME/libxslt synced 2025-07-29 15:41:13 +03:00

Add documentation in devhelp format

This commit is contained in:
Nick Wellnhofer
2022-02-12 23:00:33 +01:00
parent 161b521c5b
commit f2cd40ff39
46 changed files with 6565 additions and 0 deletions

View File

@ -753,6 +753,8 @@ tests/exslt/crypto/Makefile
tests/plugins/Makefile
tests/fuzz/Makefile
doc/Makefile
doc/devhelp/Makefile
doc/EXSLT/devhelp/Makefile
xslt-config
libxslt.spec
])

View File

@ -0,0 +1,38 @@
devhelpdir = $(datadir)/gtk-doc/html/libexslt
dist_devhelp_DATA = \
libexslt.devhelp2 \
$(HTML_FILES) \
$(EXTRA_FORMAT)
HTML_FILES = \
general.html \
index.html \
$(HTML_MODULES)
HTML_MODULES= \
libexslt-exsltexports.html \
libexslt-exslt.html
EXTRA_FORMAT= \
home.png \
left.png \
right.png \
up.png \
style.css
EXTRA_DIST = devhelp2.xsl html.xsl
if REBUILD_DOCS
rebuild: libexslt.devhelp2
.PHONY: rebuild
$(HTML_FILES): libexslt.devhelp2
libexslt.devhelp2: devhelp2.xsl html.xsl $(top_srcdir)/doc/EXSLT/libexslt-api.xml
-@(if [ -x $(XSLTPROC) ] ; then \
echo Rebuilding devhelp2 files ; \
$(XSLTPROC) --nonet -o $(srcdir)/libexslt.devhelp2 $(srcdir)/devhelp2.xsl $(top_srcdir)/doc/EXSLT/libexslt-api.xml ; fi );
endif

View File

@ -0,0 +1,127 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns="http://www.devhelp.net/book"
xmlns:exsl="http://exslt.org/common"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="exsl str"
exclude-result-prefixes="exsl str">
<!-- The stylesheet for the html pages -->
<xsl:import href="html.xsl"/>
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<!-- Build keys for all symbols -->
<xsl:key name="symbols" match="/api/symbols/*" use="@name"/>
<xsl:template match="/api">
<book title="{@name} Reference Manual" link="index.html" author="" name="{@name}">
<xsl:apply-templates select="files"/>
<xsl:apply-templates select="symbols"/>
</book>
<xsl:call-template name="generate_index"/>
<xsl:call-template name="generate_general"/>
</xsl:template>
<xsl:template match="/api/files">
<chapters>
<sub name="API" link="general.html">
<xsl:apply-templates select="file"/>
</sub>
</chapters>
</xsl:template>
<xsl:template match="/api/files/file">
<xsl:variable name="module" select="@name"/>
<xsl:variable name="prev" select="string(preceding-sibling::file[position()=1]/@name)"/>
<xsl:variable name="next" select="string(following-sibling::file[position()=1]/@name)"/>
<sub name="{@name}" link="libexslt-{@name}.html"/>
<xsl:document xmlns="" href="libexslt-{@name}.html" method="xml" indent="yes" encoding="UTF-8">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title><xsl:value-of select="concat(@name, ': ', summary)"/></title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libexslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<xsl:if test="$prev != ''">
<td><a accesskey="p" href="libexslt-{$prev}.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"/></a></td>
</xsl:if>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"/></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
<xsl:if test="$next != ''">
<td><a accesskey="n" href="libexslt-{$next}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
</xsl:if>
<th width="100%" align="center">libexslt Reference Manual</th>
</tr>
</table>
<h2><span class="refentrytitle"><xsl:value-of select="@name"/></span></h2>
<p><xsl:value-of select="@name"/> - <xsl:value-of select="summary"/></p>
<p><xsl:value-of select="description"/></p>
<xsl:if test="deprecated">
<p> WARNING: this module is deprecated !</p>
</xsl:if>
<p>Author(s): <xsl:value-of select="author"/></p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
<xsl:apply-templates mode="synopsis" select="exports"/>
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<xsl:apply-templates mode="details" select="/api/symbols/macro[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/typedef[@file=$module] | /api/symbols/struct[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/functype[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/variable[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/function[@file=$module]"/>
</div>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
<xsl:template match="/api/symbols">
<functions>
<xsl:apply-templates select="macro"/>
<xsl:apply-templates select="enum"/>
<xsl:apply-templates select="typedef"/>
<xsl:apply-templates select="struct"/>
<xsl:apply-templates select="functype"/>
<xsl:apply-templates select="variable"/>
<xsl:apply-templates select="function"/>
</functions>
</xsl:template>
<xsl:template match="/api/symbols/functype">
<keyword type="function" name="{@name}" link="libexslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/function">
<keyword type="function" name="{@name} ()" link="libexslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/typedef">
<keyword type="typedef" name="{@name}" link="libexslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/enum">
<keyword type="enum" name="{@name}" link="libexslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/struct">
<keyword type="struct" name="{@name}" link="libexslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/macro">
<keyword type="macro" name="{@name}" link="libexslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/variable">
<keyword type="macro" name="{@name}" link="libexslt-{@file}.html#{@name}"/>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>libexslt: </title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libexslt Reference Manual"/>
<link rel="up" href="index.html" title="libexslt Reference Manual"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="index.html" title="libexslt Reference Manual"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="u" href="index.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libexslt-exslt.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libexslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">libexslt API Modules</span>
</h2>
<p><a href="libexslt-exslt.html">exslt</a> - main header file <br/><a href="libexslt-exsltexports.html">exsltexports</a> - macros for marking symbols as exportable/importable. <br/></p>
</body>
</html>

BIN
doc/EXSLT/devhelp/home.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

569
doc/EXSLT/devhelp/html.xsl Normal file
View File

@ -0,0 +1,569 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:exsl="http://exslt.org/common"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="exsl str"
exclude-result-prefixes="exsl str">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<!-- This is convoluted but needed to force the current document to
be the API one and not the result tree from the tokenize() result,
because the keys are only defined on the main document -->
<xsl:template mode="dumptoken" match='*'>
<xsl:param name="token"/>
<xsl:variable name="ref" select="key('symbols', $token)"/>
<xsl:choose>
<xsl:when test="$ref">
<a href="libexslt-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$token"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- dumps a string, making cross-reference links -->
<xsl:template name="dumptext">
<xsl:param name="text"/>
<xsl:variable name="ctxt" select='.'/>
<!-- <xsl:value-of select="$text"/> -->
<xsl:for-each select="str:tokenize($text, ' &#9;')">
<xsl:apply-templates select="$ctxt" mode='dumptoken'>
<xsl:with-param name="token" select="string(.)"/>
</xsl:apply-templates>
<xsl:if test="position() != last()">
<xsl:text> </xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
<!--
The following builds the Synopsis section
-->
<xsl:template mode="synopsis" match="function">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<a href="#{@name}"><xsl:value-of select="@name"/></a>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>);</xsl:text>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="functype">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<xsl:text>typedef </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<a href="#{@name}"><xsl:value-of select="@name"/></a>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>);</xsl:text>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='function']">
<xsl:variable name="def" select="key('symbols',@symbol)"/>
<xsl:apply-templates mode="synopsis" select="$def"/>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='typedef']">
<xsl:text>typedef </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="string(key('symbols',@symbol)/@type)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<a href="#{@symbol}"><xsl:value-of select="@symbol"/></a>
<xsl:text>;
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='macro']">
<xsl:variable name="def" select="key('symbols',@symbol)"/>
<xsl:text>#define </xsl:text>
<a href="#{@symbol}"><xsl:value-of select="@symbol"/></a>
<xsl:if test="$def/arg">
<xsl:text>(</xsl:text>
<xsl:for-each select="$def/arg">
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:text>;
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='enum']">
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='struct']">
</xsl:template>
<!--
The following builds the Details section
-->
<xsl:template mode="details" match="struct">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Structure </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:value-of select="@type"/><xsl:text> {
</xsl:text>
<xsl:if test="not(field)">
<xsl:text>The content of this structure is not made public by the API.
</xsl:text>
</xsl:if>
<xsl:for-each select="field">
<xsl:text> </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="@info != ''">
<xsl:text>&#9;: </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="substring(@info, 1, 70)"/>
</xsl:call-template>
</xsl:if>
<xsl:text>
</xsl:text>
</xsl:for-each>
<xsl:text>} </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="typedef[@type != 'enum']">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Typedef </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="string(@type)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="variable">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Variable </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="string(@type)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="typedef[@type = 'enum']">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Enum </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:text>enum </xsl:text>
<a href="#{$name}"><xsl:value-of select="$name"/></a>
<xsl:text> {
</xsl:text>
<xsl:for-each select="/api/symbols/enum[@type=$name]">
<xsl:sort select="@value" data-type="number" order="ascending"/>
<xsl:text> </xsl:text>
<a name="{@name}"><xsl:value-of select="@name"/></a>
<xsl:if test="@value">
<xsl:text> = </xsl:text>
<xsl:value-of select="@value"/>
</xsl:if>
<xsl:if test="@info">
<xsl:text> /* </xsl:text>
<xsl:value-of select="@info"/>
<xsl:text> */</xsl:text>
</xsl:if>
<xsl:text>
</xsl:text>
</xsl:for-each>
<xsl:text>};
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="macro">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Macro </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:text>#define </xsl:text>
<a href="#{$name}"><xsl:value-of select="$name"/></a>
<xsl:if test="arg">
<xsl:text>(</xsl:text>
<xsl:for-each select="arg">
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p>
<xsl:if test="arg">
<div class="variablelist"><table border="0"><col align="left"/><tbody>
<xsl:for-each select="arg">
<tr>
<td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
</tbody></table></div>
</xsl:if>
<xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="function">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}"></a><xsl:value-of select="$name"/> ()</h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text><br/>
<xsl:text>
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
<xsl:if test="arg | return/@info">
<div class="variablelist"><table border="0"><col align="left"/><tbody>
<xsl:for-each select="arg">
<tr>
<td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
<xsl:if test="return/@info">
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:if>
</tbody></table></div>
</xsl:if>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="functype">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}"></a>Function type <xsl:value-of select="$name"/> </h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text><br/>
<xsl:text>
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
<xsl:if test="arg | return/@info">
<div class="variablelist"><table border="0"><col align="left"/><tbody>
<xsl:for-each select="arg">
<tr>
<td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
<xsl:if test="return/@info">
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:if>
</tbody></table></div>
</xsl:if>
</div><hr/>
</xsl:template>
<!--
The following builds the general.html page
-->
<xsl:template name="generate_general">
<xsl:variable name="next" select="string(/api/files/file[position()=1]/@name)"/>
<xsl:document xmlns="" href="general.html" method="xml" indent="yes" encoding="UTF-8">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title><xsl:value-of select="concat(@name, ': ', summary)"/></title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libexslt Reference Manual"/>
<link rel="up" href="index.html" title="libexslt Reference Manual"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="index.html" title="libexslt Reference Manual"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"/></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
<xsl:if test="$next != ''">
<td><a accesskey="n" href="libexslt-{$next}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
</xsl:if>
<th width="100%" align="center">libexslt Reference Manual</th>
</tr>
</table>
<h2><span class="refentrytitle">libexslt API Modules</span></h2>
<p>
<xsl:for-each select="/api/files/file">
<a href="libexslt-{@name}.html"><xsl:value-of select="@name"/></a> - <xsl:value-of select="summary"/><br/>
</xsl:for-each>
</p>
</body>
</html>
</xsl:document>
</xsl:template>
<!--
The following builds the index.html page
-->
<xsl:template name="generate_index">
<xsl:document xmlns="" href="index.html" method="xml" indent="yes" encoding="UTF-8">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>libexslt Reference Manual</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
<td><a accesskey="n" href="general.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
<th width="100%" align="center">libexslt Reference Manual</th>
</tr>
</table>
<h2><span class="refentrytitle">libexslt Reference Manual</span></h2>
<p>Libexslt is the <a href="http://www.exslt.org">EXSLT</a> C library
developed for libexslt (a part of the Gnome project). Much of the
initial work on the library was done by Thomas Broyer. EXSLT itself
is a community initiative to provide extensions to XSLT.</p>
</body>
</html>
</xsl:document>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>libexslt Reference Manual</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="general.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libexslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">libexslt Reference Manual</span>
</h2>
<p>Libexslt is the <a href="http://www.exslt.org">EXSLT</a> C library
developed for libexslt (a part of the Gnome project). Much of the
initial work on the library was done by Thomas Broyer. EXSLT itself
is a community initiative to provide extensions to XSLT.</p>
</body>
</html>

BIN
doc/EXSLT/devhelp/left.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

View File

@ -0,0 +1,183 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>exslt: main header file </title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libexslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libexslt-exsltexports.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libexslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">exslt</span>
</h2>
<p>exslt - main header file </p>
<p/>
<p>Author(s): </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#EXSLT_DATE_NAMESPACE">EXSLT_DATE_NAMESPACE</a>;
#define <a href="#EXSLT_STRINGS_NAMESPACE">EXSLT_STRINGS_NAMESPACE</a>;
#define <a href="#SAXON_NAMESPACE">SAXON_NAMESPACE</a>;
#define <a href="#EXSLT_COMMON_NAMESPACE">EXSLT_COMMON_NAMESPACE</a>;
#define <a href="#EXSLT_FUNCTIONS_NAMESPACE">EXSLT_FUNCTIONS_NAMESPACE</a>;
#define <a href="#EXSLT_SETS_NAMESPACE">EXSLT_SETS_NAMESPACE</a>;
#define <a href="#EXSLT_DYNAMIC_NAMESPACE">EXSLT_DYNAMIC_NAMESPACE</a>;
#define <a href="#EXSLT_CRYPTO_NAMESPACE">EXSLT_CRYPTO_NAMESPACE</a>;
#define <a href="#EXSLT_MATH_NAMESPACE">EXSLT_MATH_NAMESPACE</a>;
void <a href="#exsltDynRegister">exsltDynRegister</a> (void);
void <a href="#exsltCommonRegister">exsltCommonRegister</a> (void);
void <a href="#exsltRegisterAll">exsltRegisterAll</a> (void);
int <a href="#exsltStrXpathCtxtRegister">exsltStrXpathCtxtRegister</a> (xmlXPathContextPtr ctxt, <br/> const xmlChar * prefix);
int <a href="#exsltSetsXpathCtxtRegister">exsltSetsXpathCtxtRegister</a> (xmlXPathContextPtr ctxt, <br/> const xmlChar * prefix);
void <a href="#exsltFuncRegister">exsltFuncRegister</a> (void);
void <a href="#exsltStrRegister">exsltStrRegister</a> (void);
void <a href="#exsltSetsRegister">exsltSetsRegister</a> (void);
void <a href="#exsltDateRegister">exsltDateRegister</a> (void);
void <a href="#exsltCryptoRegister">exsltCryptoRegister</a> (void);
void <a href="#exsltMathRegister">exsltMathRegister</a> (void);
int <a href="#exsltMathXpathCtxtRegister">exsltMathXpathCtxtRegister</a> (xmlXPathContextPtr ctxt, <br/> const xmlChar * prefix);
void <a href="#exsltSaxonRegister">exsltSaxonRegister</a> (void);
int <a href="#exsltDateXpathCtxtRegister">exsltDateXpathCtxtRegister</a> (xmlXPathContextPtr ctxt, <br/> const xmlChar * prefix);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="EXSLT_COMMON_NAMESPACE">Macro </a>EXSLT_COMMON_NAMESPACE</h3><pre class="programlisting">#define <a href="#EXSLT_COMMON_NAMESPACE">EXSLT_COMMON_NAMESPACE</a>;
</pre><p>Namespace for EXSLT common functions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="EXSLT_CRYPTO_NAMESPACE">Macro </a>EXSLT_CRYPTO_NAMESPACE</h3><pre class="programlisting">#define <a href="#EXSLT_CRYPTO_NAMESPACE">EXSLT_CRYPTO_NAMESPACE</a>;
</pre><p>Namespace for EXSLT crypto functions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="EXSLT_DATE_NAMESPACE">Macro </a>EXSLT_DATE_NAMESPACE</h3><pre class="programlisting">#define <a href="#EXSLT_DATE_NAMESPACE">EXSLT_DATE_NAMESPACE</a>;
</pre><p>Namespace for EXSLT date functions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="EXSLT_DYNAMIC_NAMESPACE">Macro </a>EXSLT_DYNAMIC_NAMESPACE</h3><pre class="programlisting">#define <a href="#EXSLT_DYNAMIC_NAMESPACE">EXSLT_DYNAMIC_NAMESPACE</a>;
</pre><p>Namespace for EXSLT dynamic functions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="EXSLT_FUNCTIONS_NAMESPACE">Macro </a>EXSLT_FUNCTIONS_NAMESPACE</h3><pre class="programlisting">#define <a href="#EXSLT_FUNCTIONS_NAMESPACE">EXSLT_FUNCTIONS_NAMESPACE</a>;
</pre><p>Namespace for EXSLT functions extension functions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="EXSLT_MATH_NAMESPACE">Macro </a>EXSLT_MATH_NAMESPACE</h3><pre class="programlisting">#define <a href="#EXSLT_MATH_NAMESPACE">EXSLT_MATH_NAMESPACE</a>;
</pre><p>Namespace for EXSLT math functions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="EXSLT_SETS_NAMESPACE">Macro </a>EXSLT_SETS_NAMESPACE</h3><pre class="programlisting">#define <a href="#EXSLT_SETS_NAMESPACE">EXSLT_SETS_NAMESPACE</a>;
</pre><p>Namespace for EXSLT set functions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="EXSLT_STRINGS_NAMESPACE">Macro </a>EXSLT_STRINGS_NAMESPACE</h3><pre class="programlisting">#define <a href="#EXSLT_STRINGS_NAMESPACE">EXSLT_STRINGS_NAMESPACE</a>;
</pre><p>Namespace for EXSLT strings functions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="SAXON_NAMESPACE">Macro </a>SAXON_NAMESPACE</h3><pre class="programlisting">#define <a href="#SAXON_NAMESPACE">SAXON_NAMESPACE</a>;
</pre><p>Namespace for SAXON extensions functions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltLibexsltVersion">Variable </a>exsltLibexsltVersion</h3><pre class="programlisting">const int exsltLibexsltVersion;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltLibraryVersion">Variable </a>exsltLibraryVersion</h3><pre class="programlisting">const char * exsltLibraryVersion;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltLibxmlVersion">Variable </a>exsltLibxmlVersion</h3><pre class="programlisting">const int exsltLibxmlVersion;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltLibxsltVersion">Variable </a>exsltLibxsltVersion</h3><pre class="programlisting">const int exsltLibxsltVersion;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltCommonRegister"/>exsltCommonRegister ()</h3><pre class="programlisting">void exsltCommonRegister (void)<br/>
</pre><p>Registers the EXSLT - Common module</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltCryptoRegister"/>exsltCryptoRegister ()</h3><pre class="programlisting">void exsltCryptoRegister (void)<br/>
</pre><p>Registers the EXSLT - Crypto module</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltDateRegister"/>exsltDateRegister ()</h3><pre class="programlisting">void exsltDateRegister (void)<br/>
</pre><p>Registers the EXSLT - Dates and Times module</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltDateXpathCtxtRegister"/>exsltDateXpathCtxtRegister ()</h3><pre class="programlisting">int exsltDateXpathCtxtRegister (xmlXPathContextPtr ctxt, <br/> const xmlChar * prefix)<br/>
</pre><p>Registers the EXSLT - Dates and Times module for use outside XSLT</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltDynRegister"/>exsltDynRegister ()</h3><pre class="programlisting">void exsltDynRegister (void)<br/>
</pre><p>Registers the EXSLT - Dynamic module</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltFuncRegister"/>exsltFuncRegister ()</h3><pre class="programlisting">void exsltFuncRegister (void)<br/>
</pre><p>Registers the EXSLT - Functions module</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltMathRegister"/>exsltMathRegister ()</h3><pre class="programlisting">void exsltMathRegister (void)<br/>
</pre><p>Registers the EXSLT - Math module</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltMathXpathCtxtRegister"/>exsltMathXpathCtxtRegister ()</h3><pre class="programlisting">int exsltMathXpathCtxtRegister (xmlXPathContextPtr ctxt, <br/> const xmlChar * prefix)<br/>
</pre><p>Registers the EXSLT - Math module for use outside XSLT</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltRegisterAll"/>exsltRegisterAll ()</h3><pre class="programlisting">void exsltRegisterAll (void)<br/>
</pre><p>Registers all available EXSLT extensions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltSaxonRegister"/>exsltSaxonRegister ()</h3><pre class="programlisting">void exsltSaxonRegister (void)<br/>
</pre><p>Registers the SAXON extension module</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltSetsRegister"/>exsltSetsRegister ()</h3><pre class="programlisting">void exsltSetsRegister (void)<br/>
</pre><p>Registers the EXSLT - Sets module</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltSetsXpathCtxtRegister"/>exsltSetsXpathCtxtRegister ()</h3><pre class="programlisting">int exsltSetsXpathCtxtRegister (xmlXPathContextPtr ctxt, <br/> const xmlChar * prefix)<br/>
</pre><p>Registers the EXSLT - Sets module for use outside XSLT</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltStrRegister"/>exsltStrRegister ()</h3><pre class="programlisting">void exsltStrRegister (void)<br/>
</pre><p>Registers the EXSLT - Strings module</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="exsltStrXpathCtxtRegister"/>exsltStrXpathCtxtRegister ()</h3><pre class="programlisting">int exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt, <br/> const xmlChar * prefix)<br/>
</pre><p>Registers the EXSLT - Strings module for use outside XSLT</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>exsltexports: macros for marking symbols as exportable/importable. </title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libexslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libexslt-exslt.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<th width="100%" align="center">libexslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">exsltexports</span>
</h2>
<p>exsltexports - macros for marking symbols as exportable/importable. </p>
<p/>
<p>Author(s): Igor Zlatkovic &lt;igor@zlatkovic.com&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#LIBEXSLT_PUBLIC">LIBEXSLT_PUBLIC</a>;
#define <a href="#_REENTRANT">_REENTRANT</a>;
#define <a href="#EXSLTCALL">EXSLTCALL</a>;
#define <a href="#EXSLTPUBFUN">EXSLTPUBFUN</a>;
#define <a href="#EXSLTPUBVAR">EXSLTPUBVAR</a>;
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="EXSLTCALL">Macro </a>EXSLTCALL</h3><pre class="programlisting">#define <a href="#EXSLTCALL">EXSLTCALL</a>;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="EXSLTPUBFUN">Macro </a>EXSLTPUBFUN</h3><pre class="programlisting">#define <a href="#EXSLTPUBFUN">EXSLTPUBFUN</a>;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="EXSLTPUBVAR">Macro </a>EXSLTPUBVAR</h3><pre class="programlisting">#define <a href="#EXSLTPUBVAR">EXSLTPUBVAR</a>;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="LIBEXSLT_PUBLIC">Macro </a>LIBEXSLT_PUBLIC</h3><pre class="programlisting">#define <a href="#LIBEXSLT_PUBLIC">LIBEXSLT_PUBLIC</a>;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="_REENTRANT">Macro </a>_REENTRANT</h3><pre class="programlisting">#define <a href="#_REENTRANT">_REENTRANT</a>;
</pre><p/>
</div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<book xmlns="http://www.devhelp.net/book" title="libexslt Reference Manual" link="index.html" author="" name="libexslt">
<chapters>
<sub name="API" link="general.html">
<sub name="exslt" link="libexslt-exslt.html"/>
<sub name="exsltexports" link="libexslt-exsltexports.html"/>
</sub>
</chapters>
<functions>
<keyword type="macro" name="EXSLTCALL" link="libexslt-exsltexports.html#EXSLTCALL"/>
<keyword type="macro" name="EXSLTPUBFUN" link="libexslt-exsltexports.html#EXSLTPUBFUN"/>
<keyword type="macro" name="EXSLTPUBVAR" link="libexslt-exsltexports.html#EXSLTPUBVAR"/>
<keyword type="macro" name="EXSLT_COMMON_NAMESPACE" link="libexslt-exslt.html#EXSLT_COMMON_NAMESPACE"/>
<keyword type="macro" name="EXSLT_CRYPTO_NAMESPACE" link="libexslt-exslt.html#EXSLT_CRYPTO_NAMESPACE"/>
<keyword type="macro" name="EXSLT_DATE_NAMESPACE" link="libexslt-exslt.html#EXSLT_DATE_NAMESPACE"/>
<keyword type="macro" name="EXSLT_DYNAMIC_NAMESPACE" link="libexslt-exslt.html#EXSLT_DYNAMIC_NAMESPACE"/>
<keyword type="macro" name="EXSLT_FUNCTIONS_NAMESPACE" link="libexslt-exslt.html#EXSLT_FUNCTIONS_NAMESPACE"/>
<keyword type="macro" name="EXSLT_MATH_NAMESPACE" link="libexslt-exslt.html#EXSLT_MATH_NAMESPACE"/>
<keyword type="macro" name="EXSLT_SETS_NAMESPACE" link="libexslt-exslt.html#EXSLT_SETS_NAMESPACE"/>
<keyword type="macro" name="EXSLT_STRINGS_NAMESPACE" link="libexslt-exslt.html#EXSLT_STRINGS_NAMESPACE"/>
<keyword type="macro" name="LIBEXSLT_PUBLIC" link="libexslt-exsltexports.html#LIBEXSLT_PUBLIC"/>
<keyword type="macro" name="SAXON_NAMESPACE" link="libexslt-exslt.html#SAXON_NAMESPACE"/>
<keyword type="macro" name="_REENTRANT" link="libexslt-exsltexports.html#_REENTRANT"/>
<keyword type="macro" name="exsltLibexsltVersion" link="libexslt-exslt.html#exsltLibexsltVersion"/>
<keyword type="macro" name="exsltLibraryVersion" link="libexslt-exslt.html#exsltLibraryVersion"/>
<keyword type="macro" name="exsltLibxmlVersion" link="libexslt-exslt.html#exsltLibxmlVersion"/>
<keyword type="macro" name="exsltLibxsltVersion" link="libexslt-exslt.html#exsltLibxsltVersion"/>
<keyword type="function" name="exsltCommonRegister ()" link="libexslt-exslt.html#exsltCommonRegister"/>
<keyword type="function" name="exsltCryptoRegister ()" link="libexslt-exslt.html#exsltCryptoRegister"/>
<keyword type="function" name="exsltDateRegister ()" link="libexslt-exslt.html#exsltDateRegister"/>
<keyword type="function" name="exsltDateXpathCtxtRegister ()" link="libexslt-exslt.html#exsltDateXpathCtxtRegister"/>
<keyword type="function" name="exsltDynRegister ()" link="libexslt-exslt.html#exsltDynRegister"/>
<keyword type="function" name="exsltFuncRegister ()" link="libexslt-exslt.html#exsltFuncRegister"/>
<keyword type="function" name="exsltMathRegister ()" link="libexslt-exslt.html#exsltMathRegister"/>
<keyword type="function" name="exsltMathXpathCtxtRegister ()" link="libexslt-exslt.html#exsltMathXpathCtxtRegister"/>
<keyword type="function" name="exsltRegisterAll ()" link="libexslt-exslt.html#exsltRegisterAll"/>
<keyword type="function" name="exsltSaxonRegister ()" link="libexslt-exslt.html#exsltSaxonRegister"/>
<keyword type="function" name="exsltSetsRegister ()" link="libexslt-exslt.html#exsltSetsRegister"/>
<keyword type="function" name="exsltSetsXpathCtxtRegister ()" link="libexslt-exslt.html#exsltSetsXpathCtxtRegister"/>
<keyword type="function" name="exsltStrRegister ()" link="libexslt-exslt.html#exsltStrRegister"/>
<keyword type="function" name="exsltStrXpathCtxtRegister ()" link="libexslt-exslt.html#exsltStrXpathCtxtRegister"/>
</functions>
</book>

BIN
doc/EXSLT/devhelp/right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 B

View File

@ -0,0 +1,66 @@
.synopsis, .classsynopsis
{
background: #eeeeee;
border: solid 1px #aaaaaa;
padding: 0.5em;
}
.programlisting
{
background: #eeeeff;
border: solid 1px #aaaaff;
padding: 0.5em;
}
.variablelist
{
padding: 4px;
margin-left: 3em;
}
.variablelist td:first-child
{
vertical-align: top;
}
table.navigation
{
background: #ffeeee;
border: solid 1px #ffaaaa;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.navigation a
{
color: #770000;
}
.navigation a:visited
{
color: #550000;
}
.navigation .title
{
font-size: 200%;
}
div.refnamediv
{
margin-top: 2em;
}
div.gallery-float
{
float: left;
padding: 10px;
}
div.gallery-float img
{
border-style: none;
}
div.gallery-spacer
{
clear: both;
}
a
{
text-decoration: none;
}
a:hover
{
text-decoration: underline;
color: #FF0000;
}

BIN
doc/EXSLT/devhelp/up.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

View File

@ -1,5 +1,7 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = devhelp EXSLT/devhelp
# The top-level SGML file.
DOC_MAIN_XML_FILE=libxslt.xml

56
doc/devhelp/Makefile.am Normal file
View File

@ -0,0 +1,56 @@
devhelpdir = $(datadir)/gtk-doc/html/libxslt
dist_devhelp_DATA = \
libxslt.devhelp2 \
$(HTML_FILES) \
$(EXTRA_FORMAT)
HTML_FILES = \
general.html \
index.html \
$(HTML_MODULES)
HTML_MODULES= \
libxslt-attributes.html \
libxslt-documents.html \
libxslt-extensions.html \
libxslt-extra.html \
libxslt-functions.html \
libxslt-imports.html \
libxslt-keys.html \
libxslt-namespaces.html \
libxslt-numbersInternals.html \
libxslt-pattern.html \
libxslt-preproc.html \
libxslt-security.html \
libxslt-templates.html \
libxslt-transform.html \
libxslt-variables.html \
libxslt-xsltexports.html \
libxslt-xslt.html \
libxslt-xsltInternals.html \
libxslt-xsltlocale.html \
libxslt-xsltutils.html
EXTRA_FORMAT= \
home.png \
left.png \
right.png \
up.png \
style.css
EXTRA_DIST = devhelp2.xsl html.xsl
if REBUILD_DOCS
rebuild: libxslt.devhelp2
.PHONY: rebuild
$(HTML_FILES): libxslt.devhelp2
libxslt.devhelp2: devhelp2.xsl html.xsl $(top_srcdir)/doc/libxslt-api.xml
-@(if [ -x $(XSLTPROC) ] ; then \
echo Rebuilding devhelp2 files ; \
$(XSLTPROC) --nonet -o $(srcdir)/libxslt.devhelp2 $(srcdir)/devhelp2.xsl $(top_srcdir)/doc/libxslt-api.xml ; fi );
endif

127
doc/devhelp/devhelp2.xsl Normal file
View File

@ -0,0 +1,127 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns="http://www.devhelp.net/book"
xmlns:exsl="http://exslt.org/common"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="exsl str"
exclude-result-prefixes="exsl str">
<!-- The stylesheet for the html pages -->
<xsl:import href="html.xsl"/>
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<!-- Build keys for all symbols -->
<xsl:key name="symbols" match="/api/symbols/*" use="@name"/>
<xsl:template match="/api">
<book title="{@name} Reference Manual" link="index.html" author="" name="{@name}">
<xsl:apply-templates select="files"/>
<xsl:apply-templates select="symbols"/>
</book>
<xsl:call-template name="generate_index"/>
<xsl:call-template name="generate_general"/>
</xsl:template>
<xsl:template match="/api/files">
<chapters>
<sub name="API" link="general.html">
<xsl:apply-templates select="file"/>
</sub>
</chapters>
</xsl:template>
<xsl:template match="/api/files/file">
<xsl:variable name="module" select="@name"/>
<xsl:variable name="prev" select="string(preceding-sibling::file[position()=1]/@name)"/>
<xsl:variable name="next" select="string(following-sibling::file[position()=1]/@name)"/>
<sub name="{@name}" link="libxslt-{@name}.html"/>
<xsl:document xmlns="" href="libxslt-{@name}.html" method="xml" indent="yes" encoding="UTF-8">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title><xsl:value-of select="concat(@name, ': ', summary)"/></title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<xsl:if test="$prev != ''">
<td><a accesskey="p" href="libxslt-{$prev}.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"/></a></td>
</xsl:if>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"/></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
<xsl:if test="$next != ''">
<td><a accesskey="n" href="libxslt-{$next}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
</xsl:if>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2><span class="refentrytitle"><xsl:value-of select="@name"/></span></h2>
<p><xsl:value-of select="@name"/> - <xsl:value-of select="summary"/></p>
<p><xsl:value-of select="description"/></p>
<xsl:if test="deprecated">
<p> WARNING: this module is deprecated !</p>
</xsl:if>
<p>Author(s): <xsl:value-of select="author"/></p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
<xsl:apply-templates mode="synopsis" select="exports"/>
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<xsl:apply-templates mode="details" select="/api/symbols/macro[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/typedef[@file=$module] | /api/symbols/struct[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/functype[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/variable[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/function[@file=$module]"/>
</div>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
<xsl:template match="/api/symbols">
<functions>
<xsl:apply-templates select="macro"/>
<xsl:apply-templates select="enum"/>
<xsl:apply-templates select="typedef"/>
<xsl:apply-templates select="struct"/>
<xsl:apply-templates select="functype"/>
<xsl:apply-templates select="variable"/>
<xsl:apply-templates select="function"/>
</functions>
</xsl:template>
<xsl:template match="/api/symbols/functype">
<keyword type="function" name="{@name}" link="libxslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/function">
<keyword type="function" name="{@name} ()" link="libxslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/typedef">
<keyword type="typedef" name="{@name}" link="libxslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/enum">
<keyword type="enum" name="{@name}" link="libxslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/struct">
<keyword type="struct" name="{@name}" link="libxslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/macro">
<keyword type="macro" name="{@name}" link="libxslt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/variable">
<keyword type="macro" name="{@name}" link="libxslt-{@file}.html#{@name}"/>
</xsl:template>
</xsl:stylesheet>

38
doc/devhelp/general.html Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>libxslt: </title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="index.html" title="libxslt Reference Manual"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="index.html" title="libxslt Reference Manual"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="u" href="index.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-attributes.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">libxslt API Modules</span>
</h2>
<p><a href="libxslt-attributes.html">attributes</a> - interface for the XSLT attribute handling<br/><a href="libxslt-documents.html">documents</a> - interface for the document handling<br/><a href="libxslt-extensions.html">extensions</a> - interface for the extension support<br/><a href="libxslt-extra.html">extra</a> - interface for the non-standard features<br/><a href="libxslt-functions.html">functions</a> - interface for the XSLT functions not from XPath<br/><a href="libxslt-imports.html">imports</a> - interface for the XSLT import support<br/><a href="libxslt-keys.html">keys</a> - interface for the key matching used in key() and template matches.<br/><a href="libxslt-namespaces.html">namespaces</a> - interface for the XSLT namespace handling<br/><a href="libxslt-numbersInternals.html">numbersInternals</a> - Implementation of the XSLT number functions<br/><a href="libxslt-pattern.html">pattern</a> - interface for the pattern matching used in template matches.<br/><a href="libxslt-preproc.html">preproc</a> - precomputing stylesheets<br/><a href="libxslt-security.html">security</a> - interface for the libxslt security framework<br/><a href="libxslt-templates.html">templates</a> - interface for the template processing<br/><a href="libxslt-transform.html">transform</a> - the XSLT engine transformation part.<br/><a href="libxslt-variables.html">variables</a> - interface for the variable matching and lookup.<br/><a href="libxslt-xslt.html">xslt</a> - Interfaces, constants and types related to the XSLT engine<br/><a href="libxslt-xsltInternals.html">xsltInternals</a> - internal data structures, constants and functions<br/><a href="libxslt-xsltexports.html">xsltexports</a> - macros for marking symbols as exportable/importable.<br/><a href="libxslt-xsltlocale.html">xsltlocale</a> - Locale handling<br/><a href="libxslt-xsltutils.html">xsltutils</a> - set of utilities for the XSLT engine<br/></p>
</body>
</html>

BIN
doc/devhelp/home.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

572
doc/devhelp/html.xsl Normal file
View File

@ -0,0 +1,572 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:exsl="http://exslt.org/common"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="exsl str"
exclude-result-prefixes="exsl str">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<!-- This is convoluted but needed to force the current document to
be the API one and not the result tree from the tokenize() result,
because the keys are only defined on the main document -->
<xsl:template mode="dumptoken" match='*'>
<xsl:param name="token"/>
<xsl:variable name="ref" select="key('symbols', $token)"/>
<xsl:choose>
<xsl:when test="$ref">
<a href="libxslt-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$token"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- dumps a string, making cross-reference links -->
<xsl:template name="dumptext">
<xsl:param name="text"/>
<xsl:variable name="ctxt" select='.'/>
<!-- <xsl:value-of select="$text"/> -->
<xsl:for-each select="str:tokenize($text, ' &#9;')">
<xsl:apply-templates select="$ctxt" mode='dumptoken'>
<xsl:with-param name="token" select="string(.)"/>
</xsl:apply-templates>
<xsl:if test="position() != last()">
<xsl:text> </xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
<!--
The following builds the Synopsis section
-->
<xsl:template mode="synopsis" match="function">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<a href="#{@name}"><xsl:value-of select="@name"/></a>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>);</xsl:text>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="functype">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<xsl:text>typedef </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<a href="#{@name}"><xsl:value-of select="@name"/></a>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>);</xsl:text>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='function']">
<xsl:variable name="def" select="key('symbols',@symbol)"/>
<xsl:apply-templates mode="synopsis" select="$def"/>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='typedef']">
<xsl:text>typedef </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="string(key('symbols',@symbol)/@type)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<a href="#{@symbol}"><xsl:value-of select="@symbol"/></a>
<xsl:text>;
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='macro']">
<xsl:variable name="def" select="key('symbols',@symbol)"/>
<xsl:text>#define </xsl:text>
<a href="#{@symbol}"><xsl:value-of select="@symbol"/></a>
<xsl:if test="$def/arg">
<xsl:text>(</xsl:text>
<xsl:for-each select="$def/arg">
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:text>;
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='enum']">
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='struct']">
</xsl:template>
<!--
The following builds the Details section
-->
<xsl:template mode="details" match="struct">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Structure </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:value-of select="@type"/><xsl:text> {
</xsl:text>
<xsl:if test="not(field)">
<xsl:text>The content of this structure is not made public by the API.
</xsl:text>
</xsl:if>
<xsl:for-each select="field">
<xsl:text> </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="@info != ''">
<xsl:text>&#9;: </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="substring(@info, 1, 70)"/>
</xsl:call-template>
</xsl:if>
<xsl:text>
</xsl:text>
</xsl:for-each>
<xsl:text>} </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="typedef[@type != 'enum']">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Typedef </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="string(@type)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="variable">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Variable </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="string(@type)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="typedef[@type = 'enum']">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Enum </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:text>enum </xsl:text>
<a href="#{$name}"><xsl:value-of select="$name"/></a>
<xsl:text> {
</xsl:text>
<xsl:for-each select="/api/symbols/enum[@type=$name]">
<xsl:sort select="@value" data-type="number" order="ascending"/>
<xsl:text> </xsl:text>
<a name="{@name}"><xsl:value-of select="@name"/></a>
<xsl:if test="@value">
<xsl:text> = </xsl:text>
<xsl:value-of select="@value"/>
</xsl:if>
<xsl:if test="@info">
<xsl:text> /* </xsl:text>
<xsl:value-of select="@info"/>
<xsl:text> */</xsl:text>
</xsl:if>
<xsl:text>
</xsl:text>
</xsl:for-each>
<xsl:text>};
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="macro">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Macro </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:text>#define </xsl:text>
<a href="#{$name}"><xsl:value-of select="$name"/></a>
<xsl:if test="arg">
<xsl:text>(</xsl:text>
<xsl:for-each select="arg">
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p>
<xsl:if test="arg">
<div class="variablelist"><table border="0"><col align="left"/><tbody>
<xsl:for-each select="arg">
<tr>
<td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
</tbody></table></div>
</xsl:if>
<xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="function">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}"></a><xsl:value-of select="$name"/> ()</h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text><br/>
<xsl:text>
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
<xsl:if test="arg | return/@info">
<div class="variablelist"><table border="0"><col align="left"/><tbody>
<xsl:for-each select="arg">
<tr>
<td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
<xsl:if test="return/@info">
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:if>
</tbody></table></div>
</xsl:if>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="functype">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}"></a>Function type <xsl:value-of select="$name"/> </h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text><br/>
<xsl:text>
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
<xsl:if test="arg | return/@info">
<div class="variablelist"><table border="0"><col align="left"/><tbody>
<xsl:for-each select="arg">
<tr>
<td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
<xsl:if test="return/@info">
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:if>
</tbody></table></div>
</xsl:if>
</div><hr/>
</xsl:template>
<!--
The following builds the general.html page
-->
<xsl:template name="generate_general">
<xsl:variable name="next" select="string(/api/files/file[position()=1]/@name)"/>
<xsl:document xmlns="" href="general.html" method="xml" indent="yes" encoding="UTF-8">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title><xsl:value-of select="concat(@name, ': ', summary)"/></title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="index.html" title="libxslt Reference Manual"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="index.html" title="libxslt Reference Manual"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"/></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
<xsl:if test="$next != ''">
<td><a accesskey="n" href="libxslt-{$next}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
</xsl:if>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2><span class="refentrytitle">libxslt API Modules</span></h2>
<p>
<xsl:for-each select="/api/files/file">
<a href="libxslt-{@name}.html"><xsl:value-of select="@name"/></a> - <xsl:value-of select="summary"/><br/>
</xsl:for-each>
</p>
</body>
</html>
</xsl:document>
</xsl:template>
<!--
The following builds the index.html page
-->
<xsl:template name="generate_index">
<xsl:document xmlns="" href="index.html" method="xml" indent="yes" encoding="UTF-8">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>libxslt Reference Manual</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
<td><a accesskey="n" href="general.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2><span class="refentrytitle">libxslt Reference Manual</span></h2>
<p>libxslt is the <a href="http://www.w3.org/TR/xslt">XSLT</a> C library
developed for the GNOME project. XSLT itself is a an XML language to define
transformation for XML. Libxslt is based on <a
href="https://gitlab.gnome.org/GNOME/libxml2/">libxml2</a> the XML C library developed for the
GNOME project. It also implements most of the <a
href="http://www.exslt.org/">EXSLT</a> set of processor-portable extensions
functions and some of Saxon's evaluate and expressions extensions.</p>
</body>
</html>
</xsl:document>
</xsl:template>
</xsl:stylesheet>

34
doc/devhelp/index.html Normal file
View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>libxslt Reference Manual</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="general.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">libxslt Reference Manual</span>
</h2>
<p>libxslt is the <a href="http://www.w3.org/TR/xslt">XSLT</a> C library
developed for the GNOME project. XSLT itself is a an XML language to define
transformation for XML. Libxslt is based on <a href="https://gitlab.gnome.org/GNOME/libxml2/">libxml2</a> the XML C library developed for the
GNOME project. It also implements most of the <a href="http://www.exslt.org/">EXSLT</a> set of processor-portable extensions
functions and some of Saxon's evaluate and expressions extensions.</p>
</body>
</html>

BIN
doc/devhelp/left.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>attributes: interface for the XSLT attribute handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-documents.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">attributes</span>
</h2>
<p>attributes - interface for the XSLT attribute handling</p>
<p>this module handles the specificities of attribute and attribute groups processing. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">void <a href="#xsltResolveStylesheetAttributeSet">xsltResolveStylesheetAttributeSet</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
void <a href="#xsltParseStylesheetAttributeSet">xsltParseStylesheetAttributeSet</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr cur);
void <a href="#xsltApplyAttributeSet">xsltApplyAttributeSet</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> const xmlChar * attrSets);
void <a href="#xsltFreeAttributeSetsHashes">xsltFreeAttributeSetsHashes</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="xsltApplyAttributeSet"/>xsltApplyAttributeSet ()</h3><pre class="programlisting">void xsltApplyAttributeSet (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> const xmlChar * attrSets)<br/>
</pre><p>Apply the xsl:use-attribute-sets. If @attrSets is NULL, then @inst will be used to exctract this value. If both, @attrSets and @inst, are NULL, then this will do nothing.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node in the source tree.</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the attribute node "xsl:use-attribute-sets"</td></tr><tr><td><span class="term"><i><tt>attrSets</tt></i>:</span></td><td>the list of QNames of the attribute-sets to be applied</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeAttributeSetsHashes"/>xsltFreeAttributeSetsHashes ()</h3><pre class="programlisting">void xsltFreeAttributeSetsHashes (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Free up the memory used by attribute sets</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetAttributeSet"/>xsltParseStylesheetAttributeSet ()</h3><pre class="programlisting">void xsltParseStylesheetAttributeSet (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr cur)<br/>
</pre><p>parse an XSLT stylesheet attribute-set element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the "attribute-set" element</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltResolveStylesheetAttributeSet"/>xsltResolveStylesheetAttributeSet ()</h3><pre class="programlisting">void xsltResolveStylesheetAttributeSet (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>resolve the references between attribute sets.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>documents: interface for the document handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-attributes.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-extensions.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">documents</span>
</h2>
<p>documents - interface for the document handling</p>
<p>implements document loading and cache (multiple document() reference for the same resources must be equal. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xsltLoadType">xsltLoadType</a>;
void <a href="#xsltFreeStyleDocuments">xsltFreeStyleDocuments</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
typedef xmlDocPtr <a href="#xsltDocLoaderFunc">xsltDocLoaderFunc</a> (const xmlChar * URI, <br/> xmlDictPtr dict, <br/> int options, <br/> void * ctxt, <br/> <a href="libxslt-documents.html#xsltLoadType">xsltLoadType</a> type);
<a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> <a href="#xsltLoadDocument">xsltLoadDocument</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URI);
<a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> <a href="#xsltNewStyleDocument">xsltNewStyleDocument</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc);
void <a href="#xsltSetLoaderFunc">xsltSetLoaderFunc</a> (<a href="libxslt-documents.html#xsltDocLoaderFunc">xsltDocLoaderFunc</a> f);
void <a href="#xsltFreeDocuments">xsltFreeDocuments</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
<a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> <a href="#xsltNewDocument">xsltNewDocument</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlDocPtr doc);
<a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> <a href="#xsltLoadStyleDocument">xsltLoadStyleDocument</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI);
<a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> <a href="#xsltFindDocument">xsltFindDocument</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlDocPtr doc);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="xsltLoadType">Enum </a>xsltLoadType</h3><pre class="programlisting">enum <a href="#xsltLoadType">xsltLoadType</a> {
<a name="XSLT_LOAD_START">XSLT_LOAD_START</a> = 0 /* loading for a top stylesheet */
<a name="XSLT_LOAD_STYLESHEET">XSLT_LOAD_STYLESHEET</a> = 1 /* loading for a stylesheet include/import */
<a name="XSLT_LOAD_DOCUMENT">XSLT_LOAD_DOCUMENT</a> = 2 /* loading document at transformation time */
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDocLoaderFunc"/>Function type xsltDocLoaderFunc</h3><pre class="programlisting">xmlDocPtr xsltDocLoaderFunc (const xmlChar * URI, <br/> xmlDictPtr dict, <br/> int options, <br/> void * ctxt, <br/> <a href="libxslt-documents.html#xsltLoadType">xsltLoadType</a> type)<br/>
</pre><p>An <a href="libxslt-documents.html#xsltDocLoaderFunc">xsltDocLoaderFunc</a> is a signature for a function which can be registered to load document not provided by the compilation or transformation API themselve, for example when an xsl:import, xsl:include is found at compilation time or when a document() call is made at runtime.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI of the document to load</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary to use when parsing that document</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>parsing options, a set of xmlParserOption</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context, either a stylesheet or a transformation context</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the <a href="libxslt-documents.html#xsltLoadType">xsltLoadType</a> indicating the kind of loading required</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the document (which will be modified and freed by the engine later), or NULL in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDocDefaultLoader">Variable </a>xsltDocDefaultLoader</h3><pre class="programlisting"><a href="libxslt-documents.html#xsltDocLoaderFunc">xsltDocLoaderFunc</a> xsltDocDefaultLoader;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFindDocument"/>xsltFindDocument ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> xsltFindDocument (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlDocPtr doc)<br/>
</pre><p>Try to find a document within the XSLT transformation context. This will not find document infos for temporary Result Tree Fragments.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the desired <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeDocuments"/>xsltFreeDocuments ()</h3><pre class="programlisting">void xsltFreeDocuments (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Free up all the space used by the loaded documents</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeStyleDocuments"/>xsltFreeStyleDocuments ()</h3><pre class="programlisting">void xsltFreeStyleDocuments (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Frees the node-trees (and <a href="libxslt-xsltInternals.html#xsltDocument">xsltDocument</a> structures) of all stylesheet-modules of the stylesheet-level represented by the given @style.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet (representing a stylesheet-level)</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltLoadDocument"/>xsltLoadDocument ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> xsltLoadDocument (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URI)<br/>
</pre><p>Try to load a document (not a stylesheet) within the XSLT transformation context</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the computed URI of the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltLoadStyleDocument"/>xsltLoadStyleDocument ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> xsltLoadStyleDocument (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI)<br/>
</pre><p>Try to load a stylesheet document within the XSLT transformation context</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT style sheet</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the computed URI of the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNewDocument"/>xsltNewDocument ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> xsltNewDocument (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlDocPtr doc)<br/>
</pre><p>Register a new document, apply key computations</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context (or NULL)</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a handler to the document</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNewStyleDocument"/>xsltNewStyleDocument ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> xsltNewStyleDocument (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc)<br/>
</pre><p>Register a new document, apply key computations</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT style sheet</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a handler to the document</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetLoaderFunc"/>xsltSetLoaderFunc ()</h3><pre class="programlisting">void xsltSetLoaderFunc (<a href="libxslt-documents.html#xsltDocLoaderFunc">xsltDocLoaderFunc</a> f)<br/>
</pre><p>Set the new function to load document, if NULL it resets it to the default function.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the new function to handle document loading.</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,262 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>extensions: interface for the extension support</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-documents.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-extra.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">extensions</span>
</h2>
<p>extensions - interface for the extension support</p>
<p>This provide the API needed for simple and module extension support. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">int <a href="#xsltRegisterExtFunction">xsltRegisterExtFunction</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * URI, <br/> xmlXPathFunction function);
int <a href="#xsltRegisterExtModuleElement">xsltRegisterExtModuleElement</a> (const xmlChar * name, <br/> const xmlChar * URI, <br/> <a href="libxslt-extensions.html#xsltPreComputeFunction">xsltPreComputeFunction</a> precomp, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> transform);
int <a href="#xsltInitCtxtExts">xsltInitCtxtExts</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
void * <a href="#xsltGetExtData">xsltGetExtData</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URI);
void * <a href="#xsltStyleGetExtData">xsltStyleGetExtData</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI);
typedef void * <a href="#xsltStyleExtInitFunction">xsltStyleExtInitFunction</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI);
void <a href="#xsltInitGlobals">xsltInitGlobals</a> (void);
void <a href="#xsltShutdownExts">xsltShutdownExts</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
<a href="libxslt-extensions.html#xsltPreComputeFunction">xsltPreComputeFunction</a> <a href="#xsltExtModuleElementPreComputeLookup">xsltExtModuleElementPreComputeLookup</a> (const xmlChar * name, <br/> const xmlChar * URI);
void <a href="#xsltRegisterTestModule">xsltRegisterTestModule</a> (void);
void * <a href="#xsltStyleStylesheetLevelGetExtData">xsltStyleStylesheetLevelGetExtData</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI);
<a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> <a href="#xsltExtModuleElementLookup">xsltExtModuleElementLookup</a> (const xmlChar * name, <br/> const xmlChar * URI);
typedef void <a href="#xsltStyleExtShutdownFunction">xsltStyleExtShutdownFunction</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI, <br/> void * data);
void <a href="#xsltInitElemPreComp">xsltInitElemPreComp</a> (<a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> function, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompDeallocator">xsltElemPreCompDeallocator</a> freeFunc);
void <a href="#xsltDebugDumpExtensions">xsltDebugDumpExtensions</a> (FILE * output);
xmlHashTablePtr <a href="#xsltGetExtInfo">xsltGetExtInfo</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI);
<a href="libxslt-extensions.html#xsltTopLevelFunction">xsltTopLevelFunction</a> <a href="#xsltExtModuleTopLevelLookup">xsltExtModuleTopLevelLookup</a> (const xmlChar * name, <br/> const xmlChar * URI);
void <a href="#xsltFreeExts">xsltFreeExts</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
int <a href="#xsltCheckExtURI">xsltCheckExtURI</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI);
xmlXPathFunction <a href="#xsltExtModuleFunctionLookup">xsltExtModuleFunctionLookup</a> (const xmlChar * name, <br/> const xmlChar * URI);
<a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> <a href="#xsltPreComputeExtModuleElement">xsltPreComputeExtModuleElement</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst);
int <a href="#xsltRegisterExtModuleTopLevel">xsltRegisterExtModuleTopLevel</a> (const xmlChar * name, <br/> const xmlChar * URI, <br/> <a href="libxslt-extensions.html#xsltTopLevelFunction">xsltTopLevelFunction</a> function);
typedef <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> <a href="#xsltPreComputeFunction">xsltPreComputeFunction</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> function);
typedef void <a href="#xsltTopLevelFunction">xsltTopLevelFunction</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst);
void <a href="#xsltShutdownCtxtExts">xsltShutdownCtxtExts</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> <a href="#xsltXPathGetTransformContext">xsltXPathGetTransformContext</a> (xmlXPathParserContextPtr ctxt);
int <a href="#xsltRegisterExtElement">xsltRegisterExtElement</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * URI, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> function);
typedef void * <a href="#xsltExtInitFunction">xsltExtInitFunction</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URI);
void <a href="#xsltFreeCtxtExts">xsltFreeCtxtExts</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
int <a href="#xsltUnregisterExtModule">xsltUnregisterExtModule</a> (const xmlChar * URI);
int <a href="#xsltRegisterExtModuleFull">xsltRegisterExtModuleFull</a> (const xmlChar * URI, <br/> <a href="libxslt-extensions.html#xsltExtInitFunction">xsltExtInitFunction</a> initFunc, <br/> <a href="libxslt-extensions.html#xsltExtShutdownFunction">xsltExtShutdownFunction</a> shutdownFunc, <br/> <a href="libxslt-extensions.html#xsltStyleExtInitFunction">xsltStyleExtInitFunction</a> styleInitFunc, <br/> <a href="libxslt-extensions.html#xsltStyleExtShutdownFunction">xsltStyleExtShutdownFunction</a> styleShutdownFunc);
int <a href="#xsltUnregisterExtModuleTopLevel">xsltUnregisterExtModuleTopLevel</a> (const xmlChar * name, <br/> const xmlChar * URI);
<a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> <a href="#xsltNewElemPreComp">xsltNewElemPreComp</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> function);
int <a href="#xsltUnregisterExtModuleElement">xsltUnregisterExtModuleElement</a> (const xmlChar * name, <br/> const xmlChar * URI);
int <a href="#xsltUnregisterExtModuleFunction">xsltUnregisterExtModuleFunction</a> (const xmlChar * name, <br/> const xmlChar * URI);
int <a href="#xsltCheckExtPrefix">xsltCheckExtPrefix</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI);
int <a href="#xsltRegisterExtModule">xsltRegisterExtModule</a> (const xmlChar * URI, <br/> <a href="libxslt-extensions.html#xsltExtInitFunction">xsltExtInitFunction</a> initFunc, <br/> <a href="libxslt-extensions.html#xsltExtShutdownFunction">xsltExtShutdownFunction</a> shutdownFunc);
<a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> <a href="#xsltExtElementLookup">xsltExtElementLookup</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * URI);
int <a href="#xsltRegisterExtModuleFunction">xsltRegisterExtModuleFunction</a> (const xmlChar * name, <br/> const xmlChar * URI, <br/> xmlXPathFunction function);
int <a href="#xsltRegisterExtPrefix">xsltRegisterExtPrefix</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * prefix, <br/> const xmlChar * URI);
typedef void <a href="#xsltExtShutdownFunction">xsltExtShutdownFunction</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URI, <br/> void * data);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="xsltExtInitFunction"/>Function type xsltExtInitFunction</h3><pre class="programlisting">void * xsltExtInitFunction (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URI)<br/>
</pre><p>A function called at initialization time of an XSLT extension module.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the namespace URI for the extension</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the module specific data for this transformation.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltExtShutdownFunction"/>Function type xsltExtShutdownFunction</h3><pre class="programlisting">void xsltExtShutdownFunction (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URI, <br/> void * data)<br/>
</pre><p>A function called at shutdown time of an XSLT extension module.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the namespace URI for the extension</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data associated to this module</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltPreComputeFunction"/>Function type xsltPreComputeFunction</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> xsltPreComputeFunction (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> function)<br/>
</pre><p/>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>function</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltStyleExtInitFunction"/>Function type xsltStyleExtInitFunction</h3><pre class="programlisting">void * xsltStyleExtInitFunction (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI)<br/>
</pre><p>A function called at initialization time of an XSLT extension module.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the namespace URI for the extension</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the module specific data for this transformation.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltStyleExtShutdownFunction"/>Function type xsltStyleExtShutdownFunction</h3><pre class="programlisting">void xsltStyleExtShutdownFunction (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI, <br/> void * data)<br/>
</pre><p>A function called at shutdown time of an XSLT extension module.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the namespace URI for the extension</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data associated to this module</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltTopLevelFunction"/>Function type xsltTopLevelFunction</h3><pre class="programlisting">void xsltTopLevelFunction (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst)<br/>
</pre><p/>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCheckExtPrefix"/>xsltCheckExtPrefix ()</h3><pre class="programlisting">int xsltCheckExtPrefix (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI)<br/>
</pre><p>Check if the given prefix is one of the declared extensions. This is intended to be called only at compile-time. Called by: xsltGetInheritedNsList() (xslt.c) <a href="libxslt-xsltInternals.html#xsltParseTemplateContent">xsltParseTemplateContent</a> (xslt.c)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the namespace prefix (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if this is an extension, 0 otherwise</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCheckExtURI"/>xsltCheckExtURI ()</h3><pre class="programlisting">int xsltCheckExtURI (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI)<br/>
</pre><p>Check if the given prefix is one of the declared extensions. This is intended to be called only at compile-time. Called by: xsltPrecomputeStylesheet() (xslt.c) <a href="libxslt-xsltInternals.html#xsltParseTemplateContent">xsltParseTemplateContent</a> (xslt.c)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the namespace URI (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if this is an extension, 0 otherwise</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDebugDumpExtensions"/>xsltDebugDumpExtensions ()</h3><pre class="programlisting">void xsltDebugDumpExtensions (FILE * output)<br/>
</pre><p>Dumps a list of the registered XSLT extension functions and elements</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output, if NULL stdout is used</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltExtElementLookup"/>xsltExtElementLookup ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> xsltExtElementLookup (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * URI)<br/>
</pre><p>Looks up an extension element. @ctxt can be NULL to search only in module elements.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT process context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the element callback or NULL if not found</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltExtModuleElementLookup"/>xsltExtModuleElementLookup ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> xsltExtModuleElementLookup (const xmlChar * name, <br/> const xmlChar * URI)<br/>
</pre><p>Looks up an extension module element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the callback function if found, NULL otherwise.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltExtModuleElementPreComputeLookup"/>xsltExtModuleElementPreComputeLookup ()</h3><pre class="programlisting"><a href="libxslt-extensions.html#xsltPreComputeFunction">xsltPreComputeFunction</a> xsltExtModuleElementPreComputeLookup (const xmlChar * name, <br/> const xmlChar * URI)<br/>
</pre><p>Looks up an extension module element pre-computation function</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the callback function if found, NULL otherwise.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltExtModuleFunctionLookup"/>xsltExtModuleFunctionLookup ()</h3><pre class="programlisting">xmlXPathFunction xsltExtModuleFunctionLookup (const xmlChar * name, <br/> const xmlChar * URI)<br/>
</pre><p>Looks up an extension module function</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the function namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the function if found, NULL otherwise.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltExtModuleTopLevelLookup"/>xsltExtModuleTopLevelLookup ()</h3><pre class="programlisting"><a href="libxslt-extensions.html#xsltTopLevelFunction">xsltTopLevelFunction</a> xsltExtModuleTopLevelLookup (const xmlChar * name, <br/> const xmlChar * URI)<br/>
</pre><p>Looks up an extension module top-level element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the top-level element name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the top-level element namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the callback function if found, NULL otherwise.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeCtxtExts"/>xsltFreeCtxtExts ()</h3><pre class="programlisting">void xsltFreeCtxtExts (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Free the XSLT extension data</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeExts"/>xsltFreeExts ()</h3><pre class="programlisting">void xsltFreeExts (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Free up the memory used by XSLT extensions in a stylesheet</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetExtData"/>xsltGetExtData ()</h3><pre class="programlisting">void * xsltGetExtData (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URI)<br/>
</pre><p>Retrieve the data associated to the extension module in this given transformation.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI associated to the exension module</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer or NULL if not present</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetExtInfo"/>xsltGetExtInfo ()</h3><pre class="programlisting">xmlHashTablePtr xsltGetExtInfo (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI)<br/>
</pre><p>looks up URI in extInfos of the stylesheet</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>pointer to a stylesheet</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the namespace URI desired</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the hash table if found, else NULL</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltInitCtxtExts"/>xsltInitCtxtExts ()</h3><pre class="programlisting">int xsltInitCtxtExts (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Initialize the set of modules with registered stylesheet data</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of modules initialized or -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltInitElemPreComp"/>xsltInitElemPreComp ()</h3><pre class="programlisting">void xsltInitElemPreComp (<a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> function, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompDeallocator">xsltElemPreCompDeallocator</a> freeFunc)<br/>
</pre><p>Initializes an existing #xsltElemPreComp structure. This is usefull when extending an #xsltElemPreComp to store precomputed data. This function MUST be called on any extension element precomputed data struct.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>an #xsltElemPreComp (or generally a derived structure)</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the element node</td></tr><tr><td><span class="term"><i><tt>function</tt></i>:</span></td><td>the transform function</td></tr><tr><td><span class="term"><i><tt>freeFunc</tt></i>:</span></td><td>the @comp deallocator</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltInitGlobals"/>xsltInitGlobals ()</h3><pre class="programlisting">void xsltInitGlobals (void)<br/>
</pre><p>Initialize the global variables for extensions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNewElemPreComp"/>xsltNewElemPreComp ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> xsltNewElemPreComp (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> function)<br/>
</pre><p>Creates and initializes an #xsltElemPreComp</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the element node</td></tr><tr><td><span class="term"><i><tt>function</tt></i>:</span></td><td>the transform function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new and initialized #xsltElemPreComp</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltPreComputeExtModuleElement"/>xsltPreComputeExtModuleElement ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> xsltPreComputeExtModuleElement (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst)<br/>
</pre><p>Precomputes an extension module element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the element node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the precomputed data</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterExtElement"/>xsltRegisterExtElement ()</h3><pre class="programlisting">int xsltRegisterExtElement (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * URI, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> function)<br/>
</pre><p>Registers an extension element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the element</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI associated to the element</td></tr><tr><td><span class="term"><i><tt>function</tt></i>:</span></td><td>the actual implementation which should be called</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterExtFunction"/>xsltRegisterExtFunction ()</h3><pre class="programlisting">int xsltRegisterExtFunction (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * URI, <br/> xmlXPathFunction function)<br/>
</pre><p>Registers an extension function</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the element</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI associated to the element</td></tr><tr><td><span class="term"><i><tt>function</tt></i>:</span></td><td>the actual implementation which should be called</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterExtModule"/>xsltRegisterExtModule ()</h3><pre class="programlisting">int xsltRegisterExtModule (const xmlChar * URI, <br/> <a href="libxslt-extensions.html#xsltExtInitFunction">xsltExtInitFunction</a> initFunc, <br/> <a href="libxslt-extensions.html#xsltExtShutdownFunction">xsltExtShutdownFunction</a> shutdownFunc)<br/>
</pre><p>Register an XSLT extension module to the library.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>URI associated to this module</td></tr><tr><td><span class="term"><i><tt>initFunc</tt></i>:</span></td><td>the module initialization function</td></tr><tr><td><span class="term"><i><tt>shutdownFunc</tt></i>:</span></td><td>the module shutdown function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if sucessful, -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterExtModuleElement"/>xsltRegisterExtModuleElement ()</h3><pre class="programlisting">int xsltRegisterExtModuleElement (const xmlChar * name, <br/> const xmlChar * URI, <br/> <a href="libxslt-extensions.html#xsltPreComputeFunction">xsltPreComputeFunction</a> precomp, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> transform)<br/>
</pre><p>Registers an extension module element.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace URI</td></tr><tr><td><span class="term"><i><tt>precomp</tt></i>:</span></td><td>the pre-computation callback</td></tr><tr><td><span class="term"><i><tt>transform</tt></i>:</span></td><td>the transformation callback</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterExtModuleFull"/>xsltRegisterExtModuleFull ()</h3><pre class="programlisting">int xsltRegisterExtModuleFull (const xmlChar * URI, <br/> <a href="libxslt-extensions.html#xsltExtInitFunction">xsltExtInitFunction</a> initFunc, <br/> <a href="libxslt-extensions.html#xsltExtShutdownFunction">xsltExtShutdownFunction</a> shutdownFunc, <br/> <a href="libxslt-extensions.html#xsltStyleExtInitFunction">xsltStyleExtInitFunction</a> styleInitFunc, <br/> <a href="libxslt-extensions.html#xsltStyleExtShutdownFunction">xsltStyleExtShutdownFunction</a> styleShutdownFunc)<br/>
</pre><p>Register an XSLT extension module to the library.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>URI associated to this module</td></tr><tr><td><span class="term"><i><tt>initFunc</tt></i>:</span></td><td>the module initialization function</td></tr><tr><td><span class="term"><i><tt>shutdownFunc</tt></i>:</span></td><td>the module shutdown function</td></tr><tr><td><span class="term"><i><tt>styleInitFunc</tt></i>:</span></td><td>the module initialization function</td></tr><tr><td><span class="term"><i><tt>styleShutdownFunc</tt></i>:</span></td><td>the module shutdown function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if sucessful, -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterExtModuleFunction"/>xsltRegisterExtModuleFunction ()</h3><pre class="programlisting">int xsltRegisterExtModuleFunction (const xmlChar * name, <br/> const xmlChar * URI, <br/> xmlXPathFunction function)<br/>
</pre><p>Registers an extension module function.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the function namespace URI</td></tr><tr><td><span class="term"><i><tt>function</tt></i>:</span></td><td>the function callback</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterExtModuleTopLevel"/>xsltRegisterExtModuleTopLevel ()</h3><pre class="programlisting">int xsltRegisterExtModuleTopLevel (const xmlChar * name, <br/> const xmlChar * URI, <br/> <a href="libxslt-extensions.html#xsltTopLevelFunction">xsltTopLevelFunction</a> function)<br/>
</pre><p>Registers an extension module top-level element.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the top-level element name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the top-level element namespace URI</td></tr><tr><td><span class="term"><i><tt>function</tt></i>:</span></td><td>the top-level element callback</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterExtPrefix"/>xsltRegisterExtPrefix ()</h3><pre class="programlisting">int xsltRegisterExtPrefix (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * prefix, <br/> const xmlChar * URI)<br/>
</pre><p>Registers an extension namespace This is called from xslt.c during compile-time. The given prefix is not needed. Called by: xsltParseExtElemPrefixes() (new function) xsltRegisterExtPrefix() (old function)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix used (optional)</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI associated to the extension</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, 1 if the @URI was already registered as an extension namespace and -1 in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterTestModule"/>xsltRegisterTestModule ()</h3><pre class="programlisting">void xsltRegisterTestModule (void)<br/>
</pre><p>Registers the test module</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltShutdownCtxtExts"/>xsltShutdownCtxtExts ()</h3><pre class="programlisting">void xsltShutdownCtxtExts (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Shutdown the set of modules loaded</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltShutdownExts"/>xsltShutdownExts ()</h3><pre class="programlisting">void xsltShutdownExts (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Shutdown the set of modules loaded</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltStyleGetExtData"/>xsltStyleGetExtData ()</h3><pre class="programlisting">void * xsltStyleGetExtData (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI)<br/>
</pre><p>Retrieve the data associated to the extension module in this given stylesheet. Called by: xsltRegisterExtPrefix(), ( xsltExtElementPreCompTest(), xsltExtInitTest )</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI associated to the exension module</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer or NULL if not present</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltStyleStylesheetLevelGetExtData"/>xsltStyleStylesheetLevelGetExtData ()</h3><pre class="programlisting">void * xsltStyleStylesheetLevelGetExtData (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * URI)<br/>
</pre><p>Retrieve the data associated to the extension module in this given stylesheet.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI associated to the exension module</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer or NULL if not present</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltUnregisterExtModule"/>xsltUnregisterExtModule ()</h3><pre class="programlisting">int xsltUnregisterExtModule (const xmlChar * URI)<br/>
</pre><p>Unregister an XSLT extension module from the library.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>URI associated to this module</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if sucessful, -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltUnregisterExtModuleElement"/>xsltUnregisterExtModuleElement ()</h3><pre class="programlisting">int xsltUnregisterExtModuleElement (const xmlChar * name, <br/> const xmlChar * URI)<br/>
</pre><p>Unregisters an extension module element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltUnregisterExtModuleFunction"/>xsltUnregisterExtModuleFunction ()</h3><pre class="programlisting">int xsltUnregisterExtModuleFunction (const xmlChar * name, <br/> const xmlChar * URI)<br/>
</pre><p>Unregisters an extension module function</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the function namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltUnregisterExtModuleTopLevel"/>xsltUnregisterExtModuleTopLevel ()</h3><pre class="programlisting">int xsltUnregisterExtModuleTopLevel (const xmlChar * name, <br/> const xmlChar * URI)<br/>
</pre><p>Unregisters an extension module top-level element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the top-level element name</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the top-level element namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltXPathGetTransformContext"/>xsltXPathGetTransformContext ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> xsltXPathGetTransformContext (xmlXPathParserContextPtr ctxt)<br/>
</pre><p>Provides the XSLT transformation context from the XPath transformation context. This is useful when an XPath function in the extension module is called by the XPath interpreter and that the XSLT context is needed for example to retrieve the associated data pertaining to this XSLT transformation.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath transformation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XSLT transformation context or NULL in case of error.</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>extra: interface for the non-standard features</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-extensions.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-functions.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">extra</span>
</h2>
<p>extra - interface for the non-standard features</p>
<p>implement some extension outside the XSLT namespace but not EXSLT with is in a different library. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XSLT_XT_NAMESPACE">XSLT_XT_NAMESPACE</a>;
#define <a href="#XSLT_XALAN_NAMESPACE">XSLT_XALAN_NAMESPACE</a>;
#define <a href="#XSLT_SAXON_NAMESPACE">XSLT_SAXON_NAMESPACE</a>;
#define <a href="#XSLT_LIBXSLT_NAMESPACE">XSLT_LIBXSLT_NAMESPACE</a>;
void <a href="#xsltFunctionNodeSet">xsltFunctionNodeSet</a> (xmlXPathParserContextPtr ctxt, <br/> int nargs);
void <a href="#xsltRegisterExtras">xsltRegisterExtras</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
void <a href="#xsltDebug">xsltDebug</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);
void <a href="#xsltRegisterAllExtras">xsltRegisterAllExtras</a> (void);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="XSLT_LIBXSLT_NAMESPACE">Macro </a>XSLT_LIBXSLT_NAMESPACE</h3><pre class="programlisting">#define <a href="#XSLT_LIBXSLT_NAMESPACE">XSLT_LIBXSLT_NAMESPACE</a>;
</pre><p>This is the libxslt namespace for specific extensions.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_SAXON_NAMESPACE">Macro </a>XSLT_SAXON_NAMESPACE</h3><pre class="programlisting">#define <a href="#XSLT_SAXON_NAMESPACE">XSLT_SAXON_NAMESPACE</a>;
</pre><p>This is Michael Kay's Saxon processor namespace for extensions.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_XALAN_NAMESPACE">Macro </a>XSLT_XALAN_NAMESPACE</h3><pre class="programlisting">#define <a href="#XSLT_XALAN_NAMESPACE">XSLT_XALAN_NAMESPACE</a>;
</pre><p>This is the Apache project XALAN processor namespace for extensions.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_XT_NAMESPACE">Macro </a>XSLT_XT_NAMESPACE</h3><pre class="programlisting">#define <a href="#XSLT_XT_NAMESPACE">XSLT_XT_NAMESPACE</a>;
</pre><p>This is James Clark's XT processor namespace for extensions.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDebug"/>xsltDebug ()</h3><pre class="programlisting">void xsltDebug (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)<br/>
</pre><p>Process an debug node</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT processing context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>The current node</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the instruction in the stylesheet</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>precomputed information</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFunctionNodeSet"/>xsltFunctionNodeSet ()</h3><pre class="programlisting">void xsltFunctionNodeSet (xmlXPathParserContextPtr ctxt, <br/> int nargs)<br/>
</pre><p>Implement the node-set() XSLT function node-set node-set(result-tree) This function is available in libxslt, saxon or xt namespace.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterAllExtras"/>xsltRegisterAllExtras ()</h3><pre class="programlisting">void xsltRegisterAllExtras (void)<br/>
</pre><p>Registers the built-in extensions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterExtras"/>xsltRegisterExtras ()</h3><pre class="programlisting">void xsltRegisterExtras (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Registers the built-in extensions. This function is deprecated, use <a href="libxslt-extra.html#xsltRegisterAllExtras">xsltRegisterAllExtras</a> instead.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>functions: interface for the XSLT functions not from XPath</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-extra.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-imports.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">functions</span>
</h2>
<p>functions - interface for the XSLT functions not from XPath</p>
<p>a set of extra functions coming from XSLT but not in XPath </p>
<p>Author(s): Daniel Veillard and Bjorn Reese &lt;breese@users.sourceforge.net&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XSLT_REGISTER_FUNCTION_LOOKUP">XSLT_REGISTER_FUNCTION_LOOKUP</a>;
xmlXPathFunction <a href="#xsltXPathFunctionLookup">xsltXPathFunctionLookup</a> (void * vctxt, <br/> const xmlChar * name, <br/> const xmlChar * ns_uri);
void <a href="#xsltFunctionAvailableFunction">xsltFunctionAvailableFunction</a> (xmlXPathParserContextPtr ctxt, <br/> int nargs);
void <a href="#xsltFormatNumberFunction">xsltFormatNumberFunction</a> (xmlXPathParserContextPtr ctxt, <br/> int nargs);
void <a href="#xsltRegisterAllFunctions">xsltRegisterAllFunctions</a> (xmlXPathContextPtr ctxt);
void <a href="#xsltKeyFunction">xsltKeyFunction</a> (xmlXPathParserContextPtr ctxt, <br/> int nargs);
void <a href="#xsltUnparsedEntityURIFunction">xsltUnparsedEntityURIFunction</a> (xmlXPathParserContextPtr ctxt, <br/> int nargs);
void <a href="#xsltDocumentFunction">xsltDocumentFunction</a> (xmlXPathParserContextPtr ctxt, <br/> int nargs);
void <a href="#xsltSystemPropertyFunction">xsltSystemPropertyFunction</a> (xmlXPathParserContextPtr ctxt, <br/> int nargs);
void <a href="#xsltElementAvailableFunction">xsltElementAvailableFunction</a> (xmlXPathParserContextPtr ctxt, <br/> int nargs);
void <a href="#xsltGenerateIdFunction">xsltGenerateIdFunction</a> (xmlXPathParserContextPtr ctxt, <br/> int nargs);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="XSLT_REGISTER_FUNCTION_LOOKUP">Macro </a>XSLT_REGISTER_FUNCTION_LOOKUP</h3><pre class="programlisting">#define <a href="#XSLT_REGISTER_FUNCTION_LOOKUP">XSLT_REGISTER_FUNCTION_LOOKUP</a>;
</pre><p>Registering macro, not general purpose at all but used in different modules.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDocumentFunction"/>xsltDocumentFunction ()</h3><pre class="programlisting">void xsltDocumentFunction (xmlXPathParserContextPtr ctxt, <br/> int nargs)<br/>
</pre><p>Implement the document() XSLT function node-set document(object, node-set?)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltElementAvailableFunction"/>xsltElementAvailableFunction ()</h3><pre class="programlisting">void xsltElementAvailableFunction (xmlXPathParserContextPtr ctxt, <br/> int nargs)<br/>
</pre><p>Implement the element-available() XSLT function boolean element-available(string)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFormatNumberFunction"/>xsltFormatNumberFunction ()</h3><pre class="programlisting">void xsltFormatNumberFunction (xmlXPathParserContextPtr ctxt, <br/> int nargs)<br/>
</pre><p>Implement the format-number() XSLT function string format-number(number, string, string?)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFunctionAvailableFunction"/>xsltFunctionAvailableFunction ()</h3><pre class="programlisting">void xsltFunctionAvailableFunction (xmlXPathParserContextPtr ctxt, <br/> int nargs)<br/>
</pre><p>Implement the function-available() XSLT function boolean function-available(string)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGenerateIdFunction"/>xsltGenerateIdFunction ()</h3><pre class="programlisting">void xsltGenerateIdFunction (xmlXPathParserContextPtr ctxt, <br/> int nargs)<br/>
</pre><p>Implement the generate-id() XSLT function string generate-id(node-set?)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltKeyFunction"/>xsltKeyFunction ()</h3><pre class="programlisting">void xsltKeyFunction (xmlXPathParserContextPtr ctxt, <br/> int nargs)<br/>
</pre><p>Implement the key() XSLT function node-set key(string, object)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterAllFunctions"/>xsltRegisterAllFunctions ()</h3><pre class="programlisting">void xsltRegisterAllFunctions (xmlXPathContextPtr ctxt)<br/>
</pre><p>Registers all default XSLT functions in this context</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSystemPropertyFunction"/>xsltSystemPropertyFunction ()</h3><pre class="programlisting">void xsltSystemPropertyFunction (xmlXPathParserContextPtr ctxt, <br/> int nargs)<br/>
</pre><p>Implement the system-property() XSLT function object system-property(string)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltUnparsedEntityURIFunction"/>xsltUnparsedEntityURIFunction ()</h3><pre class="programlisting">void xsltUnparsedEntityURIFunction (xmlXPathParserContextPtr ctxt, <br/> int nargs)<br/>
</pre><p>Implement the unparsed-entity-uri() XSLT function string unparsed-entity-uri(string)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltXPathFunctionLookup"/>xsltXPathFunctionLookup ()</h3><pre class="programlisting">xmlXPathFunction xsltXPathFunctionLookup (void * vctxt, <br/> const xmlChar * name, <br/> const xmlChar * ns_uri)<br/>
</pre><p>This is the entry point when a function is needed by the XPath interpretor.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>vctxt</tt></i>:</span></td><td>a void * but the XSLT transformation context actually</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the function namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the callback function or NULL if not found</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>imports: interface for the XSLT import support</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-functions.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-keys.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">imports</span>
</h2>
<p>imports - interface for the XSLT import support</p>
<p>macros and fuctions needed to implement and access the import tree </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XSLT_GET_IMPORT_PTR">XSLT_GET_IMPORT_PTR</a>;
#define <a href="#XSLT_GET_IMPORT_INT">XSLT_GET_IMPORT_INT</a>;
<a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> <a href="#xsltFindTemplate">xsltFindTemplate</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * nameURI);
<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a href="#xsltNextImport">xsltNextImport</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> cur);
int <a href="#xsltParseStylesheetInclude">xsltParseStylesheetInclude</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr cur);
int <a href="#xsltNeedElemSpaceHandling">xsltNeedElemSpaceHandling</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
int <a href="#xsltFindElemSpaceHandling">xsltFindElemSpaceHandling</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node);
int <a href="#xsltParseStylesheetImport">xsltParseStylesheetImport</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr cur);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="XSLT_GET_IMPORT_INT">Macro </a>XSLT_GET_IMPORT_INT</h3><pre class="programlisting">#define <a href="#XSLT_GET_IMPORT_INT">XSLT_GET_IMPORT_INT</a>;
</pre><p>A macro to import intergers from the stylesheet cascading order.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_GET_IMPORT_PTR">Macro </a>XSLT_GET_IMPORT_PTR</h3><pre class="programlisting">#define <a href="#XSLT_GET_IMPORT_PTR">XSLT_GET_IMPORT_PTR</a>;
</pre><p>A macro to import pointers from the stylesheet cascading order.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFindElemSpaceHandling"/>xsltFindElemSpaceHandling ()</h3><pre class="programlisting">int xsltFindElemSpaceHandling (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node)<br/>
</pre><p>Find strip-space or preserve-space information for an element respect the import precedence or the wildcards</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>an XML node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if space should be stripped, 0 if not, and 2 if everything should be CDTATA wrapped.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFindTemplate"/>xsltFindTemplate ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> xsltFindTemplate (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * nameURI)<br/>
</pre><p>Finds the named template, apply import precedence rule. REVISIT TODO: We'll change the nameURI fields of templates to be in the string dict, so if the specified @nameURI is in the same dict, then use pointer comparison. Check if this can be done in a sane way. Maybe this function is not needed internally at transformation-time if we hard-wire the called templates to the caller.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the template name</td></tr><tr><td><span class="term"><i><tt>nameURI</tt></i>:</span></td><td>the template name URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> or NULL if not found</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNeedElemSpaceHandling"/>xsltNeedElemSpaceHandling ()</h3><pre class="programlisting">int xsltNeedElemSpaceHandling (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Checks whether that stylesheet requires white-space stripping</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if space should be stripped, 0 if not</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNextImport"/>xsltNextImport ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltNextImport (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> cur)<br/>
</pre><p>Find the next stylesheet in import precedence.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next stylesheet or NULL if it was the last one</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetImport"/>xsltParseStylesheetImport ()</h3><pre class="programlisting">int xsltParseStylesheetImport (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr cur)<br/>
</pre><p>parse an XSLT stylesheet import element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the import element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetInclude"/>xsltParseStylesheetInclude ()</h3><pre class="programlisting">int xsltParseStylesheetInclude (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr cur)<br/>
</pre><p>parse an XSLT stylesheet include element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the include node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success -1 in case of failure</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>keys: interface for the key matching used in key() and template matches.</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-imports.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-namespaces.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">keys</span>
</h2>
<p>keys - interface for the key matching used in key() and template matches.</p>
<p>implementation of the key mechanims. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#NODE_IS_KEYED">NODE_IS_KEYED</a>;
void <a href="#xsltInitCtxtKeys">xsltInitCtxtKeys</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> idoc);
void <a href="#xsltFreeKeys">xsltFreeKeys</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
xmlNodeSetPtr <a href="#xsltGetKey">xsltGetKey</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * nameURI, <br/> const xmlChar * value);
void <a href="#xsltFreeDocumentKeys">xsltFreeDocumentKeys</a> (<a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> idoc);
int <a href="#xsltAddKey">xsltAddKey</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * name, <br/> const xmlChar * nameURI, <br/> const xmlChar * match, <br/> const xmlChar * use, <br/> xmlNodePtr inst);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="NODE_IS_KEYED">Macro </a>NODE_IS_KEYED</h3><pre class="programlisting">#define <a href="#NODE_IS_KEYED">NODE_IS_KEYED</a>;
</pre><p>check for bit 15 set</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltAddKey"/>xsltAddKey ()</h3><pre class="programlisting">int xsltAddKey (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * name, <br/> const xmlChar * nameURI, <br/> const xmlChar * match, <br/> const xmlChar * use, <br/> xmlNodePtr inst)<br/>
</pre><p>add a key definition to a stylesheet</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the key name or NULL</td></tr><tr><td><span class="term"><i><tt>nameURI</tt></i>:</span></td><td>the name URI or NULL</td></tr><tr><td><span class="term"><i><tt>match</tt></i>:</span></td><td>the match value</td></tr><tr><td><span class="term"><i><tt>use</tt></i>:</span></td><td>the use value</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the key instruction</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, and -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeDocumentKeys"/>xsltFreeDocumentKeys ()</h3><pre class="programlisting">void xsltFreeDocumentKeys (<a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> idoc)<br/>
</pre><p>Free the keys associated to a document</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>idoc</tt></i>:</span></td><td>a XSLT document</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeKeys"/>xsltFreeKeys ()</h3><pre class="programlisting">void xsltFreeKeys (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Free up the memory used by XSLT keys in a stylesheet</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetKey"/>xsltGetKey ()</h3><pre class="programlisting">xmlNodeSetPtr xsltGetKey (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * nameURI, <br/> const xmlChar * value)<br/>
</pre><p>Looks up a key of the in current source doc (the document info on @ctxt-&gt;document). Computes the key if not already done for the current source doc.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the key name or NULL</td></tr><tr><td><span class="term"><i><tt>nameURI</tt></i>:</span></td><td>the name URI or NULL</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the key value to look for</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodeset resulting from the query or NULL</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltInitCtxtKeys"/>xsltInitCtxtKeys ()</h3><pre class="programlisting">void xsltInitCtxtKeys (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> idoc)<br/>
</pre><p>Computes all the keys tables for the current input document. Should be done before global varibales are initialized. NOTE: Not used anymore in the refactored code.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>idoc</tt></i>:</span></td><td>a document info</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>namespaces: interface for the XSLT namespace handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-keys.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-numbersInternals.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">namespaces</span>
</h2>
<p>namespaces - interface for the XSLT namespace handling</p>
<p>set of function easing the processing and generation of namespace nodes in XSLT. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#UNDEFINED_DEFAULT_NS">UNDEFINED_DEFAULT_NS</a>;
void <a href="#xsltFreeNamespaceAliasHashes">xsltFreeNamespaceAliasHashes</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
xmlNsPtr <a href="#xsltCopyNamespace">xsltCopyNamespace</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr elem, <br/> xmlNsPtr ns);
xmlNsPtr <a href="#xsltCopyNamespaceList">xsltCopyNamespaceList</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNsPtr cur);
xmlNsPtr <a href="#xsltGetNamespace">xsltGetNamespace</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr cur, <br/> xmlNsPtr ns, <br/> xmlNodePtr out);
xmlNsPtr <a href="#xsltGetPlainNamespace">xsltGetPlainNamespace</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr cur, <br/> xmlNsPtr ns, <br/> xmlNodePtr out);
xmlNsPtr <a href="#xsltGetSpecialNamespace">xsltGetSpecialNamespace</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr invocNode, <br/> const xmlChar * nsName, <br/> const xmlChar * nsPrefix, <br/> xmlNodePtr target);
void <a href="#xsltNamespaceAlias">xsltNamespaceAlias</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr node);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="UNDEFINED_DEFAULT_NS">Macro </a>UNDEFINED_DEFAULT_NS</h3><pre class="programlisting">#define <a href="#UNDEFINED_DEFAULT_NS">UNDEFINED_DEFAULT_NS</a>;
</pre><p>Special value for undefined namespace, internal</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCopyNamespace"/>xsltCopyNamespace ()</h3><pre class="programlisting">xmlNsPtr xsltCopyNamespace (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr elem, <br/> xmlNsPtr ns)<br/>
</pre><p>Copies a namespace node (declaration). If @elem is not NULL, then the new namespace will be declared on @elem.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a transformation context</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the target element node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new xmlNsPtr, or NULL in case of an error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCopyNamespaceList"/>xsltCopyNamespaceList ()</h3><pre class="programlisting">xmlNsPtr xsltCopyNamespaceList (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNsPtr cur)<br/>
</pre><p>Do a copy of an namespace list. If @node is non-NULL the new namespaces are added automatically. This handles namespaces aliases. This function is intended only for *internal* use at transformation-time for copying ns-declarations of Literal Result Elements. Called by: xsltCopyTreeInternal() (transform.c) xsltShallowCopyElem() (transform.c) REVISIT: This function won't be used in the refactored code.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a transformation context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the target node</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new xmlNsPtr, or NULL in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeNamespaceAliasHashes"/>xsltFreeNamespaceAliasHashes ()</h3><pre class="programlisting">void xsltFreeNamespaceAliasHashes (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Free up the memory used by namespaces aliases</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetNamespace"/>xsltGetNamespace ()</h3><pre class="programlisting">xmlNsPtr xsltGetNamespace (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr cur, <br/> xmlNsPtr ns, <br/> xmlNodePtr out)<br/>
</pre><p>Find a matching (prefix and ns-name) ns-declaration for the requested @ns-&gt;prefix and @ns-&gt;href in the result tree. If none is found then a new ns-declaration will be added to @resultElem. If, in this case, the given prefix is already in use, then a ns-declaration with a modified ns-prefix be we created. Called by: - xsltCopyPropList() (*not* anymore) - xsltShallowCopyElement() - xsltCopyTreeInternal() (*not* anymore) - xsltApplySequenceConstructor() (*not* in the refactored code), - xsltElement() (*not* anymore)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a transformation context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>the output node (or its parent)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a namespace declaration or NULL in case of namespace fixup failures or API or internal errors.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetPlainNamespace"/>xsltGetPlainNamespace ()</h3><pre class="programlisting">xmlNsPtr xsltGetPlainNamespace (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr cur, <br/> xmlNsPtr ns, <br/> xmlNodePtr out)<br/>
</pre><p>Obsolete. *Not* called by any Libxslt/Libexslt function. Exaclty the same as xsltGetNamespace().</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a transformation context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>the result element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a namespace declaration or NULL in case of namespace fixup failures or API or internal errors.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetSpecialNamespace"/>xsltGetSpecialNamespace ()</h3><pre class="programlisting">xmlNsPtr xsltGetSpecialNamespace (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr invocNode, <br/> const xmlChar * nsName, <br/> const xmlChar * nsPrefix, <br/> xmlNodePtr target)<br/>
</pre><p>Find a matching (prefix and ns-name) ns-declaration for the requested @nsName and @nsPrefix in the result tree. If none is found then a new ns-declaration will be added to @resultElem. If, in this case, the given prefix is already in use, then a ns-declaration with a modified ns-prefix be we created. Note that this function's priority is to preserve ns-prefixes; it will only change a prefix if there's a namespace clash. If both @nsName and @nsPrefix are NULL, then this will try to "undeclare" a default namespace by declaring an xmlns="".</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the transformation context</td></tr><tr><td><span class="term"><i><tt>invocNode</tt></i>:</span></td><td>the invoking node; e.g. a literal result element/attr; only used for error reports</td></tr><tr><td><span class="term"><i><tt>nsName</tt></i>:</span></td><td>the namespace name (or NULL)</td></tr><tr><td><span class="term"><i><tt>nsPrefix</tt></i>:</span></td><td>the suggested namespace prefix (or NULL)</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>the result element on which to anchor a namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a namespace declaration or NULL.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNamespaceAlias"/>xsltNamespaceAlias ()</h3><pre class="programlisting">void xsltNamespaceAlias (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr node)<br/>
</pre><p>Read the stylesheet-prefix and result-prefix attributes, register them as well as the corresponding namespace.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the xsl:namespace-alias node</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>numbersInternals: Implementation of the XSLT number functions</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-namespaces.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-pattern.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">numbersInternals</span>
</h2>
<p>numbersInternals - Implementation of the XSLT number functions</p>
<p>Implementation of the XSLT number functions </p>
<p>Author(s): Bjorn Reese &lt;breese@users.sourceforge.net&gt; and Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xsltFormatNumberInfo <a href="#xsltFormatNumberInfo">xsltFormatNumberInfo</a>;
typedef struct _xsltNumberData <a href="#xsltNumberData">xsltNumberData</a>;
typedef <a href="libxslt-numbersInternals.html#xsltNumberData">xsltNumberData</a> * <a href="#xsltNumberDataPtr">xsltNumberDataPtr</a>;
typedef <a href="libxslt-numbersInternals.html#xsltFormatNumberInfo">xsltFormatNumberInfo</a> * <a href="#xsltFormatNumberInfoPtr">xsltFormatNumberInfoPtr</a>;
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="xsltFormatNumberInfo">Structure </a>xsltFormatNumberInfo</h3><pre class="programlisting">struct _xsltFormatNumberInfo {
int integer_hash : Number of '#' in integer part
int integer_digits : Number of '0' in integer part
int frac_digits : Number of '0' in fractional part
int frac_hash : Number of '#' in fractional part
int group : Number of chars per display 'group'
int multiplier : Scaling for percent or permille
char add_decimal : Flag for whether decimal point appears in pattern
char is_multiplier_set : Flag to catch multiple occurences of percent/permille
char is_negative_pattern : Flag for processing -ve prefix/suffix
} xsltFormatNumberInfo;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFormatNumberInfoPtr">Typedef </a>xsltFormatNumberInfoPtr</h3><pre class="programlisting"><a href="libxslt-numbersInternals.html#xsltFormatNumberInfo">xsltFormatNumberInfo</a> * xsltFormatNumberInfoPtr;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNumberData">Structure </a>xsltNumberData</h3><pre class="programlisting">struct _xsltNumberData {
const xmlChar * level
const xmlChar * count
const xmlChar * from
const xmlChar * value
const xmlChar * format
int has_format
int digitsPerGroup
int groupingCharacter
int groupingCharacterLen
xmlDocPtr doc
xmlNodePtr node
struct _xsltCompMatch * countPat
struct _xsltCompMatch * fromPat : * accelerators *
} xsltNumberData;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNumberDataPtr">Typedef </a>xsltNumberDataPtr</h3><pre class="programlisting"><a href="libxslt-numbersInternals.html#xsltNumberData">xsltNumberData</a> * xsltNumberDataPtr;
</pre><p/>
</div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>pattern: interface for the pattern matching used in template matches.</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-numbersInternals.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-preproc.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">pattern</span>
</h2>
<p>pattern - interface for the pattern matching used in template matches.</p>
<p>the implementation of the lookup of the right template for a given node must be really fast in order to keep decent performances. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xsltCompMatch <a href="#xsltCompMatch">xsltCompMatch</a>;
typedef <a href="libxslt-pattern.html#xsltCompMatch">xsltCompMatch</a> * <a href="#xsltCompMatchPtr">xsltCompMatchPtr</a>;
void <a href="#xsltNormalizeCompSteps">xsltNormalizeCompSteps</a> (void * payload, <br/> void * data, <br/> const xmlChar * name);
int <a href="#xsltAddTemplate">xsltAddTemplate</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> cur, <br/> const xmlChar * mode, <br/> const xmlChar * modeURI);
<a href="libxslt-pattern.html#xsltCompMatchPtr">xsltCompMatchPtr</a> <a href="#xsltCompilePattern">xsltCompilePattern</a> (const xmlChar * pattern, <br/> xmlDocPtr doc, <br/> xmlNodePtr node, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> runtime);
int <a href="#xsltMatchPattern">xsltMatchPattern</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> const xmlChar * pattern, <br/> xmlDocPtr ctxtdoc, <br/> xmlNodePtr ctxtnode);
<a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> <a href="#xsltGetTemplate">xsltGetTemplate</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
void <a href="#xsltCompMatchClearCache">xsltCompMatchClearCache</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-pattern.html#xsltCompMatchPtr">xsltCompMatchPtr</a> comp);
int <a href="#xsltTestCompMatchList">xsltTestCompMatchList</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> <a href="libxslt-pattern.html#xsltCompMatchPtr">xsltCompMatchPtr</a> comp);
void <a href="#xsltFreeCompMatchList">xsltFreeCompMatchList</a> (<a href="libxslt-pattern.html#xsltCompMatchPtr">xsltCompMatchPtr</a> comp);
void <a href="#xsltFreeTemplateHashes">xsltFreeTemplateHashes</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
void <a href="#xsltCleanupTemplates">xsltCleanupTemplates</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="xsltCompMatch">Structure </a>xsltCompMatch</h3><pre class="programlisting">struct _xsltCompMatch {
The content of this structure is not made public by the API.
} xsltCompMatch;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCompMatchPtr">Typedef </a>xsltCompMatchPtr</h3><pre class="programlisting"><a href="libxslt-pattern.html#xsltCompMatch">xsltCompMatch</a> * xsltCompMatchPtr;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltAddTemplate"/>xsltAddTemplate ()</h3><pre class="programlisting">int xsltAddTemplate (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> cur, <br/> const xmlChar * mode, <br/> const xmlChar * modeURI)<br/>
</pre><p>Register the XSLT pattern associated to @cur</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>an XSLT template</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the mode name or NULL</td></tr><tr><td><span class="term"><i><tt>modeURI</tt></i>:</span></td><td>the mode URI or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCleanupTemplates"/>xsltCleanupTemplates ()</h3><pre class="programlisting">void xsltCleanupTemplates (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Cleanup the state of the templates used by the stylesheet and the ones it imports.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCompMatchClearCache"/>xsltCompMatchClearCache ()</h3><pre class="programlisting">void xsltCompMatchClearCache (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-pattern.html#xsltCompMatchPtr">xsltCompMatchPtr</a> comp)<br/>
</pre><p>Clear pattern match cache.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern list</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCompilePattern"/>xsltCompilePattern ()</h3><pre class="programlisting"><a href="libxslt-pattern.html#xsltCompMatchPtr">xsltCompMatchPtr</a> xsltCompilePattern (const xmlChar * pattern, <br/> xmlDocPtr doc, <br/> xmlNodePtr node, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> runtime)<br/>
</pre><p>Compile the XSLT pattern and generates a list of precompiled form suitable for fast matching. [1] Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>pattern</tt></i>:</span></td><td>an XSLT pattern</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the containing document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the containing element</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>runtime</tt></i>:</span></td><td>the transformation context, if done at run-time</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the generated pattern list or NULL in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeCompMatchList"/>xsltFreeCompMatchList ()</h3><pre class="programlisting">void xsltFreeCompMatchList (<a href="libxslt-pattern.html#xsltCompMatchPtr">xsltCompMatchPtr</a> comp)<br/>
</pre><p>Free up the memory allocated by all the elements of @comp</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>an XSLT comp list</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeTemplateHashes"/>xsltFreeTemplateHashes ()</h3><pre class="programlisting">void xsltFreeTemplateHashes (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Free up the memory used by xsltAddTemplate/xsltGetTemplate mechanism</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetTemplate"/>xsltGetTemplate ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> xsltGetTemplate (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Finds the template applying to this node, if @style is non-NULL it means one needs to look for the next imported template in scope.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node being processed</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the current style</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> or NULL if not found</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltMatchPattern"/>xsltMatchPattern ()</h3><pre class="programlisting">int xsltMatchPattern (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> const xmlChar * pattern, <br/> xmlDocPtr ctxtdoc, <br/> xmlNodePtr ctxtnode)<br/>
</pre><p/>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>pattern</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>ctxtdoc</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>ctxtnode</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNormalizeCompSteps"/>xsltNormalizeCompSteps ()</h3><pre class="programlisting">void xsltNormalizeCompSteps (void * payload, <br/> void * data, <br/> const xmlChar * name)<br/>
</pre><p>This is a hashtable scanner function to normalize the compiled steps of an imported stylesheet.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>pointer to template hash table entry</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>pointer to the stylesheet</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>template match name</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltTestCompMatchList"/>xsltTestCompMatchList ()</h3><pre class="programlisting">int xsltTestCompMatchList (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> <a href="libxslt-pattern.html#xsltCompMatchPtr">xsltCompMatchPtr</a> comp)<br/>
</pre><p>Test whether the node matches one of the patterns in the list</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if it matches, 0 if it doesn't and -1 in case of failure</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>preproc: precomputing stylesheets</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-pattern.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-security.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">preproc</span>
</h2>
<p>preproc - precomputing stylesheets</p>
<p>this is the compilation phase, where most of the stylesheet is "compiled" into faster to use data. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">void <a href="#xsltFreeStylePreComps">xsltFreeStylePreComps</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
<a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> <a href="#xsltDocumentComp">xsltDocumentComp</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> function);
void <a href="#xsltStylePreCompute">xsltStylePreCompute</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="xsltExtMarker">Variable </a>xsltExtMarker</h3><pre class="programlisting">const xmlChar * xsltExtMarker;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDocumentComp"/>xsltDocumentComp ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> xsltDocumentComp (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> function)<br/>
</pre><p>Pre process an XSLT-1.1 document element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the instruction in the stylesheet</td></tr><tr><td><span class="term"><i><tt>function</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a precompiled data structure for the element</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeStylePreComps"/>xsltFreeStylePreComps ()</h3><pre class="programlisting">void xsltFreeStylePreComps (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Free up the memory allocated by all precomputed blocks</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT transformation context</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltStylePreCompute"/>xsltStylePreCompute ()</h3><pre class="programlisting">void xsltStylePreCompute (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst)<br/>
</pre><p>Precompute an XSLT stylesheet element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the instruction in the stylesheet</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>security: interface for the libxslt security framework</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-preproc.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-templates.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">security</span>
</h2>
<p>security - interface for the libxslt security framework</p>
<p>the libxslt security framework allow to restrict the access to new resources (file or URL) from the stylesheet at runtime. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xsltSecurityPrefs <a href="#xsltSecurityPrefs">xsltSecurityPrefs</a>;
typedef <a href="libxslt-security.html#xsltSecurityPrefs">xsltSecurityPrefs</a> * <a href="#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a>;
typedef enum <a href="#xsltSecurityOption">xsltSecurityOption</a>;
<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> <a href="#xsltNewSecurityPrefs">xsltNewSecurityPrefs</a> (void);
typedef int <a href="#xsltSecurityCheck">xsltSecurityCheck</a> (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const char * value);
int <a href="#xsltSetSecurityPrefs">xsltSetSecurityPrefs</a> (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-security.html#xsltSecurityOption">xsltSecurityOption</a> option, <br/> <a href="libxslt-security.html#xsltSecurityCheck">xsltSecurityCheck</a> func);
<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> <a href="#xsltGetDefaultSecurityPrefs">xsltGetDefaultSecurityPrefs</a> (void);
void <a href="#xsltFreeSecurityPrefs">xsltFreeSecurityPrefs</a> (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec);
void <a href="#xsltSetDefaultSecurityPrefs">xsltSetDefaultSecurityPrefs</a> (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec);
int <a href="#xsltSetCtxtSecurityPrefs">xsltSetCtxtSecurityPrefs</a> (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
<a href="libxslt-security.html#xsltSecurityCheck">xsltSecurityCheck</a> <a href="#xsltGetSecurityPrefs">xsltGetSecurityPrefs</a> (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-security.html#xsltSecurityOption">xsltSecurityOption</a> option);
int <a href="#xsltSecurityAllow">xsltSecurityAllow</a> (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const char * value);
int <a href="#xsltCheckWrite">xsltCheckWrite</a> (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URL);
int <a href="#xsltCheckRead">xsltCheckRead</a> (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URL);
int <a href="#xsltSecurityForbid">xsltSecurityForbid</a> (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const char * value);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="xsltSecurityOption">Enum </a>xsltSecurityOption</h3><pre class="programlisting">enum <a href="#xsltSecurityOption">xsltSecurityOption</a> {
<a name="XSLT_SECPREF_READ_FILE">XSLT_SECPREF_READ_FILE</a> = 1
<a name="XSLT_SECPREF_WRITE_FILE">XSLT_SECPREF_WRITE_FILE</a> = 2
<a name="XSLT_SECPREF_CREATE_DIRECTORY">XSLT_SECPREF_CREATE_DIRECTORY</a> = 3
<a name="XSLT_SECPREF_READ_NETWORK">XSLT_SECPREF_READ_NETWORK</a> = 4
<a name="XSLT_SECPREF_WRITE_NETWORK">XSLT_SECPREF_WRITE_NETWORK</a> = 5
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSecurityPrefs">Structure </a>xsltSecurityPrefs</h3><pre class="programlisting">struct _xsltSecurityPrefs {
The content of this structure is not made public by the API.
} xsltSecurityPrefs;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSecurityPrefsPtr">Typedef </a>xsltSecurityPrefsPtr</h3><pre class="programlisting"><a href="libxslt-security.html#xsltSecurityPrefs">xsltSecurityPrefs</a> * xsltSecurityPrefsPtr;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSecurityCheck"/>Function type xsltSecurityCheck</h3><pre class="programlisting">int xsltSecurityCheck (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const char * value)<br/>
</pre><p>User provided function to check the value of a string like a file path or an URL ...</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sec</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCheckRead"/>xsltCheckRead ()</h3><pre class="programlisting">int xsltCheckRead (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URL)<br/>
</pre><p>Check if the resource is allowed to be read</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sec</tt></i>:</span></td><td>the security options</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the resource to be read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if read is allowed, 0 if not and -1 in case or error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCheckWrite"/>xsltCheckWrite ()</h3><pre class="programlisting">int xsltCheckWrite (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * URL)<br/>
</pre><p>Check if the resource is allowed to be written, if necessary makes some preliminary work like creating directories</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sec</tt></i>:</span></td><td>the security options</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the resource to be written</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if write is allowed, 0 if not and -1 in case or error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeSecurityPrefs"/>xsltFreeSecurityPrefs ()</h3><pre class="programlisting">void xsltFreeSecurityPrefs (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec)<br/>
</pre><p>Free up a security preference block</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sec</tt></i>:</span></td><td>the security block to free</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetDefaultSecurityPrefs"/>xsltGetDefaultSecurityPrefs ()</h3><pre class="programlisting"><a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> xsltGetDefaultSecurityPrefs (void)<br/>
</pre><p>Get the default security preference application-wide</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current <a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> in use or NULL if none</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetSecurityPrefs"/>xsltGetSecurityPrefs ()</h3><pre class="programlisting"><a href="libxslt-security.html#xsltSecurityCheck">xsltSecurityCheck</a> xsltGetSecurityPrefs (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-security.html#xsltSecurityOption">xsltSecurityOption</a> option)<br/>
</pre><p>Lookup the security option to get the callback checking function</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sec</tt></i>:</span></td><td>the security block to update</td></tr><tr><td><span class="term"><i><tt>option</tt></i>:</span></td><td>the option to lookup</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, the function otherwise</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNewSecurityPrefs"/>xsltNewSecurityPrefs ()</h3><pre class="programlisting"><a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> xsltNewSecurityPrefs (void)<br/>
</pre><p>Create a new security preference block</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new block or NULL in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSecurityAllow"/>xsltSecurityAllow ()</h3><pre class="programlisting">int xsltSecurityAllow (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const char * value)<br/>
</pre><p>Function used to always allow an operation</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sec</tt></i>:</span></td><td>the security block to use</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 always</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSecurityForbid"/>xsltSecurityForbid ()</h3><pre class="programlisting">int xsltSecurityForbid (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const char * value)<br/>
</pre><p>Function used to always forbid an operation</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sec</tt></i>:</span></td><td>the security block to use</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 always</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetCtxtSecurityPrefs"/>xsltSetCtxtSecurityPrefs ()</h3><pre class="programlisting">int xsltSetCtxtSecurityPrefs (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Set the security preference for a specific transformation</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sec</tt></i>:</span></td><td>the security block to use</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetDefaultSecurityPrefs"/>xsltSetDefaultSecurityPrefs ()</h3><pre class="programlisting">void xsltSetDefaultSecurityPrefs (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec)<br/>
</pre><p>Set the default security preference application-wide</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sec</tt></i>:</span></td><td>the security block to use</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetSecurityPrefs"/>xsltSetSecurityPrefs ()</h3><pre class="programlisting">int xsltSetSecurityPrefs (<a href="libxslt-security.html#xsltSecurityPrefsPtr">xsltSecurityPrefsPtr</a> sec, <br/> <a href="libxslt-security.html#xsltSecurityOption">xsltSecurityOption</a> option, <br/> <a href="libxslt-security.html#xsltSecurityCheck">xsltSecurityCheck</a> func)<br/>
</pre><p>Update the security option to use the new callback checking function</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sec</tt></i>:</span></td><td>the security block to update</td></tr><tr><td><span class="term"><i><tt>option</tt></i>:</span></td><td>the option to update</td></tr><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>the user callback to use for this option</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>templates: interface for the template processing</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-security.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-transform.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">templates</span>
</h2>
<p>templates - interface for the template processing</p>
<p>This set of routine encapsulates XPath calls and Attribute Value Templates evaluation. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">const xmlChar * <a href="#xsltEvalStaticAttrValueTemplate">xsltEvalStaticAttrValueTemplate</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst, <br/> const xmlChar * name, <br/> const xmlChar * ns, <br/> int * found);
xmlAttrPtr <a href="#xsltAttrListTemplateProcess">xsltAttrListTemplateProcess</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr target, <br/> xmlAttrPtr attrs);
xmlChar * <a href="#xsltEvalTemplateString">xsltEvalTemplateString</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst);
xmlChar * <a href="#xsltAttrTemplateValueProcess">xsltAttrTemplateValueProcess</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * str);
xmlAttrPtr <a href="#xsltAttrTemplateProcess">xsltAttrTemplateProcess</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr target, <br/> xmlAttrPtr attr);
xmlChar * <a href="#xsltEvalAttrValueTemplate">xsltEvalAttrValueTemplate</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr inst, <br/> const xmlChar * name, <br/> const xmlChar * ns);
int <a href="#xsltEvalXPathPredicate">xsltEvalXPathPredicate</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlXPathCompExprPtr comp, <br/> xmlNsPtr * nsList, <br/> int nsNr);
xmlChar * <a href="#xsltAttrTemplateValueProcessNode">xsltAttrTemplateValueProcessNode</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * str, <br/> xmlNodePtr inst);
xmlNodePtr * <a href="#xsltTemplateProcess">xsltTemplateProcess</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node);
xmlChar * <a href="#xsltEvalXPathStringNs">xsltEvalXPathStringNs</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlXPathCompExprPtr comp, <br/> int nsNr, <br/> xmlNsPtr * nsList);
xmlChar * <a href="#xsltEvalXPathString">xsltEvalXPathString</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlXPathCompExprPtr comp);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="xsltAttrListTemplateProcess"/>xsltAttrListTemplateProcess ()</h3><pre class="programlisting">xmlAttrPtr xsltAttrListTemplateProcess (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr target, <br/> xmlAttrPtr attrs)<br/>
</pre><p>Processes all attributes of a Literal Result Element. Attribute references are applied via xsl:use-attribute-set attributes. Copies all non XSLT-attributes over to the @target element and evaluates Attribute Value Templates. Called by xsltApplySequenceConstructor() (transform.c).</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>the element where the attributes will be grafted</td></tr><tr><td><span class="term"><i><tt>attrs</tt></i>:</span></td><td>the first attribute</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new list of attribute nodes, or NULL in case of error. (Don't assign the result to @target-&gt;properties; if the result is NULL, you'll get memory leaks, since the attributes will be disattached.)</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltAttrTemplateProcess"/>xsltAttrTemplateProcess ()</h3><pre class="programlisting">xmlAttrPtr xsltAttrTemplateProcess (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr target, <br/> xmlAttrPtr attr)<br/>
</pre><p>Process one attribute of a Literal Result Element (in the stylesheet). Evaluates Attribute Value Templates and copies the attribute over to the result element. This does *not* process attribute sets (xsl:use-attribute-set).</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>the element where the attribute will be grafted</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the attribute node of a literal result element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the generated attribute node.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltAttrTemplateValueProcess"/>xsltAttrTemplateValueProcess ()</h3><pre class="programlisting">xmlChar * xsltAttrTemplateValueProcess (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * str)<br/>
</pre><p>Process the given node and return the new string value.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the attribute template node value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the computed string value or NULL, must be deallocated by the caller.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltAttrTemplateValueProcessNode"/>xsltAttrTemplateValueProcessNode ()</h3><pre class="programlisting">xmlChar * xsltAttrTemplateValueProcessNode (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * str, <br/> xmlNodePtr inst)<br/>
</pre><p>Process the given string, allowing to pass a namespace mapping context and return the new string value. Called by: - xsltAttrTemplateValueProcess() (templates.c) - xsltEvalAttrValueTemplate() (templates.c) QUESTION: Why is this function public? It is not used outside of templates.c.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the attribute template node value</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the instruction (or LRE) in the stylesheet holding the attribute with an AVT</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the computed string value or NULL, must be deallocated by the caller.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltEvalAttrValueTemplate"/>xsltEvalAttrValueTemplate ()</h3><pre class="programlisting">xmlChar * xsltEvalAttrValueTemplate (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr inst, <br/> const xmlChar * name, <br/> const xmlChar * ns)<br/>
</pre><p>Evaluate a attribute value template, i.e. the attribute value can contain expressions contained in curly braces ({}) and those are substituted by they computed value.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the instruction (or LRE) in the stylesheet holding the attribute with an AVT</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the attribute QName</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the attribute namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the computed string value or NULL, must be deallocated by the caller.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltEvalStaticAttrValueTemplate"/>xsltEvalStaticAttrValueTemplate ()</h3><pre class="programlisting">const xmlChar * xsltEvalStaticAttrValueTemplate (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr inst, <br/> const xmlChar * name, <br/> const xmlChar * ns, <br/> int * found)<br/>
</pre><p>Check if an attribute value template has a static value, i.e. the attribute value does not contain expressions contained in curly braces ({})</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the instruction (or LRE) in the stylesheet holding the attribute with an AVT</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the attribute Name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the attribute namespace URI</td></tr><tr><td><span class="term"><i><tt>found</tt></i>:</span></td><td>indicator whether the attribute is present</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the static string value or NULL, must be deallocated by the caller.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltEvalTemplateString"/>xsltEvalTemplateString ()</h3><pre class="programlisting">xmlChar * xsltEvalTemplateString (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst)<br/>
</pre><p>Processes the sequence constructor of the given instruction on @contextNode and converts the resulting tree to a string. This is needed by e.g. xsl:comment and xsl:processing-instruction.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>contextNode</tt></i>:</span></td><td>the current node in the source tree</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the XSLT instruction (xsl:comment, xsl:processing-instruction)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the computed string value or NULL; it's up to the caller to free the result.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltEvalXPathPredicate"/>xsltEvalXPathPredicate ()</h3><pre class="programlisting">int xsltEvalXPathPredicate (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlXPathCompExprPtr comp, <br/> xmlNsPtr * nsList, <br/> int nsNr)<br/>
</pre><p>Process the expression using XPath and evaluate the result as an XPath predicate</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the XPath compiled expression</td></tr><tr><td><span class="term"><i><tt>nsList</tt></i>:</span></td><td>the namespaces in scope</td></tr><tr><td><span class="term"><i><tt>nsNr</tt></i>:</span></td><td>the number of namespaces in scope</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 is the predicate was true, 0 otherwise</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltEvalXPathString"/>xsltEvalXPathString ()</h3><pre class="programlisting">xmlChar * xsltEvalXPathString (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlXPathCompExprPtr comp)<br/>
</pre><p>Process the expression using XPath and get a string</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled XPath expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the computed string value or NULL, must be deallocated by the caller.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltEvalXPathStringNs"/>xsltEvalXPathStringNs ()</h3><pre class="programlisting">xmlChar * xsltEvalXPathStringNs (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlXPathCompExprPtr comp, <br/> int nsNr, <br/> xmlNsPtr * nsList)<br/>
</pre><p>Process the expression using XPath, allowing to pass a namespace mapping context and get a string</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled XPath expression</td></tr><tr><td><span class="term"><i><tt>nsNr</tt></i>:</span></td><td>the number of namespaces in the list</td></tr><tr><td><span class="term"><i><tt>nsList</tt></i>:</span></td><td>the list of in-scope namespaces to use</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the computed string value or NULL, must be deallocated by the caller.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltTemplateProcess"/>xsltTemplateProcess ()</h3><pre class="programlisting">xmlNodePtr * xsltTemplateProcess (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node)<br/>
</pre><p>Obsolete. Don't use it.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the attribute template node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL.</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,227 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>transform: the XSLT engine transformation part.</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-templates.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-variables.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">transform</span>
</h2>
<p>transform - the XSLT engine transformation part.</p>
<p>This module implements the bulk of the actual</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">void <a href="#xsltValueOf">xsltValueOf</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
void <a href="#xsltRegisterAllElement">xsltRegisterAllElement</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
void <a href="#xsltSort">xsltSort</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);
void <a href="#xsltSetXIncludeDefault">xsltSetXIncludeDefault</a> (int xinclude);
void <a href="#xsltCopyOf">xsltCopyOf</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
void <a href="#xsltApplyTemplates">xsltApplyTemplates</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
void <a href="#xsltIf">xsltIf</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
void <a href="#xsltCallTemplate">xsltCallTemplate</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
xmlDocPtr <a href="#xsltApplyStylesheet">xsltApplyStylesheet</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc, <br/> const char ** params);
void <a href="#xsltApplyStripSpaces">xsltApplyStripSpaces</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node);
int <a href="#xsltLocalVariablePush">xsltLocalVariablePush</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> variable, <br/> int level);
void <a href="#xsltFreeTransformContext">xsltFreeTransformContext</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
int <a href="#xsltRunStylesheet">xsltRunStylesheet</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc, <br/> const char ** params, <br/> const char * output, <br/> xmlSAXHandlerPtr SAX, <br/> xmlOutputBufferPtr IObuf);
void <a href="#xsltChoose">xsltChoose</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);
xmlNodePtr <a href="#xsltCopyTextString">xsltCopyTextString</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr target, <br/> const xmlChar * string, <br/> int noescape);
void <a href="#xsltText">xsltText</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);
void <a href="#xsltProcessOneNode">xsltProcessOneNode</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> withParams);
void <a href="#xsltLocalVariablePop">xsltLocalVariablePop</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> int limitNr, <br/> int level);
void <a href="#xsltNumber">xsltNumber</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
int <a href="#xsltRunStylesheetUser">xsltRunStylesheetUser</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc, <br/> const char ** params, <br/> const char * output, <br/> xmlSAXHandlerPtr SAX, <br/> xmlOutputBufferPtr IObuf, <br/> FILE * profile, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> userCtxt);
<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> <a href="#xsltNewTransformContext">xsltNewTransformContext</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc);
int <a href="#xsltGetXIncludeDefault">xsltGetXIncludeDefault</a> (void);
void <a href="#xsltApplyOneTemplate">xsltApplyOneTemplate</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr list, <br/> <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ, <br/> <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> params);
void <a href="#xslHandleDebugger">xslHandleDebugger</a> (xmlNodePtr cur, <br/> xmlNodePtr node, <br/> <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
void <a href="#xsltCopy">xsltCopy</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
void <a href="#xsltDocumentElem">xsltDocumentElem</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
void <a href="#xsltAttribute">xsltAttribute</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
void <a href="#xsltApplyImports">xsltApplyImports</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);
void <a href="#xsltElement">xsltElement</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
xmlDocPtr <a href="#xsltProfileStylesheet">xsltProfileStylesheet</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc, <br/> const char ** params, <br/> FILE * output);
void <a href="#xsltForEach">xsltForEach</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
xmlDocPtr <a href="#xsltApplyStylesheetUser">xsltApplyStylesheetUser</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc, <br/> const char ** params, <br/> const char * output, <br/> FILE * profile, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> userCtxt);
void <a href="#xsltProcessingInstruction">xsltProcessingInstruction</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp);
void <a href="#xsltComment">xsltComment</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="xslHandleDebugger"/>xslHandleDebugger ()</h3><pre class="programlisting">void xslHandleDebugger (xmlNodePtr cur, <br/> xmlNodePtr node, <br/> <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>If either cur or node are a breakpoint, or <a href="libxslt-xsltutils.html#xslDebugStatus">xslDebugStatus</a> in state where debugging must occcur at this time then transfer control to the xslDebugBreak function</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>source node being executed</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>data node being processed</td></tr><tr><td><span class="term"><i><tt>templ</tt></i>:</span></td><td>temlate that applies to node</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the xslt transform context</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltApplyImports"/>xsltApplyImports ()</h3><pre class="programlisting">void xsltApplyImports (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)<br/>
</pre><p>Process the XSLT apply-imports element.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>contextNode</tt></i>:</span></td><td>the current node in the source tree.</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the element node of the XSLT 'apply-imports' instruction</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled instruction</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltApplyOneTemplate"/>xsltApplyOneTemplate ()</h3><pre class="programlisting">void xsltApplyOneTemplate (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr list, <br/> <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ, <br/> <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> params)<br/>
</pre><p>Processes a sequence constructor on the current node in the source tree. @params are the already computed variable stack items; this function pushes them on the variable stack, and pops them before exiting; it's left to the caller to free or reuse @params afterwards. The initial states of the variable stack will always be restored before this function exits. NOTE that this does *not* initiate a new distinct variable scope; i.e. variables already on the stack are visible to the process. The caller's side needs to start a new variable scope if needed (e.g. in exsl:function). @templ is obsolete and not used anymore (e.g. &lt;exslt:function&gt; does not provide a @templ); a non-NULL @templ might raise an error in the future. BIG NOTE: This function is not intended to process the content of an xsl:template; it does not expect xsl:param instructions in @list and will report errors if found. Called by: - xsltEvalVariable() (variables.c) - exsltFuncFunctionFunction() (libexsl/functions.c)</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>contextNode</tt></i>:</span></td><td>the node in the source tree.</td></tr><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>the nodes of a sequence constructor</td></tr><tr><td><span class="term"><i><tt>templ</tt></i>:</span></td><td>not used</td></tr><tr><td><span class="term"><i><tt>params</tt></i>:</span></td><td>a set of parameters (xsl:param) or NULL</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltApplyStripSpaces"/>xsltApplyStripSpaces ()</h3><pre class="programlisting">void xsltApplyStripSpaces (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node)<br/>
</pre><p>Strip the unwanted ignorable spaces from the input tree</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the root of the XML tree</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltApplyStylesheet"/>xsltApplyStylesheet ()</h3><pre class="programlisting">xmlDocPtr xsltApplyStylesheet (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc, <br/> const char ** params)<br/>
</pre><p>Apply the stylesheet to the document NOTE: This may lead to a non-wellformed output XML wise !</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>a parsed XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed XML document</td></tr><tr><td><span class="term"><i><tt>params</tt></i>:</span></td><td>a NULL terminated arry of parameters names/values tuples</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the result document or NULL in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltApplyStylesheetUser"/>xsltApplyStylesheetUser ()</h3><pre class="programlisting">xmlDocPtr xsltApplyStylesheetUser (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc, <br/> const char ** params, <br/> const char * output, <br/> FILE * profile, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> userCtxt)<br/>
</pre><p>Apply the stylesheet to the document and allow the user to provide its own transformation context.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>a parsed XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed XML document</td></tr><tr><td><span class="term"><i><tt>params</tt></i>:</span></td><td>a NULL terminated array of parameters names/values tuples</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the targetted output</td></tr><tr><td><span class="term"><i><tt>profile</tt></i>:</span></td><td>profile FILE * output or NULL</td></tr><tr><td><span class="term"><i><tt>userCtxt</tt></i>:</span></td><td>user provided transform context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the result document or NULL in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltApplyTemplates"/>xsltApplyTemplates ()</h3><pre class="programlisting">void xsltApplyTemplates (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Processes the XSLT 'apply-templates' instruction on the current node.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the 'current node' in the source tree</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the element node of an XSLT 'apply-templates' instruction</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>the compiled instruction</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltAttribute"/>xsltAttribute ()</h3><pre class="programlisting">void xsltAttribute (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Process the xslt attribute node on the source node</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>contextNode</tt></i>:</span></td><td>the current node in the source tree</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xsl:attribute element</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>precomputed information</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCallTemplate"/>xsltCallTemplate ()</h3><pre class="programlisting">void xsltCallTemplate (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Processes the XSLT call-template instruction on the source node.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the "current node" in the source tree</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the XSLT 'call-template' instruction</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>the compiled information of the instruction</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltChoose"/>xsltChoose ()</h3><pre class="programlisting">void xsltChoose (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)<br/>
</pre><p>Processes the xsl:choose instruction on the source node.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>contextNode</tt></i>:</span></td><td>the current node in the source tree</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xsl:choose instruction</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>compiled information of the instruction</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltComment"/>xsltComment ()</h3><pre class="programlisting">void xsltComment (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)<br/>
</pre><p>Process the xslt comment node on the source node</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node in the source tree.</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xslt comment node</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>precomputed information</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCopy"/>xsltCopy ()</h3><pre class="programlisting">void xsltCopy (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Execute the XSLT-copy instruction on the source node.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node in the source tree</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the element node of the XSLT-copy instruction</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>computed information of the XSLT-copy instruction</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCopyOf"/>xsltCopyOf ()</h3><pre class="programlisting">void xsltCopyOf (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Process the XSLT copy-of instruction.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node in the source tree</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the element node of the XSLT copy-of instruction</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>precomputed information of the XSLT copy-of instruction</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCopyTextString"/>xsltCopyTextString ()</h3><pre class="programlisting">xmlNodePtr xsltCopyTextString (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr target, <br/> const xmlChar * string, <br/> int noescape)<br/>
</pre><p>Adds @string to a newly created or an existent text node child of @target.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>the element where the text will be attached</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the text string</td></tr><tr><td><span class="term"><i><tt>noescape</tt></i>:</span></td><td>should disable-escaping be activated for this text node.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the text node, where the text content of @cur is copied to. NULL in case of API or internal errors.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDocumentElem"/>xsltDocumentElem ()</h3><pre class="programlisting">void xsltDocumentElem (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Process an EXSLT/XSLT-1.1 document element</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT processing context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>The current node</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the instruction in the stylesheet</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>precomputed information</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltElement"/>xsltElement ()</h3><pre class="programlisting">void xsltElement (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Process the xslt element node on the source node</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node in the source tree.</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xslt element node</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>precomputed information</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltForEach"/>xsltForEach ()</h3><pre class="programlisting">void xsltForEach (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Process the xslt for-each node on the source node</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>contextNode</tt></i>:</span></td><td>the "current node" in the source tree</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the element node of the xsl:for-each instruction</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>the compiled information of the instruction</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeTransformContext"/>xsltFreeTransformContext ()</h3><pre class="programlisting">void xsltFreeTransformContext (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Free up the memory allocated by @ctxt</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT parser context</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetXIncludeDefault"/>xsltGetXIncludeDefault ()</h3><pre class="programlisting">int xsltGetXIncludeDefault (void)<br/>
</pre><p>Provides the default state for XInclude processing</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if there is no processing 1 otherwise</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltIf"/>xsltIf ()</h3><pre class="programlisting">void xsltIf (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Processes the xsl:if instruction on the source node.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>contextNode</tt></i>:</span></td><td>the current node in the source tree</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xsl:if instruction</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>compiled information of the instruction</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltLocalVariablePop"/>xsltLocalVariablePop ()</h3><pre class="programlisting">void xsltLocalVariablePop (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> int limitNr, <br/> int level)<br/>
</pre><p>Pops all variable values at the given @depth from the stack.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the transformation context</td></tr><tr><td><span class="term"><i><tt>limitNr</tt></i>:</span></td><td>number of variables which should remain</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the depth in the xsl:template's tree</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltLocalVariablePush"/>xsltLocalVariablePush ()</h3><pre class="programlisting">int xsltLocalVariablePush (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> variable, <br/> int level)<br/>
</pre><p>Places the variable onto the local variable stack</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the transformation context</td></tr><tr><td><span class="term"><i><tt>variable</tt></i>:</span></td><td>variable to be pushed to the variable stack</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>new value for variable's level</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 for success, -1 for any error **NOTE:** This is an internal routine and should not be called by users!</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNewTransformContext"/>xsltNewTransformContext ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> xsltNewTransformContext (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc)<br/>
</pre><p>Create a new XSLT TransformContext</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>a parsed XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the input document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly allocated <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNumber"/>xsltNumber ()</h3><pre class="programlisting">void xsltNumber (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Process the xslt number node on the source node</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node in the source tree.</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xslt number node</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>precomputed information</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltProcessOneNode"/>xsltProcessOneNode ()</h3><pre class="programlisting">void xsltProcessOneNode (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr contextNode, <br/> <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> withParams)<br/>
</pre><p>Process the source node.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>contextNode</tt></i>:</span></td><td>the "current node" in the source tree</td></tr><tr><td><span class="term"><i><tt>withParams</tt></i>:</span></td><td>extra parameters (e.g. xsl:with-param) passed to the template if any</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltProcessingInstruction"/>xsltProcessingInstruction ()</h3><pre class="programlisting">void xsltProcessingInstruction (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Process the xslt processing-instruction node on the source node</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node in the source tree.</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xslt processing-instruction node</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>precomputed information</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltProfileStylesheet"/>xsltProfileStylesheet ()</h3><pre class="programlisting">xmlDocPtr xsltProfileStylesheet (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc, <br/> const char ** params, <br/> FILE * output)<br/>
</pre><p>Apply the stylesheet to the document and dump the profiling to the given output.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>a parsed XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed XML document</td></tr><tr><td><span class="term"><i><tt>params</tt></i>:</span></td><td>a NULL terminated arry of parameters names/values tuples</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>a FILE * for the profiling output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the result document or NULL in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRegisterAllElement"/>xsltRegisterAllElement ()</h3><pre class="programlisting">void xsltRegisterAllElement (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Registers all default XSLT elements in this context</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRunStylesheet"/>xsltRunStylesheet ()</h3><pre class="programlisting">int xsltRunStylesheet (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc, <br/> const char ** params, <br/> const char * output, <br/> xmlSAXHandlerPtr SAX, <br/> xmlOutputBufferPtr IObuf)<br/>
</pre><p>Apply the stylesheet to the document and generate the output according to @output @SAX and @IObuf. It's an error to specify both @SAX and @IObuf. NOTE: This may lead to a non-wellformed output XML wise ! NOTE: This may also result in multiple files being generated NOTE: using IObuf, the result encoding used will be the one used for creating the output buffer, use the following macro to read it from the stylesheet XSLT_GET_IMPORT_PTR(encoding, style, encoding) NOTE: using SAX, any encoding specified in the stylesheet will be lost since the interface uses only UTF8</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>a parsed XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed XML document</td></tr><tr><td><span class="term"><i><tt>params</tt></i>:</span></td><td>a NULL terminated array of parameters names/values tuples</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the URL/filename ot the generated resource if available</td></tr><tr><td><span class="term"><i><tt>SAX</tt></i>:</span></td><td>a SAX handler for progressive callback output (not implemented yet)</td></tr><tr><td><span class="term"><i><tt>IObuf</tt></i>:</span></td><td>an output buffer for progressive output (not implemented yet)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written to the main resource or -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltRunStylesheetUser"/>xsltRunStylesheetUser ()</h3><pre class="programlisting">int xsltRunStylesheetUser (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlDocPtr doc, <br/> const char ** params, <br/> const char * output, <br/> xmlSAXHandlerPtr SAX, <br/> xmlOutputBufferPtr IObuf, <br/> FILE * profile, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> userCtxt)<br/>
</pre><p>Apply the stylesheet to the document and generate the output according to @output @SAX and @IObuf. It's an error to specify both @SAX and @IObuf. NOTE: This may lead to a non-wellformed output XML wise ! NOTE: This may also result in multiple files being generated NOTE: using IObuf, the result encoding used will be the one used for creating the output buffer, use the following macro to read it from the stylesheet XSLT_GET_IMPORT_PTR(encoding, style, encoding) NOTE: using SAX, any encoding specified in the stylesheet will be lost since the interface uses only UTF8</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>a parsed XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed XML document</td></tr><tr><td><span class="term"><i><tt>params</tt></i>:</span></td><td>a NULL terminated array of parameters names/values tuples</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the URL/filename ot the generated resource if available</td></tr><tr><td><span class="term"><i><tt>SAX</tt></i>:</span></td><td>a SAX handler for progressive callback output (not implemented yet)</td></tr><tr><td><span class="term"><i><tt>IObuf</tt></i>:</span></td><td>an output buffer for progressive output (not implemented yet)</td></tr><tr><td><span class="term"><i><tt>profile</tt></i>:</span></td><td>profile FILE * output or NULL</td></tr><tr><td><span class="term"><i><tt>userCtxt</tt></i>:</span></td><td>user provided transform context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of by written to the main resource or -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetXIncludeDefault"/>xsltSetXIncludeDefault ()</h3><pre class="programlisting">void xsltSetXIncludeDefault (int xinclude)<br/>
</pre><p>Set whether XInclude should be processed on document being loaded by default</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>xinclude</tt></i>:</span></td><td>whether to do XInclude processing</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSort"/>xsltSort ()</h3><pre class="programlisting">void xsltSort (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)<br/>
</pre><p>function attached to xsl:sort nodes, but this should not be called directly</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node in the source tree.</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xslt sort node</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>precomputed information</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltText"/>xsltText ()</h3><pre class="programlisting">void xsltText (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)<br/>
</pre><p>Process the xslt text node on the source node</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node in the source tree.</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xslt text node</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>precomputed information</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltValueOf"/>xsltValueOf ()</h3><pre class="programlisting">void xsltValueOf (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst, <br/> <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> castedComp)<br/>
</pre><p>Process the xslt value-of node on the source node</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node in the source tree.</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xslt value-of node</td></tr><tr><td><span class="term"><i><tt>castedComp</tt></i>:</span></td><td>precomputed information</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>variables: interface for the variable matching and lookup.</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-transform.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-xslt.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">variables</span>
</h2>
<p>variables - interface for the variable matching and lookup.</p>
<p>interface for the variable matching and lookup. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XSLT_REGISTER_VARIABLE_LOOKUP">XSLT_REGISTER_VARIABLE_LOOKUP</a>;
#define <a href="#XSLT_RVT_FUNC_RESULT">XSLT_RVT_FUNC_RESULT</a>;
#define <a href="#XSLT_RVT_GLOBAL">XSLT_RVT_GLOBAL</a>;
#define <a href="#XSLT_RVT_LOCAL">XSLT_RVT_LOCAL</a>;
void <a href="#xsltFreeGlobalVariables">xsltFreeGlobalVariables</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
int <a href="#xsltQuoteUserParams">xsltQuoteUserParams</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const char ** params);
xmlXPathObjectPtr <a href="#xsltXPathVariableLookup">xsltXPathVariableLookup</a> (void * ctxt, <br/> const xmlChar * name, <br/> const xmlChar * ns_uri);
int <a href="#xsltEvalUserParams">xsltEvalUserParams</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const char ** params);
<a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> <a href="#xsltParseStylesheetCallerParam">xsltParseStylesheetCallerParam</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr inst);
int <a href="#xsltAddStackElemList">xsltAddStackElemList</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> elems);
void <a href="#xsltParseGlobalVariable">xsltParseGlobalVariable</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr cur);
int <a href="#xsltQuoteOneUserParam">xsltQuoteOneUserParam</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * value);
void <a href="#xsltParseGlobalParam">xsltParseGlobalParam</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr cur);
void <a href="#xsltParseStylesheetVariable">xsltParseStylesheetVariable</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr inst);
int <a href="#xsltEvalGlobalVariables">xsltEvalGlobalVariables</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
int <a href="#xsltEvalOneUserParam">xsltEvalOneUserParam</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * value);
void <a href="#xsltParseStylesheetParam">xsltParseStylesheetParam</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr cur);
xmlXPathObjectPtr <a href="#xsltVariableLookup">xsltVariableLookup</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * ns_uri);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="XSLT_REGISTER_VARIABLE_LOOKUP">Macro </a>XSLT_REGISTER_VARIABLE_LOOKUP</h3><pre class="programlisting">#define <a href="#XSLT_REGISTER_VARIABLE_LOOKUP">XSLT_REGISTER_VARIABLE_LOOKUP</a>;
</pre><p>Registering macro, not general purpose at all but used in different modules.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_RVT_FUNC_RESULT">Macro </a>XSLT_RVT_FUNC_RESULT</h3><pre class="programlisting">#define <a href="#XSLT_RVT_FUNC_RESULT">XSLT_RVT_FUNC_RESULT</a>;
</pre><p>RVT is part of results returned with func:result. The RVT won't be destroyed after exiting a template and will be reset to <a href="libxslt-variables.html#XSLT_RVT_LOCAL">XSLT_RVT_LOCAL</a> or XSLT_RVT_VARIABLE in the template that receives the return value.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_RVT_GLOBAL">Macro </a>XSLT_RVT_GLOBAL</h3><pre class="programlisting">#define <a href="#XSLT_RVT_GLOBAL">XSLT_RVT_GLOBAL</a>;
</pre><p>RVT is part of a global variable.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_RVT_LOCAL">Macro </a>XSLT_RVT_LOCAL</h3><pre class="programlisting">#define <a href="#XSLT_RVT_LOCAL">XSLT_RVT_LOCAL</a>;
</pre><p>RVT is destroyed after the current instructions ends.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltAddStackElemList"/>xsltAddStackElemList ()</h3><pre class="programlisting">int xsltAddStackElemList (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> elems)<br/>
</pre><p>Push an element list onto the stack.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>xn XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>elems</tt></i>:</span></td><td>a stack element list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltEvalGlobalVariables"/>xsltEvalGlobalVariables ()</h3><pre class="programlisting">int xsltEvalGlobalVariables (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Evaluates all global variables and parameters of a stylesheet. For internal use only. This is called at start of a transformation.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltEvalOneUserParam"/>xsltEvalOneUserParam ()</h3><pre class="programlisting">int xsltEvalOneUserParam (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * value)<br/>
</pre><p>This is normally called from <a href="libxslt-variables.html#xsltEvalUserParams">xsltEvalUserParams</a> to process a single parameter from a list of parameters. The @value is evaluated as an XPath expression and the result is stored in the context's global variable/parameter hash table. To have a parameter treated literally (not as an XPath expression) use <a href="libxslt-variables.html#xsltQuoteUserParams">xsltQuoteUserParams</a> (or xsltQuoteOneUserParam). For more details see description of xsltProcessOneUserParamInternal.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>a null terminated string giving the name of the parameter</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a null terminated string giving the XPath expression to be evaluated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltEvalUserParams"/>xsltEvalUserParams ()</h3><pre class="programlisting">int xsltEvalUserParams (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const char ** params)<br/>
</pre><p>Evaluate the global variables of a stylesheet. This needs to be done on parsed stylesheets before starting to apply transformations. Each of the parameters is evaluated as an XPath expression and stored in the global variables/parameter hash table. If you want your parameter used literally, use xsltQuoteUserParams.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>params</tt></i>:</span></td><td>a NULL terminated array of parameters name/value tuples</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeGlobalVariables"/>xsltFreeGlobalVariables ()</h3><pre class="programlisting">void xsltFreeGlobalVariables (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>Free up the data associated to the global variables its value.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltParseGlobalParam"/>xsltParseGlobalParam ()</h3><pre class="programlisting">void xsltParseGlobalParam (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr cur)<br/>
</pre><p>parse an XSLT transformation param declaration and record its value.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the "param" element</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltParseGlobalVariable"/>xsltParseGlobalVariable ()</h3><pre class="programlisting">void xsltParseGlobalVariable (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr cur)<br/>
</pre><p>Parses a global XSLT 'variable' declaration at compilation time and registers it</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the "variable" element</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetCallerParam"/>xsltParseStylesheetCallerParam ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> xsltParseStylesheetCallerParam (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr inst)<br/>
</pre><p>Processes an xsl:with-param instruction at transformation time. The value is computed, but not recorded. NOTE that this is also called with an *xsl:param* element from exsltFuncFunctionFunction().</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xsl:with-param instruction element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> or NULL</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetParam"/>xsltParseStylesheetParam ()</h3><pre class="programlisting">void xsltParseStylesheetParam (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr cur)<br/>
</pre><p>Registers a local XSLT 'param' declaration at transformation time and evaluates its value.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the XSLT 'param' element</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetVariable"/>xsltParseStylesheetVariable ()</h3><pre class="programlisting">void xsltParseStylesheetVariable (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr inst)<br/>
</pre><p>Registers a local XSLT 'variable' instruction at transformation time and evaluates its value.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the xsl:variable instruction element</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltQuoteOneUserParam"/>xsltQuoteOneUserParam ()</h3><pre class="programlisting">int xsltQuoteOneUserParam (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * value)<br/>
</pre><p>This is normally called from <a href="libxslt-variables.html#xsltQuoteUserParams">xsltQuoteUserParams</a> to process a single parameter from a list of parameters. The @value is stored in the context's global variable/parameter hash table.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>a null terminated string giving the name of the parameter</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a null terminated string giving the parameter value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltQuoteUserParams"/>xsltQuoteUserParams ()</h3><pre class="programlisting">int xsltQuoteUserParams (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const char ** params)<br/>
</pre><p>Similar to xsltEvalUserParams, but the values are treated literally and are * *not* evaluated as XPath expressions. This should be done on parsed stylesheets before starting to apply transformations.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>params</tt></i>:</span></td><td>a NULL terminated arry of parameters names/values tuples</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltVariableLookup"/>xsltVariableLookup ()</h3><pre class="programlisting">xmlXPathObjectPtr xsltVariableLookup (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> const xmlChar * name, <br/> const xmlChar * ns_uri)<br/>
</pre><p>Search in the Variable array of the context for the given variable value.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the variable namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value or NULL if not found</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltXPathVariableLookup"/>xsltXPathVariableLookup ()</h3><pre class="programlisting">xmlXPathObjectPtr xsltXPathVariableLookup (void * ctxt, <br/> const xmlChar * name, <br/> const xmlChar * ns_uri)<br/>
</pre><p>This is the entry point when a varibale is needed by the XPath interpretor.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a void * but the the XSLT transformation context actually</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the variable namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value or NULL if not found</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>xslt: Interfaces, constants and types related to the XSLT engine</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-variables.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-xsltInternals.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">xslt</span>
</h2>
<p>xslt - Interfaces, constants and types related to the XSLT engine</p>
<p>Interfaces, constants and types related to the XSLT engine </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XSLT_DEFAULT_VERSION">XSLT_DEFAULT_VERSION</a>;
#define <a href="#XSLT_DEFAULT_VENDOR">XSLT_DEFAULT_VENDOR</a>;
#define <a href="#XSLT_PARSE_OPTIONS">XSLT_PARSE_OPTIONS</a>;
#define <a href="#XSLT_DEFAULT_URL">XSLT_DEFAULT_URL</a>;
#define <a href="#XSLT_NAMESPACE">XSLT_NAMESPACE</a>;
void <a href="#xsltCleanupGlobals">xsltCleanupGlobals</a> (void);
void <a href="#xsltInit">xsltInit</a> (void);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="XSLT_DEFAULT_URL">Macro </a>XSLT_DEFAULT_URL</h3><pre class="programlisting">#define <a href="#XSLT_DEFAULT_URL">XSLT_DEFAULT_URL</a>;
</pre><p>The XSLT "vendor" URL for this processor.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_DEFAULT_VENDOR">Macro </a>XSLT_DEFAULT_VENDOR</h3><pre class="programlisting">#define <a href="#XSLT_DEFAULT_VENDOR">XSLT_DEFAULT_VENDOR</a>;
</pre><p>The XSLT "vendor" string for this processor.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_DEFAULT_VERSION">Macro </a>XSLT_DEFAULT_VERSION</h3><pre class="programlisting">#define <a href="#XSLT_DEFAULT_VERSION">XSLT_DEFAULT_VERSION</a>;
</pre><p>The default version of XSLT supported.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_NAMESPACE">Macro </a>XSLT_NAMESPACE</h3><pre class="programlisting">#define <a href="#XSLT_NAMESPACE">XSLT_NAMESPACE</a>;
</pre><p>The XSLT specification namespace.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_PARSE_OPTIONS">Macro </a>XSLT_PARSE_OPTIONS</h3><pre class="programlisting">#define <a href="#XSLT_PARSE_OPTIONS">XSLT_PARSE_OPTIONS</a>;
</pre><p>The set of options to pass to an xmlReadxxx when loading files for XSLT consumption.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltEngineVersion">Variable </a>xsltEngineVersion</h3><pre class="programlisting">const char * xsltEngineVersion;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltLibxmlVersion">Variable </a>xsltLibxmlVersion</h3><pre class="programlisting">const int xsltLibxmlVersion;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltLibxsltVersion">Variable </a>xsltLibxsltVersion</h3><pre class="programlisting">const int xsltLibxsltVersion;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltMaxDepth">Variable </a>xsltMaxDepth</h3><pre class="programlisting">int xsltMaxDepth;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltMaxVars">Variable </a>xsltMaxVars</h3><pre class="programlisting">int xsltMaxVars;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCleanupGlobals"/>xsltCleanupGlobals ()</h3><pre class="programlisting">void xsltCleanupGlobals (void)<br/>
</pre><p>Unregister all global variables set up by the XSLT library</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltInit"/>xsltInit ()</h3><pre class="programlisting">void xsltInit (void)<br/>
</pre><p>Initializes the processor (e.g. registers built-in extensions, etc.)</p>
</div>
<hr/>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>xsltexports: macros for marking symbols as exportable/importable.</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-xsltInternals.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-xsltlocale.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">xsltexports</span>
</h2>
<p>xsltexports - macros for marking symbols as exportable/importable.</p>
<p>macros for marking symbols as exportable/importable. </p>
<p>Author(s): Igor Zlatkovic &lt;igor@zlatkovic.com&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#LIBXSLT_PUBLIC">LIBXSLT_PUBLIC</a>;
#define <a href="#XSLTPUBFUN">XSLTPUBFUN</a>;
#define <a href="#XSLTPUBVAR">XSLTPUBVAR</a>;
#define <a href="#_REENTRANT">_REENTRANT</a>;
#define <a href="#XSLTCALL">XSLTCALL</a>;
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="LIBXSLT_PUBLIC">Macro </a>LIBXSLT_PUBLIC</h3><pre class="programlisting">#define <a href="#LIBXSLT_PUBLIC">LIBXSLT_PUBLIC</a>;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLTCALL">Macro </a>XSLTCALL</h3><pre class="programlisting">#define <a href="#XSLTCALL">XSLTCALL</a>;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLTPUBFUN">Macro </a>XSLTPUBFUN</h3><pre class="programlisting">#define <a href="#XSLTPUBFUN">XSLTPUBFUN</a>;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLTPUBVAR">Macro </a>XSLTPUBVAR</h3><pre class="programlisting">#define <a href="#XSLTPUBVAR">XSLTPUBVAR</a>;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="_REENTRANT">Macro </a>_REENTRANT</h3><pre class="programlisting">#define <a href="#_REENTRANT">_REENTRANT</a>;
</pre><p/>
</div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>xsltlocale: Locale handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-xsltexports.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libxslt-xsltutils.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">xsltlocale</span>
</h2>
<p>xsltlocale - Locale handling</p>
<p>Interfaces for locale handling. Needed for language dependent sorting. </p>
<p>Author(s): Nick Wellnhofer </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XSLT_LOCALE_WINAPI">XSLT_LOCALE_WINAPI</a>;
#define <a href="#XSLT_LOCALE_NONE">XSLT_LOCALE_NONE</a>;
#define <a href="#XSLT_LOCALE_POSIX">XSLT_LOCALE_POSIX</a>;
typedef void * <a href="#xsltLocale">xsltLocale</a>;
typedef xmlChar <a href="#xsltLocaleChar">xsltLocaleChar</a>;
<a href="libxslt-xsltlocale.html#xsltLocale">xsltLocale</a> <a href="#xsltNewLocale">xsltNewLocale</a> (const xmlChar * languageTag);
int <a href="#xsltLocaleStrcmp">xsltLocaleStrcmp</a> (<a href="libxslt-xsltlocale.html#xsltLocale">xsltLocale</a> locale, <br/> const <a href="libxslt-xsltlocale.html#xsltLocaleChar">xsltLocaleChar</a> * str1, <br/> const <a href="libxslt-xsltlocale.html#xsltLocaleChar">xsltLocaleChar</a> * str2);
void <a href="#xsltFreeLocale">xsltFreeLocale</a> (<a href="libxslt-xsltlocale.html#xsltLocale">xsltLocale</a> locale);
<a href="libxslt-xsltlocale.html#xsltLocaleChar">xsltLocaleChar</a> * <a href="#xsltStrxfrm">xsltStrxfrm</a> (<a href="libxslt-xsltlocale.html#xsltLocale">xsltLocale</a> locale, <br/> const xmlChar * string);
void <a href="#xsltFreeLocales">xsltFreeLocales</a> (void);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="XSLT_LOCALE_NONE">Macro </a>XSLT_LOCALE_NONE</h3><pre class="programlisting">#define <a href="#XSLT_LOCALE_NONE">XSLT_LOCALE_NONE</a>;
</pre><p>Macro indicating that there's no extended locale support</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_LOCALE_POSIX">Macro </a>XSLT_LOCALE_POSIX</h3><pre class="programlisting">#define <a href="#XSLT_LOCALE_POSIX">XSLT_LOCALE_POSIX</a>;
</pre><p>Macro indicating to use POSIX locale extensions</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_LOCALE_WINAPI">Macro </a>XSLT_LOCALE_WINAPI</h3><pre class="programlisting">#define <a href="#XSLT_LOCALE_WINAPI">XSLT_LOCALE_WINAPI</a>;
</pre><p>Macro indicating to use WinAPI for extended locale support</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltLocale">Typedef </a>xsltLocale</h3><pre class="programlisting">void * xsltLocale;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltLocaleChar">Typedef </a>xsltLocaleChar</h3><pre class="programlisting">xmlChar xsltLocaleChar;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeLocale"/>xsltFreeLocale ()</h3><pre class="programlisting">void xsltFreeLocale (<a href="libxslt-xsltlocale.html#xsltLocale">xsltLocale</a> locale)<br/>
</pre><p>Frees a locale created with <a href="libxslt-xsltlocale.html#xsltNewLocale">xsltNewLocale</a></p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>locale</tt></i>:</span></td><td>the locale to free</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltFreeLocales"/>xsltFreeLocales ()</h3><pre class="programlisting">void xsltFreeLocales (void)<br/>
</pre><p>Cleanup function for the locale support on shutdown</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltLocaleStrcmp"/>xsltLocaleStrcmp ()</h3><pre class="programlisting">int xsltLocaleStrcmp (<a href="libxslt-xsltlocale.html#xsltLocale">xsltLocale</a> locale, <br/> const <a href="libxslt-xsltlocale.html#xsltLocaleChar">xsltLocaleChar</a> * str1, <br/> const <a href="libxslt-xsltlocale.html#xsltLocaleChar">xsltLocaleChar</a> * str2)<br/>
</pre><p>Compares two strings transformed with <a href="libxslt-xsltlocale.html#xsltStrxfrm">xsltStrxfrm</a></p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>locale</tt></i>:</span></td><td>a locale identifier</td></tr><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>a string transformed with <a href="libxslt-xsltlocale.html#xsltStrxfrm">xsltStrxfrm</a></td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>a string transformed with <a href="libxslt-xsltlocale.html#xsltStrxfrm">xsltStrxfrm</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a value &lt; 0 if str1 sorts before str2, a value &gt; 0 if str1 sorts after str2, 0 if str1 and str2 are equal wrt sorting</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltNewLocale"/>xsltNewLocale ()</h3><pre class="programlisting"><a href="libxslt-xsltlocale.html#xsltLocale">xsltLocale</a> xsltNewLocale (const xmlChar * languageTag)<br/>
</pre><p>Creates a new locale of an opaque system dependent type based on the language tag.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>languageTag</tt></i>:</span></td><td>RFC 3066 language tag</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the locale or NULL on error or if no matching locale was found</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltStrxfrm"/>xsltStrxfrm ()</h3><pre class="programlisting"><a href="libxslt-xsltlocale.html#xsltLocaleChar">xsltLocaleChar</a> * xsltStrxfrm (<a href="libxslt-xsltlocale.html#xsltLocale">xsltLocale</a> locale, <br/> const xmlChar * string)<br/>
</pre><p>Transforms a string according to locale. The transformed string must then be compared with <a href="libxslt-xsltlocale.html#xsltLocaleStrcmp">xsltLocaleStrcmp</a> and freed with xmlFree.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>locale</tt></i>:</span></td><td>locale created with <a href="libxslt-xsltlocale.html#xsltNewLocale">xsltNewLocale</a></td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>UTF-8 string to transform</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the transformed string or NULL on error</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,348 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>xsltutils: set of utilities for the XSLT engine</title>
<meta name="generator" content="Libxml2 devhelp stylesheet"/>
<link rel="start" href="index.html" title="libxslt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libxslt-xsltlocale.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<th width="100%" align="center">libxslt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">xsltutils</span>
</h2>
<p>xsltutils - set of utilities for the XSLT engine</p>
<p>interfaces for the utilities module of the XSLT engine. things like message handling, profiling, and other generally useful routines. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#IS_XSLT_REAL_NODE">IS_XSLT_REAL_NODE</a>;
#define <a href="#IS_XSLT_ELEM">IS_XSLT_ELEM</a>;
#define <a href="#IS_XSLT_NAME">IS_XSLT_NAME</a>;
#define <a href="#XSLT_TODO">XSLT_TODO</a>;
#define <a href="#XSLT_STRANGE">XSLT_STRANGE</a>;
#define <a href="#XSLT_TIMESTAMP_TICS_PER_SEC">XSLT_TIMESTAMP_TICS_PER_SEC</a>;
#define <a href="#XSLT_TRACE">XSLT_TRACE</a>;
typedef enum <a href="#xsltDebugTraceCodes">xsltDebugTraceCodes</a>;
typedef enum <a href="#xsltDebugStatusCodes">xsltDebugStatusCodes</a>;
int <a href="#xsltSaveResultToFile">xsltSaveResultToFile</a> (FILE * file, <br/> xmlDocPtr result, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
void <a href="#xsltSetGenericErrorFunc">xsltSetGenericErrorFunc</a> (void * ctx, <br/> xmlGenericErrorFunc handler);
int <a href="#xsltSetDebuggerCallbacks">xsltSetDebuggerCallbacks</a> (int no, <br/> void * block);
int <a href="#xsltSaveResultTo">xsltSaveResultTo</a> (xmlOutputBufferPtr buf, <br/> xmlDocPtr result, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
void <a href="#xsltTransformError">xsltTransformError</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr node, <br/> const char * msg, <br/> ... ...);
int <a href="#xslAddCall">xslAddCall</a> (<a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ, <br/> xmlNodePtr source);
void <a href="#xsltDocumentSortFunction">xsltDocumentSortFunction</a> (xmlNodeSetPtr list);
const xmlChar * <a href="#xsltGetQNameURI2">xsltGetQNameURI2</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr node, <br/> const xmlChar ** name);
xmlXPathObjectPtr * <a href="#xsltComputeSortResult">xsltComputeSortResult</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr sort);
void <a href="#xsltPrintErrorContext">xsltPrintErrorContext</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr node);
int <a href="#xsltGetUTF8Char">xsltGetUTF8Char</a> (const unsigned char * utf, <br/> int * len);
void <a href="#xsltDefaultSortFunction">xsltDefaultSortFunction</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr * sorts, <br/> int nbsorts);
int <a href="#xsltSaveResultToFd">xsltSaveResultToFd</a> (int fd, <br/> xmlDocPtr result, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
void <a href="#xsltSetCtxtSortFunc">xsltSetCtxtSortFunc</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltSortFunc">xsltSortFunc</a> handler);
xmlChar * <a href="#xsltGetNsProp">xsltGetNsProp</a> (xmlNodePtr node, <br/> const xmlChar * name, <br/> const xmlChar * nameSpace);
const xmlChar * <a href="#xsltGetCNsProp">xsltGetCNsProp</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr node, <br/> const xmlChar * name, <br/> const xmlChar * nameSpace);
const xmlChar * <a href="#xsltGetQNameURI">xsltGetQNameURI</a> (xmlNodePtr node, <br/> xmlChar ** name);
typedef int <a href="#xsltAddCallCallback">xsltAddCallCallback</a> (<a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ, <br/> xmlNodePtr source);
void <a href="#xsltCalibrateAdjust">xsltCalibrateAdjust</a> (long delta);
void <a href="#xsltSaveProfiling">xsltSaveProfiling</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> FILE * output);
int <a href="#xsltSaveResultToString">xsltSaveResultToString</a> (xmlChar ** doc_txt_ptr, <br/> int * doc_txt_len, <br/> xmlDocPtr result, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
const xmlChar * <a href="#xsltSplitQName">xsltSplitQName</a> (xmlDictPtr dict, <br/> const xmlChar * name, <br/> const xmlChar ** prefix);
void <a href="#xsltDoSortFunction">xsltDoSortFunction</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr * sorts, <br/> int nbsorts);
<a href="libxslt-xsltutils.html#xsltDebugTraceCodes">xsltDebugTraceCodes</a> <a href="#xsltDebugGetDefaultTrace">xsltDebugGetDefaultTrace</a> (void);
void <a href="#xsltMessage">xsltMessage</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst);
int <a href="#xsltGetDebuggerStatus">xsltGetDebuggerStatus</a> (void);
long <a href="#xsltTimestamp">xsltTimestamp</a> (void);
void <a href="#xsltSetTransformErrorFunc">xsltSetTransformErrorFunc</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> void * ctx, <br/> xmlGenericErrorFunc handler);
xmlXPathCompExprPtr <a href="#xsltXPathCompile">xsltXPathCompile</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * str);
void <a href="#xsltDebugSetDefaultTrace">xsltDebugSetDefaultTrace</a> (<a href="libxslt-xsltutils.html#xsltDebugTraceCodes">xsltDebugTraceCodes</a> val);
void <a href="#xsltSetGenericDebugFunc">xsltSetGenericDebugFunc</a> (void * ctx, <br/> xmlGenericErrorFunc handler);
xmlXPathCompExprPtr <a href="#xsltXPathCompileFlags">xsltXPathCompileFlags</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * str, <br/> int flags);
int <a href="#xsltSetCtxtParseOptions">xsltSetCtxtParseOptions</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> int options);
void <a href="#xsltSetDebuggerStatus">xsltSetDebuggerStatus</a> (int value);
void <a href="#xslDropCall">xslDropCall</a> (void);
void <a href="#xsltSetSortFunc">xsltSetSortFunc</a> (<a href="libxslt-xsltInternals.html#xsltSortFunc">xsltSortFunc</a> handler);
typedef void <a href="#xsltHandleDebuggerCallback">xsltHandleDebuggerCallback</a> (xmlNodePtr cur, <br/> xmlNodePtr node, <br/> <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
int <a href="#xsltSaveResultToFilename">xsltSaveResultToFilename</a> (const char * URL, <br/> xmlDocPtr result, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> int compression);
typedef void <a href="#xsltDropCallCallback">xsltDropCallCallback</a> (void);
xmlDocPtr <a href="#xsltGetProfileInformation">xsltGetProfileInformation</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="IS_XSLT_ELEM">Macro </a>IS_XSLT_ELEM</h3><pre class="programlisting">#define <a href="#IS_XSLT_ELEM">IS_XSLT_ELEM</a>;
</pre><p>Checks that the element pertains to XSLT namespace.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="IS_XSLT_NAME">Macro </a>IS_XSLT_NAME</h3><pre class="programlisting">#define <a href="#IS_XSLT_NAME">IS_XSLT_NAME</a>;
</pre><p>Checks the value of an element in XSLT namespace.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="IS_XSLT_REAL_NODE">Macro </a>IS_XSLT_REAL_NODE</h3><pre class="programlisting">#define <a href="#IS_XSLT_REAL_NODE">IS_XSLT_REAL_NODE</a>;
</pre><p>Check that a node is a 'real' one: document, element, text or attribute.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_STRANGE">Macro </a>XSLT_STRANGE</h3><pre class="programlisting">#define <a href="#XSLT_STRANGE">XSLT_STRANGE</a>;
</pre><p>Macro to flag that a problem was detected internally.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_TIMESTAMP_TICS_PER_SEC">Macro </a>XSLT_TIMESTAMP_TICS_PER_SEC</h3><pre class="programlisting">#define <a href="#XSLT_TIMESTAMP_TICS_PER_SEC">XSLT_TIMESTAMP_TICS_PER_SEC</a>;
</pre><p>Sampling precision for profiling</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_TODO">Macro </a>XSLT_TODO</h3><pre class="programlisting">#define <a href="#XSLT_TODO">XSLT_TODO</a>;
</pre><p>Macro to flag unimplemented blocks.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XSLT_TRACE">Macro </a>XSLT_TRACE</h3><pre class="programlisting">#define <a href="#XSLT_TRACE">XSLT_TRACE</a>;
</pre><p>Control the type of xsl debugtrace messages emitted.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDebugStatusCodes">Enum </a>xsltDebugStatusCodes</h3><pre class="programlisting">enum <a href="#xsltDebugStatusCodes">xsltDebugStatusCodes</a> {
<a name="XSLT_DEBUG_NONE">XSLT_DEBUG_NONE</a> = 0 /* no debugging allowed */
<a name="XSLT_DEBUG_INIT">XSLT_DEBUG_INIT</a> = 1
<a name="XSLT_DEBUG_STEP">XSLT_DEBUG_STEP</a> = 2
<a name="XSLT_DEBUG_STEPOUT">XSLT_DEBUG_STEPOUT</a> = 3
<a name="XSLT_DEBUG_NEXT">XSLT_DEBUG_NEXT</a> = 4
<a name="XSLT_DEBUG_STOP">XSLT_DEBUG_STOP</a> = 5
<a name="XSLT_DEBUG_CONT">XSLT_DEBUG_CONT</a> = 6
<a name="XSLT_DEBUG_RUN">XSLT_DEBUG_RUN</a> = 7
<a name="XSLT_DEBUG_RUN_RESTART">XSLT_DEBUG_RUN_RESTART</a> = 8
<a name="XSLT_DEBUG_QUIT">XSLT_DEBUG_QUIT</a> = 9
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDebugTraceCodes">Enum </a>xsltDebugTraceCodes</h3><pre class="programlisting">enum <a href="#xsltDebugTraceCodes">xsltDebugTraceCodes</a> {
<a name="XSLT_TRACE_ALL">XSLT_TRACE_ALL</a> = -1
<a name="XSLT_TRACE_NONE">XSLT_TRACE_NONE</a> = 0
<a name="XSLT_TRACE_COPY_TEXT">XSLT_TRACE_COPY_TEXT</a> = 1
<a name="XSLT_TRACE_PROCESS_NODE">XSLT_TRACE_PROCESS_NODE</a> = 2
<a name="XSLT_TRACE_APPLY_TEMPLATE">XSLT_TRACE_APPLY_TEMPLATE</a> = 4
<a name="XSLT_TRACE_COPY">XSLT_TRACE_COPY</a> = 8
<a name="XSLT_TRACE_COMMENT">XSLT_TRACE_COMMENT</a> = 16
<a name="XSLT_TRACE_PI">XSLT_TRACE_PI</a> = 32
<a name="XSLT_TRACE_COPY_OF">XSLT_TRACE_COPY_OF</a> = 64
<a name="XSLT_TRACE_VALUE_OF">XSLT_TRACE_VALUE_OF</a> = 128
<a name="XSLT_TRACE_CALL_TEMPLATE">XSLT_TRACE_CALL_TEMPLATE</a> = 256
<a name="XSLT_TRACE_APPLY_TEMPLATES">XSLT_TRACE_APPLY_TEMPLATES</a> = 512
<a name="XSLT_TRACE_CHOOSE">XSLT_TRACE_CHOOSE</a> = 1024
<a name="XSLT_TRACE_IF">XSLT_TRACE_IF</a> = 2048
<a name="XSLT_TRACE_FOR_EACH">XSLT_TRACE_FOR_EACH</a> = 4096
<a name="XSLT_TRACE_STRIP_SPACES">XSLT_TRACE_STRIP_SPACES</a> = 8192
<a name="XSLT_TRACE_TEMPLATES">XSLT_TRACE_TEMPLATES</a> = 16384
<a name="XSLT_TRACE_KEYS">XSLT_TRACE_KEYS</a> = 32768
<a name="XSLT_TRACE_VARIABLES">XSLT_TRACE_VARIABLES</a> = 65536
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltAddCallCallback"/>Function type xsltAddCallCallback</h3><pre class="programlisting">int xsltAddCallCallback (<a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ, <br/> xmlNodePtr source)<br/>
</pre><p/>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>templ</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>source</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDropCallCallback"/>Function type xsltDropCallCallback</h3><pre class="programlisting">void xsltDropCallCallback (void)<br/>
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltHandleDebuggerCallback"/>Function type xsltHandleDebuggerCallback</h3><pre class="programlisting">void xsltHandleDebuggerCallback (xmlNodePtr cur, <br/> xmlNodePtr node, <br/> <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ, <br/> <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p/>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>templ</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xslDebugStatus">Variable </a>xslDebugStatus</h3><pre class="programlisting">int xslDebugStatus;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGenericDebug">Variable </a>xsltGenericDebug</h3><pre class="programlisting">xmlGenericErrorFunc xsltGenericDebug;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGenericDebugContext">Variable </a>xsltGenericDebugContext</h3><pre class="programlisting">void * xsltGenericDebugContext;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGenericError">Variable </a>xsltGenericError</h3><pre class="programlisting">xmlGenericErrorFunc xsltGenericError;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGenericErrorContext">Variable </a>xsltGenericErrorContext</h3><pre class="programlisting">void * xsltGenericErrorContext;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xslAddCall"/>xslAddCall ()</h3><pre class="programlisting">int xslAddCall (<a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ, <br/> xmlNodePtr source)<br/>
</pre><p>Add template "call" to call stack</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>templ</tt></i>:</span></td><td>current template being applied</td></tr><tr><td><span class="term"><i><tt>source</tt></i>:</span></td><td>the source node being processed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>: 1 on sucess 0 otherwise an error may be printed if WITH_XSLT_DEBUG_BREAKPOINTS is defined</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xslDropCall"/>xslDropCall ()</h3><pre class="programlisting">void xslDropCall (void)<br/>
</pre><p>Drop the topmost item off the call stack</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltCalibrateAdjust"/>xsltCalibrateAdjust ()</h3><pre class="programlisting">void xsltCalibrateAdjust (long delta)<br/>
</pre><p>Used for to correct the calibration for xsltTimestamp()</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>delta</tt></i>:</span></td><td>a negative dealy value found</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltComputeSortResult"/>xsltComputeSortResult ()</h3><pre class="programlisting">xmlXPathObjectPtr * xsltComputeSortResult (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr sort)<br/>
</pre><p>reorder the current node list accordingly to the set of sorting requirement provided by the array of nodes.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>sort</tt></i>:</span></td><td>node list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a ordered XPath nodeset or NULL in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDebugGetDefaultTrace"/>xsltDebugGetDefaultTrace ()</h3><pre class="programlisting"><a href="libxslt-xsltutils.html#xsltDebugTraceCodes">xsltDebugTraceCodes</a> xsltDebugGetDefaultTrace (void)<br/>
</pre><p>Get the current default debug tracing level mask</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current default debug tracing level mask</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDebugSetDefaultTrace"/>xsltDebugSetDefaultTrace ()</h3><pre class="programlisting">void xsltDebugSetDefaultTrace (<a href="libxslt-xsltutils.html#xsltDebugTraceCodes">xsltDebugTraceCodes</a> val)<br/>
</pre><p>Set the default debug tracing level mask</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>tracing level mask</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDefaultSortFunction"/>xsltDefaultSortFunction ()</h3><pre class="programlisting">void xsltDefaultSortFunction (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr * sorts, <br/> int nbsorts)<br/>
</pre><p>reorder the current node list accordingly to the set of sorting requirement provided by the arry of nodes.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>sorts</tt></i>:</span></td><td>array of sort nodes</td></tr><tr><td><span class="term"><i><tt>nbsorts</tt></i>:</span></td><td>the number of sorts in the array</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDoSortFunction"/>xsltDoSortFunction ()</h3><pre class="programlisting">void xsltDoSortFunction (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr * sorts, <br/> int nbsorts)<br/>
</pre><p>reorder the current node list accordingly to the set of sorting requirement provided by the arry of nodes. This is a wrapper function, the actual function used is specified using xsltSetCtxtSortFunc() to set the context specific sort function, or xsltSetSortFunc() to set the global sort function. If a sort function is set on the context, this will get called. Otherwise the global sort function is called.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>sorts</tt></i>:</span></td><td>array of sort nodes</td></tr><tr><td><span class="term"><i><tt>nbsorts</tt></i>:</span></td><td>the number of sorts in the array</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltDocumentSortFunction"/>xsltDocumentSortFunction ()</h3><pre class="programlisting">void xsltDocumentSortFunction (xmlNodeSetPtr list)<br/>
</pre><p>reorder the current node list @list accordingly to the document order This function is slow, obsolete and should not be used anymore.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>the node set</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetCNsProp"/>xsltGetCNsProp ()</h3><pre class="programlisting">const xmlChar * xsltGetCNsProp (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr node, <br/> const xmlChar * name, <br/> const xmlChar * nameSpace)<br/>
</pre><p>Similar to xmlGetNsProp() but with a slightly different semantic Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified, or has no namespace and the element is in that namespace. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the attribute name</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the URI of the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the attribute value or NULL if not found. The string is allocated in the stylesheet dictionary.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetDebuggerStatus"/>xsltGetDebuggerStatus ()</h3><pre class="programlisting">int xsltGetDebuggerStatus (void)<br/>
</pre><p>Get xslDebugStatus.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value of xslDebugStatus.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetNsProp"/>xsltGetNsProp ()</h3><pre class="programlisting">xmlChar * xsltGetNsProp (xmlNodePtr node, <br/> const xmlChar * name, <br/> const xmlChar * nameSpace)<br/>
</pre><p>Similar to xmlGetNsProp() but with a slightly different semantic Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified, or has no namespace and the element is in that namespace. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the attribute name</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the URI of the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the attribute value or NULL if not found. It's up to the caller to free the memory.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetProfileInformation"/>xsltGetProfileInformation ()</h3><pre class="programlisting">xmlDocPtr xsltGetProfileInformation (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
</pre><p>This function should be called after the transformation completed to extract template processing profiling information if available. The information is returned as an XML document tree like &lt;?xml version="1.0"?&gt; &lt;profile&gt; &lt;template rank="1" match="*" name="" mode="" calls="6" time="48" average="8"/&gt; &lt;template rank="2" match="item2|item3" name="" mode="" calls="10" time="30" average="3"/&gt; &lt;template rank="3" match="item1" name="" mode="" calls="5" time="17" average="3"/&gt; &lt;/profile&gt; The caller will need to free up the returned tree with xmlFreeDoc()</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a transformation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xmlDocPtr corresponding to the result or NULL if not available.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetQNameURI"/>xsltGetQNameURI ()</h3><pre class="programlisting">const xmlChar * xsltGetQNameURI (xmlNodePtr node, <br/> xmlChar ** name)<br/>
</pre><p>This function analyzes @name, if the name contains a prefix, the function seaches the associated namespace in scope for it. It will also replace @name value with the NCName, the old value being freed. Errors in the prefix lookup are signalled by setting @name to NULL. NOTE: the namespace returned is a pointer to the place where it is defined and hence has the same lifespan as the document holding it.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node holding the QName</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>pointer to the initial QName value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace URI if there is a prefix, or NULL if @name is not prefixed.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetQNameURI2"/>xsltGetQNameURI2 ()</h3><pre class="programlisting">const xmlChar * xsltGetQNameURI2 (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr node, <br/> const xmlChar ** name)<br/>
</pre><p>This function is similar to xsltGetQNameURI, but is used when @name is a dictionary entry.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>stylesheet pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node holding the QName</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>pointer to the initial QName value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace URI if there is a prefix, or NULL if @name is not prefixed.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltGetUTF8Char"/>xsltGetUTF8Char ()</h3><pre class="programlisting">int xsltGetUTF8Char (const unsigned char * utf, <br/> int * len)<br/>
</pre><p>Read one UTF8 Char from @utf Function copied from libxml2 xmlGetUTF8Char() ... to discard ultimately and use the original API</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to @bytes len</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the char value or -1 in case of error and update @len with the number of bytes used</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltMessage"/>xsltMessage ()</h3><pre class="programlisting">void xsltMessage (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> xmlNodePtr node, <br/> xmlNodePtr inst)<br/>
</pre><p>Process and xsl:message construct</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT processing context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>The current node</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>The node containing the message instruction</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltPrintErrorContext"/>xsltPrintErrorContext ()</h3><pre class="programlisting">void xsltPrintErrorContext (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr node)<br/>
</pre><p>Display the context of an error.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the transformation context</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node being processed</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSaveProfiling"/>xsltSaveProfiling ()</h3><pre class="programlisting">void xsltSaveProfiling (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> FILE * output)<br/>
</pre><p>Save the profiling information on @output</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT context</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>a FILE * for saving the information</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSaveResultTo"/>xsltSaveResultTo ()</h3><pre class="programlisting">int xsltSaveResultTo (xmlOutputBufferPtr buf, <br/> xmlDocPtr result, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Save the result @result obtained by applying the @style stylesheet to an I/O output channel @buf</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output buffer</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>the result xmlDocPtr</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSaveResultToFd"/>xsltSaveResultToFd ()</h3><pre class="programlisting">int xsltSaveResultToFd (int fd, <br/> xmlDocPtr result, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Save the result @result obtained by applying the @style stylesheet to an open file descriptor This does not close the descriptor.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>a file descriptor</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>the result xmlDocPtr</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSaveResultToFile"/>xsltSaveResultToFile ()</h3><pre class="programlisting">int xsltSaveResultToFile (FILE * file, <br/> xmlDocPtr result, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Save the result @result obtained by applying the @style stylesheet to an open FILE * I/O. This does not close the FILE @file</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>a FILE * I/O</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>the result xmlDocPtr</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSaveResultToFilename"/>xsltSaveResultToFilename ()</h3><pre class="programlisting">int xsltSaveResultToFilename (const char * URL, <br/> xmlDocPtr result, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> int compression)<br/>
</pre><p>Save the result @result obtained by applying the @style stylesheet to a file or @URL</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>a filename or URL</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>the result xmlDocPtr</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression factor (0 - 9 included)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSaveResultToString"/>xsltSaveResultToString ()</h3><pre class="programlisting">int xsltSaveResultToString (xmlChar ** doc_txt_ptr, <br/> int * doc_txt_len, <br/> xmlDocPtr result, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
</pre><p>Save the result @result obtained by applying the @style stylesheet to a new allocated string.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>Memory pointer for allocated XML text</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td><td>Length of the generated XML text</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>the result xmlDocPtr</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetCtxtParseOptions"/>xsltSetCtxtParseOptions ()</h3><pre class="programlisting">int xsltSetCtxtParseOptions (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> int options)<br/>
</pre><p>Change the default parser option passed by the XSLT engine to the parser when using document() loading.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of libxml2 xmlParserOption</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous options or -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetCtxtSortFunc"/>xsltSetCtxtSortFunc ()</h3><pre class="programlisting">void xsltSetCtxtSortFunc (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltSortFunc">xsltSortFunc</a> handler)<br/>
</pre><p>Function to set the handler for XSLT sorting for the specified context. If the handler is NULL, then the global sort function will be called</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XSLT process context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetDebuggerCallbacks"/>xsltSetDebuggerCallbacks ()</h3><pre class="programlisting">int xsltSetDebuggerCallbacks (int no, <br/> void * block)<br/>
</pre><p>This function allow to plug a debugger into the XSLT library @block points to a block of memory containing the address of @no callback routines.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>no</tt></i>:</span></td><td>number of callbacks</td></tr><tr><td><span class="term"><i><tt>block</tt></i>:</span></td><td>the block of callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetDebuggerStatus"/>xsltSetDebuggerStatus ()</h3><pre class="programlisting">void xsltSetDebuggerStatus (int value)<br/>
</pre><p>This function sets the value of xslDebugStatus.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to be set</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetGenericDebugFunc"/>xsltSetGenericDebugFunc ()</h3><pre class="programlisting">void xsltSetGenericDebugFunc (void * ctx, <br/> xmlGenericErrorFunc handler)<br/>
</pre><p>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing or validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetGenericErrorFunc"/>xsltSetGenericErrorFunc ()</h3><pre class="programlisting">void xsltSetGenericErrorFunc (void * ctx, <br/> xmlGenericErrorFunc handler)<br/>
</pre><p>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetSortFunc"/>xsltSetSortFunc ()</h3><pre class="programlisting">void xsltSetSortFunc (<a href="libxslt-xsltInternals.html#xsltSortFunc">xsltSortFunc</a> handler)<br/>
</pre><p>Function to reset the global handler for XSLT sorting. If the handler is NULL, the default sort function will be used.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSetTransformErrorFunc"/>xsltSetTransformErrorFunc ()</h3><pre class="programlisting">void xsltSetTransformErrorFunc (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> void * ctx, <br/> xmlGenericErrorFunc handler)<br/>
</pre><p>Function to reset the handler and the error context for out of context error messages specific to a given XSLT transromation. This simply means that @handler will be called for subsequent error messages while running the transformation.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltSplitQName"/>xsltSplitQName ()</h3><pre class="programlisting">const xmlChar * xsltSplitQName (xmlDictPtr dict, <br/> const xmlChar * name, <br/> const xmlChar ** prefix)<br/>
</pre><p>Split QNames into prefix and local names, both allocated from a dictionary.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>a dictionary</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the full QName</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the return value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the localname or NULL in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltTimestamp"/>xsltTimestamp ()</h3><pre class="programlisting">long xsltTimestamp (void)<br/>
</pre><p>Used for gathering profiling data</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of tenth of milliseconds since the beginning of the profiling</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltTransformError"/>xsltTransformError ()</h3><pre class="programlisting">void xsltTransformError (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/> <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> xmlNodePtr node, <br/> const char * msg, <br/> ... ...)<br/>
</pre><p>Display and format an error messages, gives file, line, position and extra parameters, will use the specific transformation context if available</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet used</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node in the stylesheet</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltXPathCompile"/>xsltXPathCompile ()</h3><pre class="programlisting">xmlXPathCompExprPtr xsltXPathCompile (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * str)<br/>
</pre><p>Compile an XPath expression</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xmlXPathCompExprPtr resulting from the compilation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xsltXPathCompileFlags"/>xsltXPathCompileFlags ()</h3><pre class="programlisting">xmlXPathCompExprPtr xsltXPathCompileFlags (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/> const xmlChar * str, <br/> int flags)<br/>
</pre><p>Compile an XPath expression</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the stylesheet</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>extra compilation flags to pass down to libxml2 XPath</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xmlXPathCompExprPtr resulting from the compilation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,558 @@
<?xml version="1.0" encoding="UTF-8"?>
<book xmlns="http://www.devhelp.net/book" title="libxslt Reference Manual" link="index.html" author="" name="libxslt">
<chapters>
<sub name="API" link="general.html">
<sub name="attributes" link="libxslt-attributes.html"/>
<sub name="documents" link="libxslt-documents.html"/>
<sub name="extensions" link="libxslt-extensions.html"/>
<sub name="extra" link="libxslt-extra.html"/>
<sub name="functions" link="libxslt-functions.html"/>
<sub name="imports" link="libxslt-imports.html"/>
<sub name="keys" link="libxslt-keys.html"/>
<sub name="namespaces" link="libxslt-namespaces.html"/>
<sub name="numbersInternals" link="libxslt-numbersInternals.html"/>
<sub name="pattern" link="libxslt-pattern.html"/>
<sub name="preproc" link="libxslt-preproc.html"/>
<sub name="security" link="libxslt-security.html"/>
<sub name="templates" link="libxslt-templates.html"/>
<sub name="transform" link="libxslt-transform.html"/>
<sub name="variables" link="libxslt-variables.html"/>
<sub name="xslt" link="libxslt-xslt.html"/>
<sub name="xsltInternals" link="libxslt-xsltInternals.html"/>
<sub name="xsltexports" link="libxslt-xsltexports.html"/>
<sub name="xsltlocale" link="libxslt-xsltlocale.html"/>
<sub name="xsltutils" link="libxslt-xsltutils.html"/>
</sub>
</chapters>
<functions>
<keyword type="macro" name="CHECK_STOPPED" link="libxslt-xsltInternals.html#CHECK_STOPPED"/>
<keyword type="macro" name="CHECK_STOPPED0" link="libxslt-xsltInternals.html#CHECK_STOPPED0"/>
<keyword type="macro" name="CHECK_STOPPEDE" link="libxslt-xsltInternals.html#CHECK_STOPPEDE"/>
<keyword type="macro" name="IS_XSLT_ATTR_FAST" link="libxslt-xsltInternals.html#IS_XSLT_ATTR_FAST"/>
<keyword type="macro" name="IS_XSLT_ELEM" link="libxslt-xsltutils.html#IS_XSLT_ELEM"/>
<keyword type="macro" name="IS_XSLT_ELEM_FAST" link="libxslt-xsltInternals.html#IS_XSLT_ELEM_FAST"/>
<keyword type="macro" name="IS_XSLT_NAME" link="libxslt-xsltutils.html#IS_XSLT_NAME"/>
<keyword type="macro" name="IS_XSLT_REAL_NODE" link="libxslt-xsltutils.html#IS_XSLT_REAL_NODE"/>
<keyword type="macro" name="LIBXSLT_PUBLIC" link="libxslt-xsltexports.html#LIBXSLT_PUBLIC"/>
<keyword type="macro" name="NODE_IS_KEYED" link="libxslt-keys.html#NODE_IS_KEYED"/>
<keyword type="macro" name="UNDEFINED_DEFAULT_NS" link="libxslt-namespaces.html#UNDEFINED_DEFAULT_NS"/>
<keyword type="macro" name="XML_CAST_FPTR" link="libxslt-xsltInternals.html#XML_CAST_FPTR"/>
<keyword type="macro" name="XSLTCALL" link="libxslt-xsltexports.html#XSLTCALL"/>
<keyword type="macro" name="XSLTPUBFUN" link="libxslt-xsltexports.html#XSLTPUBFUN"/>
<keyword type="macro" name="XSLTPUBVAR" link="libxslt-xsltexports.html#XSLTPUBVAR"/>
<keyword type="macro" name="XSLT_CCTXT" link="libxslt-xsltInternals.html#XSLT_CCTXT"/>
<keyword type="macro" name="XSLT_DEFAULT_URL" link="libxslt-xslt.html#XSLT_DEFAULT_URL"/>
<keyword type="macro" name="XSLT_DEFAULT_VENDOR" link="libxslt-xslt.html#XSLT_DEFAULT_VENDOR"/>
<keyword type="macro" name="XSLT_DEFAULT_VERSION" link="libxslt-xslt.html#XSLT_DEFAULT_VERSION"/>
<keyword type="macro" name="XSLT_FAST_IF" link="libxslt-xsltInternals.html#XSLT_FAST_IF"/>
<keyword type="macro" name="XSLT_GET_IMPORT_INT" link="libxslt-imports.html#XSLT_GET_IMPORT_INT"/>
<keyword type="macro" name="XSLT_GET_IMPORT_PTR" link="libxslt-imports.html#XSLT_GET_IMPORT_PTR"/>
<keyword type="macro" name="XSLT_GET_INTERNAL_NSMAP" link="libxslt-xsltInternals.html#XSLT_GET_INTERNAL_NSMAP"/>
<keyword type="macro" name="XSLT_HAS_INTERNAL_NSMAP" link="libxslt-xsltInternals.html#XSLT_HAS_INTERNAL_NSMAP"/>
<keyword type="macro" name="XSLT_IS_RES_TREE_FRAG" link="libxslt-xsltInternals.html#XSLT_IS_RES_TREE_FRAG"/>
<keyword type="macro" name="XSLT_IS_TEXT_NODE" link="libxslt-xsltInternals.html#XSLT_IS_TEXT_NODE"/>
<keyword type="macro" name="XSLT_ITEM_COMMON_FIELDS" link="libxslt-xsltInternals.html#XSLT_ITEM_COMMON_FIELDS"/>
<keyword type="macro" name="XSLT_ITEM_COMPATIBILITY_FIELDS" link="libxslt-xsltInternals.html#XSLT_ITEM_COMPATIBILITY_FIELDS"/>
<keyword type="macro" name="XSLT_ITEM_NAVIGATION_FIELDS" link="libxslt-xsltInternals.html#XSLT_ITEM_NAVIGATION_FIELDS"/>
<keyword type="macro" name="XSLT_ITEM_NSINSCOPE_FIELDS" link="libxslt-xsltInternals.html#XSLT_ITEM_NSINSCOPE_FIELDS"/>
<keyword type="macro" name="XSLT_LIBXSLT_NAMESPACE" link="libxslt-extra.html#XSLT_LIBXSLT_NAMESPACE"/>
<keyword type="macro" name="XSLT_LOCALE_NONE" link="libxslt-xsltlocale.html#XSLT_LOCALE_NONE"/>
<keyword type="macro" name="XSLT_LOCALE_POSIX" link="libxslt-xsltlocale.html#XSLT_LOCALE_POSIX"/>
<keyword type="macro" name="XSLT_LOCALE_WINAPI" link="libxslt-xsltlocale.html#XSLT_LOCALE_WINAPI"/>
<keyword type="macro" name="XSLT_MARK_RES_TREE_FRAG" link="libxslt-xsltInternals.html#XSLT_MARK_RES_TREE_FRAG"/>
<keyword type="macro" name="XSLT_MAX_SORT" link="libxslt-xsltInternals.html#XSLT_MAX_SORT"/>
<keyword type="macro" name="XSLT_NAMESPACE" link="libxslt-xslt.html#XSLT_NAMESPACE"/>
<keyword type="macro" name="XSLT_PARSE_OPTIONS" link="libxslt-xslt.html#XSLT_PARSE_OPTIONS"/>
<keyword type="macro" name="XSLT_PAT_NO_PRIORITY" link="libxslt-xsltInternals.html#XSLT_PAT_NO_PRIORITY"/>
<keyword type="macro" name="XSLT_REFACTORED_KEYCOMP" link="libxslt-xsltInternals.html#XSLT_REFACTORED_KEYCOMP"/>
<keyword type="macro" name="XSLT_REFACTORED_VARS" link="libxslt-xsltInternals.html#XSLT_REFACTORED_VARS"/>
<keyword type="macro" name="XSLT_REGISTER_FUNCTION_LOOKUP" link="libxslt-functions.html#XSLT_REGISTER_FUNCTION_LOOKUP"/>
<keyword type="macro" name="XSLT_REGISTER_VARIABLE_LOOKUP" link="libxslt-variables.html#XSLT_REGISTER_VARIABLE_LOOKUP"/>
<keyword type="macro" name="XSLT_RUNTIME_EXTRA" link="libxslt-xsltInternals.html#XSLT_RUNTIME_EXTRA"/>
<keyword type="macro" name="XSLT_RUNTIME_EXTRA_FREE" link="libxslt-xsltInternals.html#XSLT_RUNTIME_EXTRA_FREE"/>
<keyword type="macro" name="XSLT_RUNTIME_EXTRA_LST" link="libxslt-xsltInternals.html#XSLT_RUNTIME_EXTRA_LST"/>
<keyword type="macro" name="XSLT_RVT_FUNC_RESULT" link="libxslt-variables.html#XSLT_RVT_FUNC_RESULT"/>
<keyword type="macro" name="XSLT_RVT_GLOBAL" link="libxslt-variables.html#XSLT_RVT_GLOBAL"/>
<keyword type="macro" name="XSLT_RVT_LOCAL" link="libxslt-variables.html#XSLT_RVT_LOCAL"/>
<keyword type="macro" name="XSLT_SAXON_NAMESPACE" link="libxslt-extra.html#XSLT_SAXON_NAMESPACE"/>
<keyword type="macro" name="XSLT_STRANGE" link="libxslt-xsltutils.html#XSLT_STRANGE"/>
<keyword type="macro" name="XSLT_TIMESTAMP_TICS_PER_SEC" link="libxslt-xsltutils.html#XSLT_TIMESTAMP_TICS_PER_SEC"/>
<keyword type="macro" name="XSLT_TODO" link="libxslt-xsltutils.html#XSLT_TODO"/>
<keyword type="macro" name="XSLT_TRACE" link="libxslt-xsltutils.html#XSLT_TRACE"/>
<keyword type="macro" name="XSLT_XALAN_NAMESPACE" link="libxslt-extra.html#XSLT_XALAN_NAMESPACE"/>
<keyword type="macro" name="XSLT_XT_NAMESPACE" link="libxslt-extra.html#XSLT_XT_NAMESPACE"/>
<keyword type="macro" name="_REENTRANT" link="libxslt-xsltexports.html#_REENTRANT"/>
<keyword type="enum" name="XSLT_DEBUG_CONT" link="libxslt-xsltutils.html#XSLT_DEBUG_CONT"/>
<keyword type="enum" name="XSLT_DEBUG_INIT" link="libxslt-xsltutils.html#XSLT_DEBUG_INIT"/>
<keyword type="enum" name="XSLT_DEBUG_NEXT" link="libxslt-xsltutils.html#XSLT_DEBUG_NEXT"/>
<keyword type="enum" name="XSLT_DEBUG_NONE" link="libxslt-xsltutils.html#XSLT_DEBUG_NONE"/>
<keyword type="enum" name="XSLT_DEBUG_QUIT" link="libxslt-xsltutils.html#XSLT_DEBUG_QUIT"/>
<keyword type="enum" name="XSLT_DEBUG_RUN" link="libxslt-xsltutils.html#XSLT_DEBUG_RUN"/>
<keyword type="enum" name="XSLT_DEBUG_RUN_RESTART" link="libxslt-xsltutils.html#XSLT_DEBUG_RUN_RESTART"/>
<keyword type="enum" name="XSLT_DEBUG_STEP" link="libxslt-xsltutils.html#XSLT_DEBUG_STEP"/>
<keyword type="enum" name="XSLT_DEBUG_STEPOUT" link="libxslt-xsltutils.html#XSLT_DEBUG_STEPOUT"/>
<keyword type="enum" name="XSLT_DEBUG_STOP" link="libxslt-xsltutils.html#XSLT_DEBUG_STOP"/>
<keyword type="enum" name="XSLT_ERROR_SEVERITY_ERROR" link="libxslt-xsltInternals.html#XSLT_ERROR_SEVERITY_ERROR"/>
<keyword type="enum" name="XSLT_ERROR_SEVERITY_WARNING" link="libxslt-xsltInternals.html#XSLT_ERROR_SEVERITY_WARNING"/>
<keyword type="enum" name="XSLT_FUNC_APPLYIMPORTS" link="libxslt-xsltInternals.html#XSLT_FUNC_APPLYIMPORTS"/>
<keyword type="enum" name="XSLT_FUNC_APPLYTEMPLATES" link="libxslt-xsltInternals.html#XSLT_FUNC_APPLYTEMPLATES"/>
<keyword type="enum" name="XSLT_FUNC_ATTRIBUTE" link="libxslt-xsltInternals.html#XSLT_FUNC_ATTRIBUTE"/>
<keyword type="enum" name="XSLT_FUNC_ATTRSET" link="libxslt-xsltInternals.html#XSLT_FUNC_ATTRSET"/>
<keyword type="enum" name="XSLT_FUNC_CALLTEMPLATE" link="libxslt-xsltInternals.html#XSLT_FUNC_CALLTEMPLATE"/>
<keyword type="enum" name="XSLT_FUNC_CHOOSE" link="libxslt-xsltInternals.html#XSLT_FUNC_CHOOSE"/>
<keyword type="enum" name="XSLT_FUNC_COMMENT" link="libxslt-xsltInternals.html#XSLT_FUNC_COMMENT"/>
<keyword type="enum" name="XSLT_FUNC_COPY" link="libxslt-xsltInternals.html#XSLT_FUNC_COPY"/>
<keyword type="enum" name="XSLT_FUNC_COPYOF" link="libxslt-xsltInternals.html#XSLT_FUNC_COPYOF"/>
<keyword type="enum" name="XSLT_FUNC_DOCUMENT" link="libxslt-xsltInternals.html#XSLT_FUNC_DOCUMENT"/>
<keyword type="enum" name="XSLT_FUNC_ELEMENT" link="libxslt-xsltInternals.html#XSLT_FUNC_ELEMENT"/>
<keyword type="enum" name="XSLT_FUNC_EXTENSION" link="libxslt-xsltInternals.html#XSLT_FUNC_EXTENSION"/>
<keyword type="enum" name="XSLT_FUNC_FALLBACK" link="libxslt-xsltInternals.html#XSLT_FUNC_FALLBACK"/>
<keyword type="enum" name="XSLT_FUNC_FOREACH" link="libxslt-xsltInternals.html#XSLT_FUNC_FOREACH"/>
<keyword type="enum" name="XSLT_FUNC_IF" link="libxslt-xsltInternals.html#XSLT_FUNC_IF"/>
<keyword type="enum" name="XSLT_FUNC_INCLUDE" link="libxslt-xsltInternals.html#XSLT_FUNC_INCLUDE"/>
<keyword type="enum" name="XSLT_FUNC_LITERAL_RESULT_ELEMENT" link="libxslt-xsltInternals.html#XSLT_FUNC_LITERAL_RESULT_ELEMENT"/>
<keyword type="enum" name="XSLT_FUNC_MESSAGE" link="libxslt-xsltInternals.html#XSLT_FUNC_MESSAGE"/>
<keyword type="enum" name="XSLT_FUNC_NUMBER" link="libxslt-xsltInternals.html#XSLT_FUNC_NUMBER"/>
<keyword type="enum" name="XSLT_FUNC_OTHERWISE" link="libxslt-xsltInternals.html#XSLT_FUNC_OTHERWISE"/>
<keyword type="enum" name="XSLT_FUNC_PARAM" link="libxslt-xsltInternals.html#XSLT_FUNC_PARAM"/>
<keyword type="enum" name="XSLT_FUNC_PI" link="libxslt-xsltInternals.html#XSLT_FUNC_PI"/>
<keyword type="enum" name="XSLT_FUNC_SORT" link="libxslt-xsltInternals.html#XSLT_FUNC_SORT"/>
<keyword type="enum" name="XSLT_FUNC_TEXT" link="libxslt-xsltInternals.html#XSLT_FUNC_TEXT"/>
<keyword type="enum" name="XSLT_FUNC_UNKOWN_FORWARDS_COMPAT" link="libxslt-xsltInternals.html#XSLT_FUNC_UNKOWN_FORWARDS_COMPAT"/>
<keyword type="enum" name="XSLT_FUNC_VALUEOF" link="libxslt-xsltInternals.html#XSLT_FUNC_VALUEOF"/>
<keyword type="enum" name="XSLT_FUNC_VARIABLE" link="libxslt-xsltInternals.html#XSLT_FUNC_VARIABLE"/>
<keyword type="enum" name="XSLT_FUNC_WHEN" link="libxslt-xsltInternals.html#XSLT_FUNC_WHEN"/>
<keyword type="enum" name="XSLT_FUNC_WITHPARAM" link="libxslt-xsltInternals.html#XSLT_FUNC_WITHPARAM"/>
<keyword type="enum" name="XSLT_LOAD_DOCUMENT" link="libxslt-documents.html#XSLT_LOAD_DOCUMENT"/>
<keyword type="enum" name="XSLT_LOAD_START" link="libxslt-documents.html#XSLT_LOAD_START"/>
<keyword type="enum" name="XSLT_LOAD_STYLESHEET" link="libxslt-documents.html#XSLT_LOAD_STYLESHEET"/>
<keyword type="enum" name="XSLT_OUTPUT_HTML" link="libxslt-xsltInternals.html#XSLT_OUTPUT_HTML"/>
<keyword type="enum" name="XSLT_OUTPUT_TEXT" link="libxslt-xsltInternals.html#XSLT_OUTPUT_TEXT"/>
<keyword type="enum" name="XSLT_OUTPUT_XML" link="libxslt-xsltInternals.html#XSLT_OUTPUT_XML"/>
<keyword type="enum" name="XSLT_SECPREF_CREATE_DIRECTORY" link="libxslt-security.html#XSLT_SECPREF_CREATE_DIRECTORY"/>
<keyword type="enum" name="XSLT_SECPREF_READ_FILE" link="libxslt-security.html#XSLT_SECPREF_READ_FILE"/>
<keyword type="enum" name="XSLT_SECPREF_READ_NETWORK" link="libxslt-security.html#XSLT_SECPREF_READ_NETWORK"/>
<keyword type="enum" name="XSLT_SECPREF_WRITE_FILE" link="libxslt-security.html#XSLT_SECPREF_WRITE_FILE"/>
<keyword type="enum" name="XSLT_SECPREF_WRITE_NETWORK" link="libxslt-security.html#XSLT_SECPREF_WRITE_NETWORK"/>
<keyword type="enum" name="XSLT_STATE_ERROR" link="libxslt-xsltInternals.html#XSLT_STATE_ERROR"/>
<keyword type="enum" name="XSLT_STATE_OK" link="libxslt-xsltInternals.html#XSLT_STATE_OK"/>
<keyword type="enum" name="XSLT_STATE_STOPPED" link="libxslt-xsltInternals.html#XSLT_STATE_STOPPED"/>
<keyword type="enum" name="XSLT_TRACE_ALL" link="libxslt-xsltutils.html#XSLT_TRACE_ALL"/>
<keyword type="enum" name="XSLT_TRACE_APPLY_TEMPLATE" link="libxslt-xsltutils.html#XSLT_TRACE_APPLY_TEMPLATE"/>
<keyword type="enum" name="XSLT_TRACE_APPLY_TEMPLATES" link="libxslt-xsltutils.html#XSLT_TRACE_APPLY_TEMPLATES"/>
<keyword type="enum" name="XSLT_TRACE_CALL_TEMPLATE" link="libxslt-xsltutils.html#XSLT_TRACE_CALL_TEMPLATE"/>
<keyword type="enum" name="XSLT_TRACE_CHOOSE" link="libxslt-xsltutils.html#XSLT_TRACE_CHOOSE"/>
<keyword type="enum" name="XSLT_TRACE_COMMENT" link="libxslt-xsltutils.html#XSLT_TRACE_COMMENT"/>
<keyword type="enum" name="XSLT_TRACE_COPY" link="libxslt-xsltutils.html#XSLT_TRACE_COPY"/>
<keyword type="enum" name="XSLT_TRACE_COPY_OF" link="libxslt-xsltutils.html#XSLT_TRACE_COPY_OF"/>
<keyword type="enum" name="XSLT_TRACE_COPY_TEXT" link="libxslt-xsltutils.html#XSLT_TRACE_COPY_TEXT"/>
<keyword type="enum" name="XSLT_TRACE_FOR_EACH" link="libxslt-xsltutils.html#XSLT_TRACE_FOR_EACH"/>
<keyword type="enum" name="XSLT_TRACE_IF" link="libxslt-xsltutils.html#XSLT_TRACE_IF"/>
<keyword type="enum" name="XSLT_TRACE_KEYS" link="libxslt-xsltutils.html#XSLT_TRACE_KEYS"/>
<keyword type="enum" name="XSLT_TRACE_NONE" link="libxslt-xsltutils.html#XSLT_TRACE_NONE"/>
<keyword type="enum" name="XSLT_TRACE_PI" link="libxslt-xsltutils.html#XSLT_TRACE_PI"/>
<keyword type="enum" name="XSLT_TRACE_PROCESS_NODE" link="libxslt-xsltutils.html#XSLT_TRACE_PROCESS_NODE"/>
<keyword type="enum" name="XSLT_TRACE_STRIP_SPACES" link="libxslt-xsltutils.html#XSLT_TRACE_STRIP_SPACES"/>
<keyword type="enum" name="XSLT_TRACE_TEMPLATES" link="libxslt-xsltutils.html#XSLT_TRACE_TEMPLATES"/>
<keyword type="enum" name="XSLT_TRACE_VALUE_OF" link="libxslt-xsltutils.html#XSLT_TRACE_VALUE_OF"/>
<keyword type="enum" name="XSLT_TRACE_VARIABLES" link="libxslt-xsltutils.html#XSLT_TRACE_VARIABLES"/>
<keyword type="typedef" name="xsltCompMatchPtr" link="libxslt-pattern.html#xsltCompMatchPtr"/>
<keyword type="typedef" name="xsltCompilerCtxtPtr" link="libxslt-xsltInternals.html#xsltCompilerCtxtPtr"/>
<keyword type="typedef" name="xsltCompilerNodeInfoPtr" link="libxslt-xsltInternals.html#xsltCompilerNodeInfoPtr"/>
<keyword type="typedef" name="xsltDebugStatusCodes" link="libxslt-xsltutils.html#xsltDebugStatusCodes"/>
<keyword type="typedef" name="xsltDebugTraceCodes" link="libxslt-xsltutils.html#xsltDebugTraceCodes"/>
<keyword type="typedef" name="xsltDecimalFormatPtr" link="libxslt-xsltInternals.html#xsltDecimalFormatPtr"/>
<keyword type="typedef" name="xsltDocumentPtr" link="libxslt-xsltInternals.html#xsltDocumentPtr"/>
<keyword type="typedef" name="xsltEffectiveNsPtr" link="libxslt-xsltInternals.html#xsltEffectiveNsPtr"/>
<keyword type="typedef" name="xsltElemPreCompPtr" link="libxslt-xsltInternals.html#xsltElemPreCompPtr"/>
<keyword type="typedef" name="xsltErrorSeverityType" link="libxslt-xsltInternals.html#xsltErrorSeverityType"/>
<keyword type="typedef" name="xsltFormatNumberInfoPtr" link="libxslt-numbersInternals.html#xsltFormatNumberInfoPtr"/>
<keyword type="typedef" name="xsltKeyDefPtr" link="libxslt-xsltInternals.html#xsltKeyDefPtr"/>
<keyword type="typedef" name="xsltKeyTablePtr" link="libxslt-xsltInternals.html#xsltKeyTablePtr"/>
<keyword type="typedef" name="xsltLoadType" link="libxslt-documents.html#xsltLoadType"/>
<keyword type="typedef" name="xsltLocale" link="libxslt-xsltlocale.html#xsltLocale"/>
<keyword type="typedef" name="xsltLocaleChar" link="libxslt-xsltlocale.html#xsltLocaleChar"/>
<keyword type="typedef" name="xsltNsAliasPtr" link="libxslt-xsltInternals.html#xsltNsAliasPtr"/>
<keyword type="typedef" name="xsltNsListContainerPtr" link="libxslt-xsltInternals.html#xsltNsListContainerPtr"/>
<keyword type="typedef" name="xsltNsListPtr" link="libxslt-xsltInternals.html#xsltNsListPtr"/>
<keyword type="typedef" name="xsltNsMapPtr" link="libxslt-xsltInternals.html#xsltNsMapPtr"/>
<keyword type="typedef" name="xsltNumberDataPtr" link="libxslt-numbersInternals.html#xsltNumberDataPtr"/>
<keyword type="typedef" name="xsltOutputType" link="libxslt-xsltInternals.html#xsltOutputType"/>
<keyword type="typedef" name="xsltPointerListPtr" link="libxslt-xsltInternals.html#xsltPointerListPtr"/>
<keyword type="typedef" name="xsltPrincipalStylesheetDataPtr" link="libxslt-xsltInternals.html#xsltPrincipalStylesheetDataPtr"/>
<keyword type="typedef" name="xsltRuntimeExtraPtr" link="libxslt-xsltInternals.html#xsltRuntimeExtraPtr"/>
<keyword type="typedef" name="xsltSecurityOption" link="libxslt-security.html#xsltSecurityOption"/>
<keyword type="typedef" name="xsltSecurityPrefsPtr" link="libxslt-security.html#xsltSecurityPrefsPtr"/>
<keyword type="typedef" name="xsltStackElemPtr" link="libxslt-xsltInternals.html#xsltStackElemPtr"/>
<keyword type="typedef" name="xsltStyleBasicEmptyItemPtr" link="libxslt-xsltInternals.html#xsltStyleBasicEmptyItemPtr"/>
<keyword type="typedef" name="xsltStyleBasicExpressionItemPtr" link="libxslt-xsltInternals.html#xsltStyleBasicExpressionItemPtr"/>
<keyword type="typedef" name="xsltStyleBasicItemVariablePtr" link="libxslt-xsltInternals.html#xsltStyleBasicItemVariablePtr"/>
<keyword type="typedef" name="xsltStyleItemApplyImports" link="libxslt-xsltInternals.html#xsltStyleItemApplyImports"/>
<keyword type="typedef" name="xsltStyleItemApplyImportsPtr" link="libxslt-xsltInternals.html#xsltStyleItemApplyImportsPtr"/>
<keyword type="typedef" name="xsltStyleItemApplyTemplatesPtr" link="libxslt-xsltInternals.html#xsltStyleItemApplyTemplatesPtr"/>
<keyword type="typedef" name="xsltStyleItemAttributePtr" link="libxslt-xsltInternals.html#xsltStyleItemAttributePtr"/>
<keyword type="typedef" name="xsltStyleItemCallTemplatePtr" link="libxslt-xsltInternals.html#xsltStyleItemCallTemplatePtr"/>
<keyword type="typedef" name="xsltStyleItemChoose" link="libxslt-xsltInternals.html#xsltStyleItemChoose"/>
<keyword type="typedef" name="xsltStyleItemChoosePtr" link="libxslt-xsltInternals.html#xsltStyleItemChoosePtr"/>
<keyword type="typedef" name="xsltStyleItemComment" link="libxslt-xsltInternals.html#xsltStyleItemComment"/>
<keyword type="typedef" name="xsltStyleItemCommentPtr" link="libxslt-xsltInternals.html#xsltStyleItemCommentPtr"/>
<keyword type="typedef" name="xsltStyleItemCopyOf" link="libxslt-xsltInternals.html#xsltStyleItemCopyOf"/>
<keyword type="typedef" name="xsltStyleItemCopyOfPtr" link="libxslt-xsltInternals.html#xsltStyleItemCopyOfPtr"/>
<keyword type="typedef" name="xsltStyleItemCopyPtr" link="libxslt-xsltInternals.html#xsltStyleItemCopyPtr"/>
<keyword type="typedef" name="xsltStyleItemDocumentPtr" link="libxslt-xsltInternals.html#xsltStyleItemDocumentPtr"/>
<keyword type="typedef" name="xsltStyleItemElementPtr" link="libxslt-xsltInternals.html#xsltStyleItemElementPtr"/>
<keyword type="typedef" name="xsltStyleItemExtElementPtr" link="libxslt-xsltInternals.html#xsltStyleItemExtElementPtr"/>
<keyword type="typedef" name="xsltStyleItemFallback" link="libxslt-xsltInternals.html#xsltStyleItemFallback"/>
<keyword type="typedef" name="xsltStyleItemFallbackPtr" link="libxslt-xsltInternals.html#xsltStyleItemFallbackPtr"/>
<keyword type="typedef" name="xsltStyleItemForEach" link="libxslt-xsltInternals.html#xsltStyleItemForEach"/>
<keyword type="typedef" name="xsltStyleItemForEachPtr" link="libxslt-xsltInternals.html#xsltStyleItemForEachPtr"/>
<keyword type="typedef" name="xsltStyleItemIfPtr" link="libxslt-xsltInternals.html#xsltStyleItemIfPtr"/>
<keyword type="typedef" name="xsltStyleItemIncludePtr" link="libxslt-xsltInternals.html#xsltStyleItemIncludePtr"/>
<keyword type="typedef" name="xsltStyleItemLRElementInfoPtr" link="libxslt-xsltInternals.html#xsltStyleItemLRElementInfoPtr"/>
<keyword type="typedef" name="xsltStyleItemMessagePtr" link="libxslt-xsltInternals.html#xsltStyleItemMessagePtr"/>
<keyword type="typedef" name="xsltStyleItemNumberPtr" link="libxslt-xsltInternals.html#xsltStyleItemNumberPtr"/>
<keyword type="typedef" name="xsltStyleItemOtherwisePtr" link="libxslt-xsltInternals.html#xsltStyleItemOtherwisePtr"/>
<keyword type="typedef" name="xsltStyleItemPIPtr" link="libxslt-xsltInternals.html#xsltStyleItemPIPtr"/>
<keyword type="typedef" name="xsltStyleItemParamPtr" link="libxslt-xsltInternals.html#xsltStyleItemParamPtr"/>
<keyword type="typedef" name="xsltStyleItemSortPtr" link="libxslt-xsltInternals.html#xsltStyleItemSortPtr"/>
<keyword type="typedef" name="xsltStyleItemTextPtr" link="libxslt-xsltInternals.html#xsltStyleItemTextPtr"/>
<keyword type="typedef" name="xsltStyleItemUknownPtr" link="libxslt-xsltInternals.html#xsltStyleItemUknownPtr"/>
<keyword type="typedef" name="xsltStyleItemValueOfPtr" link="libxslt-xsltInternals.html#xsltStyleItemValueOfPtr"/>
<keyword type="typedef" name="xsltStyleItemVariable" link="libxslt-xsltInternals.html#xsltStyleItemVariable"/>
<keyword type="typedef" name="xsltStyleItemVariablePtr" link="libxslt-xsltInternals.html#xsltStyleItemVariablePtr"/>
<keyword type="typedef" name="xsltStyleItemWhenPtr" link="libxslt-xsltInternals.html#xsltStyleItemWhenPtr"/>
<keyword type="typedef" name="xsltStyleItemWithParam" link="libxslt-xsltInternals.html#xsltStyleItemWithParam"/>
<keyword type="typedef" name="xsltStyleItemWithParamPtr" link="libxslt-xsltInternals.html#xsltStyleItemWithParamPtr"/>
<keyword type="typedef" name="xsltStylePreCompPtr" link="libxslt-xsltInternals.html#xsltStylePreCompPtr"/>
<keyword type="typedef" name="xsltStyleType" link="libxslt-xsltInternals.html#xsltStyleType"/>
<keyword type="typedef" name="xsltStylesheetPtr" link="libxslt-xsltInternals.html#xsltStylesheetPtr"/>
<keyword type="typedef" name="xsltTemplatePtr" link="libxslt-xsltInternals.html#xsltTemplatePtr"/>
<keyword type="typedef" name="xsltTransformCachePtr" link="libxslt-xsltInternals.html#xsltTransformCachePtr"/>
<keyword type="typedef" name="xsltTransformContextPtr" link="libxslt-xsltInternals.html#xsltTransformContextPtr"/>
<keyword type="typedef" name="xsltTransformState" link="libxslt-xsltInternals.html#xsltTransformState"/>
<keyword type="typedef" name="xsltVarInfoPtr" link="libxslt-xsltInternals.html#xsltVarInfoPtr"/>
<keyword type="struct" name="xsltCompMatch" link="libxslt-pattern.html#xsltCompMatch"/>
<keyword type="struct" name="xsltCompilerCtxt" link="libxslt-xsltInternals.html#xsltCompilerCtxt"/>
<keyword type="struct" name="xsltCompilerNodeInfo" link="libxslt-xsltInternals.html#xsltCompilerNodeInfo"/>
<keyword type="struct" name="xsltDecimalFormat" link="libxslt-xsltInternals.html#xsltDecimalFormat"/>
<keyword type="struct" name="xsltDocument" link="libxslt-xsltInternals.html#xsltDocument"/>
<keyword type="struct" name="xsltEffectiveNs" link="libxslt-xsltInternals.html#xsltEffectiveNs"/>
<keyword type="struct" name="xsltElemPreComp" link="libxslt-xsltInternals.html#xsltElemPreComp"/>
<keyword type="struct" name="xsltFormatNumberInfo" link="libxslt-numbersInternals.html#xsltFormatNumberInfo"/>
<keyword type="struct" name="xsltKeyDef" link="libxslt-xsltInternals.html#xsltKeyDef"/>
<keyword type="struct" name="xsltKeyTable" link="libxslt-xsltInternals.html#xsltKeyTable"/>
<keyword type="struct" name="xsltNsAlias" link="libxslt-xsltInternals.html#xsltNsAlias"/>
<keyword type="struct" name="xsltNsList" link="libxslt-xsltInternals.html#xsltNsList"/>
<keyword type="struct" name="xsltNsListContainer" link="libxslt-xsltInternals.html#xsltNsListContainer"/>
<keyword type="struct" name="xsltNsMap" link="libxslt-xsltInternals.html#xsltNsMap"/>
<keyword type="struct" name="xsltNumberData" link="libxslt-numbersInternals.html#xsltNumberData"/>
<keyword type="struct" name="xsltPointerList" link="libxslt-xsltInternals.html#xsltPointerList"/>
<keyword type="struct" name="xsltPrincipalStylesheetData" link="libxslt-xsltInternals.html#xsltPrincipalStylesheetData"/>
<keyword type="struct" name="xsltRuntimeExtra" link="libxslt-xsltInternals.html#xsltRuntimeExtra"/>
<keyword type="struct" name="xsltSecurityPrefs" link="libxslt-security.html#xsltSecurityPrefs"/>
<keyword type="struct" name="xsltStackElem" link="libxslt-xsltInternals.html#xsltStackElem"/>
<keyword type="struct" name="xsltStyleBasicEmptyItem" link="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem"/>
<keyword type="struct" name="xsltStyleBasicExpressionItem" link="libxslt-xsltInternals.html#xsltStyleBasicExpressionItem"/>
<keyword type="struct" name="xsltStyleBasicItemVariable" link="libxslt-xsltInternals.html#xsltStyleBasicItemVariable"/>
<keyword type="struct" name="xsltStyleItemApplyTemplates" link="libxslt-xsltInternals.html#xsltStyleItemApplyTemplates"/>
<keyword type="struct" name="xsltStyleItemAttribute" link="libxslt-xsltInternals.html#xsltStyleItemAttribute"/>
<keyword type="struct" name="xsltStyleItemCallTemplate" link="libxslt-xsltInternals.html#xsltStyleItemCallTemplate"/>
<keyword type="struct" name="xsltStyleItemCopy" link="libxslt-xsltInternals.html#xsltStyleItemCopy"/>
<keyword type="struct" name="xsltStyleItemDocument" link="libxslt-xsltInternals.html#xsltStyleItemDocument"/>
<keyword type="struct" name="xsltStyleItemElement" link="libxslt-xsltInternals.html#xsltStyleItemElement"/>
<keyword type="struct" name="xsltStyleItemExtElement" link="libxslt-xsltInternals.html#xsltStyleItemExtElement"/>
<keyword type="struct" name="xsltStyleItemIf" link="libxslt-xsltInternals.html#xsltStyleItemIf"/>
<keyword type="struct" name="xsltStyleItemInclude" link="libxslt-xsltInternals.html#xsltStyleItemInclude"/>
<keyword type="struct" name="xsltStyleItemLRElementInfo" link="libxslt-xsltInternals.html#xsltStyleItemLRElementInfo"/>
<keyword type="struct" name="xsltStyleItemMessage" link="libxslt-xsltInternals.html#xsltStyleItemMessage"/>
<keyword type="struct" name="xsltStyleItemNumber" link="libxslt-xsltInternals.html#xsltStyleItemNumber"/>
<keyword type="struct" name="xsltStyleItemOtherwise" link="libxslt-xsltInternals.html#xsltStyleItemOtherwise"/>
<keyword type="struct" name="xsltStyleItemPI" link="libxslt-xsltInternals.html#xsltStyleItemPI"/>
<keyword type="struct" name="xsltStyleItemParam" link="libxslt-xsltInternals.html#xsltStyleItemParam"/>
<keyword type="struct" name="xsltStyleItemSort" link="libxslt-xsltInternals.html#xsltStyleItemSort"/>
<keyword type="struct" name="xsltStyleItemText" link="libxslt-xsltInternals.html#xsltStyleItemText"/>
<keyword type="struct" name="xsltStyleItemUknown" link="libxslt-xsltInternals.html#xsltStyleItemUknown"/>
<keyword type="struct" name="xsltStyleItemValueOf" link="libxslt-xsltInternals.html#xsltStyleItemValueOf"/>
<keyword type="struct" name="xsltStyleItemWhen" link="libxslt-xsltInternals.html#xsltStyleItemWhen"/>
<keyword type="struct" name="xsltStylePreComp" link="libxslt-xsltInternals.html#xsltStylePreComp"/>
<keyword type="struct" name="xsltStylesheet" link="libxslt-xsltInternals.html#xsltStylesheet"/>
<keyword type="struct" name="xsltTemplate" link="libxslt-xsltInternals.html#xsltTemplate"/>
<keyword type="struct" name="xsltTransformCache" link="libxslt-xsltInternals.html#xsltTransformCache"/>
<keyword type="struct" name="xsltTransformContext" link="libxslt-xsltInternals.html#xsltTransformContext"/>
<keyword type="struct" name="xsltVarInfo" link="libxslt-xsltInternals.html#xsltVarInfo"/>
<keyword type="function" name="xsltAddCallCallback" link="libxslt-xsltutils.html#xsltAddCallCallback"/>
<keyword type="function" name="xsltDocLoaderFunc" link="libxslt-documents.html#xsltDocLoaderFunc"/>
<keyword type="function" name="xsltDropCallCallback" link="libxslt-xsltutils.html#xsltDropCallCallback"/>
<keyword type="function" name="xsltElemPreCompDeallocator" link="libxslt-xsltInternals.html#xsltElemPreCompDeallocator"/>
<keyword type="function" name="xsltExtInitFunction" link="libxslt-extensions.html#xsltExtInitFunction"/>
<keyword type="function" name="xsltExtShutdownFunction" link="libxslt-extensions.html#xsltExtShutdownFunction"/>
<keyword type="function" name="xsltHandleDebuggerCallback" link="libxslt-xsltutils.html#xsltHandleDebuggerCallback"/>
<keyword type="function" name="xsltPreComputeFunction" link="libxslt-extensions.html#xsltPreComputeFunction"/>
<keyword type="function" name="xsltSecurityCheck" link="libxslt-security.html#xsltSecurityCheck"/>
<keyword type="function" name="xsltSortFunc" link="libxslt-xsltInternals.html#xsltSortFunc"/>
<keyword type="function" name="xsltStyleExtInitFunction" link="libxslt-extensions.html#xsltStyleExtInitFunction"/>
<keyword type="function" name="xsltStyleExtShutdownFunction" link="libxslt-extensions.html#xsltStyleExtShutdownFunction"/>
<keyword type="function" name="xsltTopLevelFunction" link="libxslt-extensions.html#xsltTopLevelFunction"/>
<keyword type="function" name="xsltTransformFunction" link="libxslt-xsltInternals.html#xsltTransformFunction"/>
<keyword type="macro" name="xslDebugStatus" link="libxslt-xsltutils.html#xslDebugStatus"/>
<keyword type="macro" name="xsltConstNamespaceNameXSLT" link="libxslt-xsltInternals.html#xsltConstNamespaceNameXSLT"/>
<keyword type="macro" name="xsltDocDefaultLoader" link="libxslt-documents.html#xsltDocDefaultLoader"/>
<keyword type="macro" name="xsltEngineVersion" link="libxslt-xslt.html#xsltEngineVersion"/>
<keyword type="macro" name="xsltExtMarker" link="libxslt-preproc.html#xsltExtMarker"/>
<keyword type="macro" name="xsltGenericDebug" link="libxslt-xsltutils.html#xsltGenericDebug"/>
<keyword type="macro" name="xsltGenericDebugContext" link="libxslt-xsltutils.html#xsltGenericDebugContext"/>
<keyword type="macro" name="xsltGenericError" link="libxslt-xsltutils.html#xsltGenericError"/>
<keyword type="macro" name="xsltGenericErrorContext" link="libxslt-xsltutils.html#xsltGenericErrorContext"/>
<keyword type="macro" name="xsltLibxmlVersion" link="libxslt-xslt.html#xsltLibxmlVersion"/>
<keyword type="macro" name="xsltLibxsltVersion" link="libxslt-xslt.html#xsltLibxsltVersion"/>
<keyword type="macro" name="xsltMaxDepth" link="libxslt-xslt.html#xsltMaxDepth"/>
<keyword type="macro" name="xsltMaxVars" link="libxslt-xslt.html#xsltMaxVars"/>
<keyword type="macro" name="xsltXSLTAttrMarker" link="libxslt-xsltInternals.html#xsltXSLTAttrMarker"/>
<keyword type="function" name="xslAddCall ()" link="libxslt-xsltutils.html#xslAddCall"/>
<keyword type="function" name="xslDropCall ()" link="libxslt-xsltutils.html#xslDropCall"/>
<keyword type="function" name="xslHandleDebugger ()" link="libxslt-transform.html#xslHandleDebugger"/>
<keyword type="function" name="xsltAddKey ()" link="libxslt-keys.html#xsltAddKey"/>
<keyword type="function" name="xsltAddStackElemList ()" link="libxslt-variables.html#xsltAddStackElemList"/>
<keyword type="function" name="xsltAddTemplate ()" link="libxslt-pattern.html#xsltAddTemplate"/>
<keyword type="function" name="xsltAllocateExtra ()" link="libxslt-xsltInternals.html#xsltAllocateExtra"/>
<keyword type="function" name="xsltAllocateExtraCtxt ()" link="libxslt-xsltInternals.html#xsltAllocateExtraCtxt"/>
<keyword type="function" name="xsltApplyAttributeSet ()" link="libxslt-attributes.html#xsltApplyAttributeSet"/>
<keyword type="function" name="xsltApplyImports ()" link="libxslt-transform.html#xsltApplyImports"/>
<keyword type="function" name="xsltApplyOneTemplate ()" link="libxslt-transform.html#xsltApplyOneTemplate"/>
<keyword type="function" name="xsltApplyStripSpaces ()" link="libxslt-transform.html#xsltApplyStripSpaces"/>
<keyword type="function" name="xsltApplyStylesheet ()" link="libxslt-transform.html#xsltApplyStylesheet"/>
<keyword type="function" name="xsltApplyStylesheetUser ()" link="libxslt-transform.html#xsltApplyStylesheetUser"/>
<keyword type="function" name="xsltApplyTemplates ()" link="libxslt-transform.html#xsltApplyTemplates"/>
<keyword type="function" name="xsltAttrListTemplateProcess ()" link="libxslt-templates.html#xsltAttrListTemplateProcess"/>
<keyword type="function" name="xsltAttrTemplateProcess ()" link="libxslt-templates.html#xsltAttrTemplateProcess"/>
<keyword type="function" name="xsltAttrTemplateValueProcess ()" link="libxslt-templates.html#xsltAttrTemplateValueProcess"/>
<keyword type="function" name="xsltAttrTemplateValueProcessNode ()" link="libxslt-templates.html#xsltAttrTemplateValueProcessNode"/>
<keyword type="function" name="xsltAttribute ()" link="libxslt-transform.html#xsltAttribute"/>
<keyword type="function" name="xsltCalibrateAdjust ()" link="libxslt-xsltutils.html#xsltCalibrateAdjust"/>
<keyword type="function" name="xsltCallTemplate ()" link="libxslt-transform.html#xsltCallTemplate"/>
<keyword type="function" name="xsltCheckExtPrefix ()" link="libxslt-extensions.html#xsltCheckExtPrefix"/>
<keyword type="function" name="xsltCheckExtURI ()" link="libxslt-extensions.html#xsltCheckExtURI"/>
<keyword type="function" name="xsltCheckRead ()" link="libxslt-security.html#xsltCheckRead"/>
<keyword type="function" name="xsltCheckWrite ()" link="libxslt-security.html#xsltCheckWrite"/>
<keyword type="function" name="xsltChoose ()" link="libxslt-transform.html#xsltChoose"/>
<keyword type="function" name="xsltCleanupGlobals ()" link="libxslt-xslt.html#xsltCleanupGlobals"/>
<keyword type="function" name="xsltCleanupTemplates ()" link="libxslt-pattern.html#xsltCleanupTemplates"/>
<keyword type="function" name="xsltComment ()" link="libxslt-transform.html#xsltComment"/>
<keyword type="function" name="xsltCompMatchClearCache ()" link="libxslt-pattern.html#xsltCompMatchClearCache"/>
<keyword type="function" name="xsltCompileAttr ()" link="libxslt-xsltInternals.html#xsltCompileAttr"/>
<keyword type="function" name="xsltCompilePattern ()" link="libxslt-pattern.html#xsltCompilePattern"/>
<keyword type="function" name="xsltComputeSortResult ()" link="libxslt-xsltutils.html#xsltComputeSortResult"/>
<keyword type="function" name="xsltCopy ()" link="libxslt-transform.html#xsltCopy"/>
<keyword type="function" name="xsltCopyNamespace ()" link="libxslt-namespaces.html#xsltCopyNamespace"/>
<keyword type="function" name="xsltCopyNamespaceList ()" link="libxslt-namespaces.html#xsltCopyNamespaceList"/>
<keyword type="function" name="xsltCopyOf ()" link="libxslt-transform.html#xsltCopyOf"/>
<keyword type="function" name="xsltCopyTextString ()" link="libxslt-transform.html#xsltCopyTextString"/>
<keyword type="function" name="xsltCreateRVT ()" link="libxslt-xsltInternals.html#xsltCreateRVT"/>
<keyword type="function" name="xsltDebug ()" link="libxslt-extra.html#xsltDebug"/>
<keyword type="function" name="xsltDebugDumpExtensions ()" link="libxslt-extensions.html#xsltDebugDumpExtensions"/>
<keyword type="function" name="xsltDebugGetDefaultTrace ()" link="libxslt-xsltutils.html#xsltDebugGetDefaultTrace"/>
<keyword type="function" name="xsltDebugSetDefaultTrace ()" link="libxslt-xsltutils.html#xsltDebugSetDefaultTrace"/>
<keyword type="function" name="xsltDecimalFormatGetByName ()" link="libxslt-xsltInternals.html#xsltDecimalFormatGetByName"/>
<keyword type="function" name="xsltDecimalFormatGetByQName ()" link="libxslt-xsltInternals.html#xsltDecimalFormatGetByQName"/>
<keyword type="function" name="xsltDefaultSortFunction ()" link="libxslt-xsltutils.html#xsltDefaultSortFunction"/>
<keyword type="function" name="xsltDoSortFunction ()" link="libxslt-xsltutils.html#xsltDoSortFunction"/>
<keyword type="function" name="xsltDocumentComp ()" link="libxslt-preproc.html#xsltDocumentComp"/>
<keyword type="function" name="xsltDocumentElem ()" link="libxslt-transform.html#xsltDocumentElem"/>
<keyword type="function" name="xsltDocumentFunction ()" link="libxslt-functions.html#xsltDocumentFunction"/>
<keyword type="function" name="xsltDocumentSortFunction ()" link="libxslt-xsltutils.html#xsltDocumentSortFunction"/>
<keyword type="function" name="xsltElement ()" link="libxslt-transform.html#xsltElement"/>
<keyword type="function" name="xsltElementAvailableFunction ()" link="libxslt-functions.html#xsltElementAvailableFunction"/>
<keyword type="function" name="xsltEvalAVT ()" link="libxslt-xsltInternals.html#xsltEvalAVT"/>
<keyword type="function" name="xsltEvalAttrValueTemplate ()" link="libxslt-templates.html#xsltEvalAttrValueTemplate"/>
<keyword type="function" name="xsltEvalGlobalVariables ()" link="libxslt-variables.html#xsltEvalGlobalVariables"/>
<keyword type="function" name="xsltEvalOneUserParam ()" link="libxslt-variables.html#xsltEvalOneUserParam"/>
<keyword type="function" name="xsltEvalStaticAttrValueTemplate ()" link="libxslt-templates.html#xsltEvalStaticAttrValueTemplate"/>
<keyword type="function" name="xsltEvalTemplateString ()" link="libxslt-templates.html#xsltEvalTemplateString"/>
<keyword type="function" name="xsltEvalUserParams ()" link="libxslt-variables.html#xsltEvalUserParams"/>
<keyword type="function" name="xsltEvalXPathPredicate ()" link="libxslt-templates.html#xsltEvalXPathPredicate"/>
<keyword type="function" name="xsltEvalXPathString ()" link="libxslt-templates.html#xsltEvalXPathString"/>
<keyword type="function" name="xsltEvalXPathStringNs ()" link="libxslt-templates.html#xsltEvalXPathStringNs"/>
<keyword type="function" name="xsltExtElementLookup ()" link="libxslt-extensions.html#xsltExtElementLookup"/>
<keyword type="function" name="xsltExtModuleElementLookup ()" link="libxslt-extensions.html#xsltExtModuleElementLookup"/>
<keyword type="function" name="xsltExtModuleElementPreComputeLookup ()" link="libxslt-extensions.html#xsltExtModuleElementPreComputeLookup"/>
<keyword type="function" name="xsltExtModuleFunctionLookup ()" link="libxslt-extensions.html#xsltExtModuleFunctionLookup"/>
<keyword type="function" name="xsltExtModuleTopLevelLookup ()" link="libxslt-extensions.html#xsltExtModuleTopLevelLookup"/>
<keyword type="function" name="xsltExtensionInstructionResultFinalize ()" link="libxslt-xsltInternals.html#xsltExtensionInstructionResultFinalize"/>
<keyword type="function" name="xsltExtensionInstructionResultRegister ()" link="libxslt-xsltInternals.html#xsltExtensionInstructionResultRegister"/>
<keyword type="function" name="xsltFindDocument ()" link="libxslt-documents.html#xsltFindDocument"/>
<keyword type="function" name="xsltFindElemSpaceHandling ()" link="libxslt-imports.html#xsltFindElemSpaceHandling"/>
<keyword type="function" name="xsltFindTemplate ()" link="libxslt-imports.html#xsltFindTemplate"/>
<keyword type="function" name="xsltFlagRVTs ()" link="libxslt-xsltInternals.html#xsltFlagRVTs"/>
<keyword type="function" name="xsltForEach ()" link="libxslt-transform.html#xsltForEach"/>
<keyword type="function" name="xsltFormatNumberConversion ()" link="libxslt-xsltInternals.html#xsltFormatNumberConversion"/>
<keyword type="function" name="xsltFormatNumberFunction ()" link="libxslt-functions.html#xsltFormatNumberFunction"/>
<keyword type="function" name="xsltFreeAVTList ()" link="libxslt-xsltInternals.html#xsltFreeAVTList"/>
<keyword type="function" name="xsltFreeAttributeSetsHashes ()" link="libxslt-attributes.html#xsltFreeAttributeSetsHashes"/>
<keyword type="function" name="xsltFreeCompMatchList ()" link="libxslt-pattern.html#xsltFreeCompMatchList"/>
<keyword type="function" name="xsltFreeCtxtExts ()" link="libxslt-extensions.html#xsltFreeCtxtExts"/>
<keyword type="function" name="xsltFreeDocumentKeys ()" link="libxslt-keys.html#xsltFreeDocumentKeys"/>
<keyword type="function" name="xsltFreeDocuments ()" link="libxslt-documents.html#xsltFreeDocuments"/>
<keyword type="function" name="xsltFreeExts ()" link="libxslt-extensions.html#xsltFreeExts"/>
<keyword type="function" name="xsltFreeGlobalVariables ()" link="libxslt-variables.html#xsltFreeGlobalVariables"/>
<keyword type="function" name="xsltFreeKeys ()" link="libxslt-keys.html#xsltFreeKeys"/>
<keyword type="function" name="xsltFreeLocale ()" link="libxslt-xsltlocale.html#xsltFreeLocale"/>
<keyword type="function" name="xsltFreeLocales ()" link="libxslt-xsltlocale.html#xsltFreeLocales"/>
<keyword type="function" name="xsltFreeNamespaceAliasHashes ()" link="libxslt-namespaces.html#xsltFreeNamespaceAliasHashes"/>
<keyword type="function" name="xsltFreeRVTs ()" link="libxslt-xsltInternals.html#xsltFreeRVTs"/>
<keyword type="function" name="xsltFreeSecurityPrefs ()" link="libxslt-security.html#xsltFreeSecurityPrefs"/>
<keyword type="function" name="xsltFreeStackElemList ()" link="libxslt-xsltInternals.html#xsltFreeStackElemList"/>
<keyword type="function" name="xsltFreeStyleDocuments ()" link="libxslt-documents.html#xsltFreeStyleDocuments"/>
<keyword type="function" name="xsltFreeStylePreComps ()" link="libxslt-preproc.html#xsltFreeStylePreComps"/>
<keyword type="function" name="xsltFreeStylesheet ()" link="libxslt-xsltInternals.html#xsltFreeStylesheet"/>
<keyword type="function" name="xsltFreeTemplateHashes ()" link="libxslt-pattern.html#xsltFreeTemplateHashes"/>
<keyword type="function" name="xsltFreeTransformContext ()" link="libxslt-transform.html#xsltFreeTransformContext"/>
<keyword type="function" name="xsltFunctionAvailableFunction ()" link="libxslt-functions.html#xsltFunctionAvailableFunction"/>
<keyword type="function" name="xsltFunctionNodeSet ()" link="libxslt-extra.html#xsltFunctionNodeSet"/>
<keyword type="function" name="xsltGenerateIdFunction ()" link="libxslt-functions.html#xsltGenerateIdFunction"/>
<keyword type="function" name="xsltGetCNsProp ()" link="libxslt-xsltutils.html#xsltGetCNsProp"/>
<keyword type="function" name="xsltGetDebuggerStatus ()" link="libxslt-xsltutils.html#xsltGetDebuggerStatus"/>
<keyword type="function" name="xsltGetDefaultSecurityPrefs ()" link="libxslt-security.html#xsltGetDefaultSecurityPrefs"/>
<keyword type="function" name="xsltGetExtData ()" link="libxslt-extensions.html#xsltGetExtData"/>
<keyword type="function" name="xsltGetExtInfo ()" link="libxslt-extensions.html#xsltGetExtInfo"/>
<keyword type="function" name="xsltGetKey ()" link="libxslt-keys.html#xsltGetKey"/>
<keyword type="function" name="xsltGetNamespace ()" link="libxslt-namespaces.html#xsltGetNamespace"/>
<keyword type="function" name="xsltGetNsProp ()" link="libxslt-xsltutils.html#xsltGetNsProp"/>
<keyword type="function" name="xsltGetPlainNamespace ()" link="libxslt-namespaces.html#xsltGetPlainNamespace"/>
<keyword type="function" name="xsltGetProfileInformation ()" link="libxslt-xsltutils.html#xsltGetProfileInformation"/>
<keyword type="function" name="xsltGetQNameURI ()" link="libxslt-xsltutils.html#xsltGetQNameURI"/>
<keyword type="function" name="xsltGetQNameURI2 ()" link="libxslt-xsltutils.html#xsltGetQNameURI2"/>
<keyword type="function" name="xsltGetSecurityPrefs ()" link="libxslt-security.html#xsltGetSecurityPrefs"/>
<keyword type="function" name="xsltGetSpecialNamespace ()" link="libxslt-namespaces.html#xsltGetSpecialNamespace"/>
<keyword type="function" name="xsltGetTemplate ()" link="libxslt-pattern.html#xsltGetTemplate"/>
<keyword type="function" name="xsltGetUTF8Char ()" link="libxslt-xsltutils.html#xsltGetUTF8Char"/>
<keyword type="function" name="xsltGetXIncludeDefault ()" link="libxslt-transform.html#xsltGetXIncludeDefault"/>
<keyword type="function" name="xsltIf ()" link="libxslt-transform.html#xsltIf"/>
<keyword type="function" name="xsltInit ()" link="libxslt-xslt.html#xsltInit"/>
<keyword type="function" name="xsltInitAllDocKeys ()" link="libxslt-xsltInternals.html#xsltInitAllDocKeys"/>
<keyword type="function" name="xsltInitCtxtExts ()" link="libxslt-extensions.html#xsltInitCtxtExts"/>
<keyword type="function" name="xsltInitCtxtKey ()" link="libxslt-xsltInternals.html#xsltInitCtxtKey"/>
<keyword type="function" name="xsltInitCtxtKeys ()" link="libxslt-keys.html#xsltInitCtxtKeys"/>
<keyword type="function" name="xsltInitElemPreComp ()" link="libxslt-extensions.html#xsltInitElemPreComp"/>
<keyword type="function" name="xsltInitGlobals ()" link="libxslt-extensions.html#xsltInitGlobals"/>
<keyword type="function" name="xsltIsBlank ()" link="libxslt-xsltInternals.html#xsltIsBlank"/>
<keyword type="function" name="xsltKeyFunction ()" link="libxslt-functions.html#xsltKeyFunction"/>
<keyword type="function" name="xsltLoadDocument ()" link="libxslt-documents.html#xsltLoadDocument"/>
<keyword type="function" name="xsltLoadStyleDocument ()" link="libxslt-documents.html#xsltLoadStyleDocument"/>
<keyword type="function" name="xsltLoadStylesheetPI ()" link="libxslt-xsltInternals.html#xsltLoadStylesheetPI"/>
<keyword type="function" name="xsltLocalVariablePop ()" link="libxslt-transform.html#xsltLocalVariablePop"/>
<keyword type="function" name="xsltLocalVariablePush ()" link="libxslt-transform.html#xsltLocalVariablePush"/>
<keyword type="function" name="xsltLocaleStrcmp ()" link="libxslt-xsltlocale.html#xsltLocaleStrcmp"/>
<keyword type="function" name="xsltMatchPattern ()" link="libxslt-pattern.html#xsltMatchPattern"/>
<keyword type="function" name="xsltMessage ()" link="libxslt-xsltutils.html#xsltMessage"/>
<keyword type="function" name="xsltNamespaceAlias ()" link="libxslt-namespaces.html#xsltNamespaceAlias"/>
<keyword type="function" name="xsltNeedElemSpaceHandling ()" link="libxslt-imports.html#xsltNeedElemSpaceHandling"/>
<keyword type="function" name="xsltNewDocument ()" link="libxslt-documents.html#xsltNewDocument"/>
<keyword type="function" name="xsltNewElemPreComp ()" link="libxslt-extensions.html#xsltNewElemPreComp"/>
<keyword type="function" name="xsltNewLocale ()" link="libxslt-xsltlocale.html#xsltNewLocale"/>
<keyword type="function" name="xsltNewSecurityPrefs ()" link="libxslt-security.html#xsltNewSecurityPrefs"/>
<keyword type="function" name="xsltNewStyleDocument ()" link="libxslt-documents.html#xsltNewStyleDocument"/>
<keyword type="function" name="xsltNewStylesheet ()" link="libxslt-xsltInternals.html#xsltNewStylesheet"/>
<keyword type="function" name="xsltNewTransformContext ()" link="libxslt-transform.html#xsltNewTransformContext"/>
<keyword type="function" name="xsltNextImport ()" link="libxslt-imports.html#xsltNextImport"/>
<keyword type="function" name="xsltNormalizeCompSteps ()" link="libxslt-pattern.html#xsltNormalizeCompSteps"/>
<keyword type="function" name="xsltNumber ()" link="libxslt-transform.html#xsltNumber"/>
<keyword type="function" name="xsltNumberFormat ()" link="libxslt-xsltInternals.html#xsltNumberFormat"/>
<keyword type="function" name="xsltParseAnyXSLTElem ()" link="libxslt-xsltInternals.html#xsltParseAnyXSLTElem"/>
<keyword type="function" name="xsltParseGlobalParam ()" link="libxslt-variables.html#xsltParseGlobalParam"/>
<keyword type="function" name="xsltParseGlobalVariable ()" link="libxslt-variables.html#xsltParseGlobalVariable"/>
<keyword type="function" name="xsltParseSequenceConstructor ()" link="libxslt-xsltInternals.html#xsltParseSequenceConstructor"/>
<keyword type="function" name="xsltParseStylesheetAttributeSet ()" link="libxslt-attributes.html#xsltParseStylesheetAttributeSet"/>
<keyword type="function" name="xsltParseStylesheetCallerParam ()" link="libxslt-variables.html#xsltParseStylesheetCallerParam"/>
<keyword type="function" name="xsltParseStylesheetDoc ()" link="libxslt-xsltInternals.html#xsltParseStylesheetDoc"/>
<keyword type="function" name="xsltParseStylesheetFile ()" link="libxslt-xsltInternals.html#xsltParseStylesheetFile"/>
<keyword type="function" name="xsltParseStylesheetImport ()" link="libxslt-imports.html#xsltParseStylesheetImport"/>
<keyword type="function" name="xsltParseStylesheetImportedDoc ()" link="libxslt-xsltInternals.html#xsltParseStylesheetImportedDoc"/>
<keyword type="function" name="xsltParseStylesheetInclude ()" link="libxslt-imports.html#xsltParseStylesheetInclude"/>
<keyword type="function" name="xsltParseStylesheetOutput ()" link="libxslt-xsltInternals.html#xsltParseStylesheetOutput"/>
<keyword type="function" name="xsltParseStylesheetParam ()" link="libxslt-variables.html#xsltParseStylesheetParam"/>
<keyword type="function" name="xsltParseStylesheetProcess ()" link="libxslt-xsltInternals.html#xsltParseStylesheetProcess"/>
<keyword type="function" name="xsltParseStylesheetUser ()" link="libxslt-xsltInternals.html#xsltParseStylesheetUser"/>
<keyword type="function" name="xsltParseStylesheetVariable ()" link="libxslt-variables.html#xsltParseStylesheetVariable"/>
<keyword type="function" name="xsltParseTemplateContent ()" link="libxslt-xsltInternals.html#xsltParseTemplateContent"/>
<keyword type="function" name="xsltPointerListAddSize ()" link="libxslt-xsltInternals.html#xsltPointerListAddSize"/>
<keyword type="function" name="xsltPointerListClear ()" link="libxslt-xsltInternals.html#xsltPointerListClear"/>
<keyword type="function" name="xsltPointerListCreate ()" link="libxslt-xsltInternals.html#xsltPointerListCreate"/>
<keyword type="function" name="xsltPointerListFree ()" link="libxslt-xsltInternals.html#xsltPointerListFree"/>
<keyword type="function" name="xsltPreComputeExtModuleElement ()" link="libxslt-extensions.html#xsltPreComputeExtModuleElement"/>
<keyword type="function" name="xsltPrintErrorContext ()" link="libxslt-xsltutils.html#xsltPrintErrorContext"/>
<keyword type="function" name="xsltProcessOneNode ()" link="libxslt-transform.html#xsltProcessOneNode"/>
<keyword type="function" name="xsltProcessingInstruction ()" link="libxslt-transform.html#xsltProcessingInstruction"/>
<keyword type="function" name="xsltProfileStylesheet ()" link="libxslt-transform.html#xsltProfileStylesheet"/>
<keyword type="function" name="xsltQuoteOneUserParam ()" link="libxslt-variables.html#xsltQuoteOneUserParam"/>
<keyword type="function" name="xsltQuoteUserParams ()" link="libxslt-variables.html#xsltQuoteUserParams"/>
<keyword type="function" name="xsltRegisterAllElement ()" link="libxslt-transform.html#xsltRegisterAllElement"/>
<keyword type="function" name="xsltRegisterAllExtras ()" link="libxslt-extra.html#xsltRegisterAllExtras"/>
<keyword type="function" name="xsltRegisterAllFunctions ()" link="libxslt-functions.html#xsltRegisterAllFunctions"/>
<keyword type="function" name="xsltRegisterExtElement ()" link="libxslt-extensions.html#xsltRegisterExtElement"/>
<keyword type="function" name="xsltRegisterExtFunction ()" link="libxslt-extensions.html#xsltRegisterExtFunction"/>
<keyword type="function" name="xsltRegisterExtModule ()" link="libxslt-extensions.html#xsltRegisterExtModule"/>
<keyword type="function" name="xsltRegisterExtModuleElement ()" link="libxslt-extensions.html#xsltRegisterExtModuleElement"/>
<keyword type="function" name="xsltRegisterExtModuleFull ()" link="libxslt-extensions.html#xsltRegisterExtModuleFull"/>
<keyword type="function" name="xsltRegisterExtModuleFunction ()" link="libxslt-extensions.html#xsltRegisterExtModuleFunction"/>
<keyword type="function" name="xsltRegisterExtModuleTopLevel ()" link="libxslt-extensions.html#xsltRegisterExtModuleTopLevel"/>
<keyword type="function" name="xsltRegisterExtPrefix ()" link="libxslt-extensions.html#xsltRegisterExtPrefix"/>
<keyword type="function" name="xsltRegisterExtras ()" link="libxslt-extra.html#xsltRegisterExtras"/>
<keyword type="function" name="xsltRegisterLocalRVT ()" link="libxslt-xsltInternals.html#xsltRegisterLocalRVT"/>
<keyword type="function" name="xsltRegisterPersistRVT ()" link="libxslt-xsltInternals.html#xsltRegisterPersistRVT"/>
<keyword type="function" name="xsltRegisterTestModule ()" link="libxslt-extensions.html#xsltRegisterTestModule"/>
<keyword type="function" name="xsltRegisterTmpRVT ()" link="libxslt-xsltInternals.html#xsltRegisterTmpRVT"/>
<keyword type="function" name="xsltReleaseRVT ()" link="libxslt-xsltInternals.html#xsltReleaseRVT"/>
<keyword type="function" name="xsltResolveStylesheetAttributeSet ()" link="libxslt-attributes.html#xsltResolveStylesheetAttributeSet"/>
<keyword type="function" name="xsltRestoreDocumentNamespaces ()" link="libxslt-xsltInternals.html#xsltRestoreDocumentNamespaces"/>
<keyword type="function" name="xsltRunStylesheet ()" link="libxslt-transform.html#xsltRunStylesheet"/>
<keyword type="function" name="xsltRunStylesheetUser ()" link="libxslt-transform.html#xsltRunStylesheetUser"/>
<keyword type="function" name="xsltSaveProfiling ()" link="libxslt-xsltutils.html#xsltSaveProfiling"/>
<keyword type="function" name="xsltSaveResultTo ()" link="libxslt-xsltutils.html#xsltSaveResultTo"/>
<keyword type="function" name="xsltSaveResultToFd ()" link="libxslt-xsltutils.html#xsltSaveResultToFd"/>
<keyword type="function" name="xsltSaveResultToFile ()" link="libxslt-xsltutils.html#xsltSaveResultToFile"/>
<keyword type="function" name="xsltSaveResultToFilename ()" link="libxslt-xsltutils.html#xsltSaveResultToFilename"/>
<keyword type="function" name="xsltSaveResultToString ()" link="libxslt-xsltutils.html#xsltSaveResultToString"/>
<keyword type="function" name="xsltSecurityAllow ()" link="libxslt-security.html#xsltSecurityAllow"/>
<keyword type="function" name="xsltSecurityForbid ()" link="libxslt-security.html#xsltSecurityForbid"/>
<keyword type="function" name="xsltSetCtxtParseOptions ()" link="libxslt-xsltutils.html#xsltSetCtxtParseOptions"/>
<keyword type="function" name="xsltSetCtxtSecurityPrefs ()" link="libxslt-security.html#xsltSetCtxtSecurityPrefs"/>
<keyword type="function" name="xsltSetCtxtSortFunc ()" link="libxslt-xsltutils.html#xsltSetCtxtSortFunc"/>
<keyword type="function" name="xsltSetDebuggerCallbacks ()" link="libxslt-xsltutils.html#xsltSetDebuggerCallbacks"/>
<keyword type="function" name="xsltSetDebuggerStatus ()" link="libxslt-xsltutils.html#xsltSetDebuggerStatus"/>
<keyword type="function" name="xsltSetDefaultSecurityPrefs ()" link="libxslt-security.html#xsltSetDefaultSecurityPrefs"/>
<keyword type="function" name="xsltSetGenericDebugFunc ()" link="libxslt-xsltutils.html#xsltSetGenericDebugFunc"/>
<keyword type="function" name="xsltSetGenericErrorFunc ()" link="libxslt-xsltutils.html#xsltSetGenericErrorFunc"/>
<keyword type="function" name="xsltSetLoaderFunc ()" link="libxslt-documents.html#xsltSetLoaderFunc"/>
<keyword type="function" name="xsltSetSecurityPrefs ()" link="libxslt-security.html#xsltSetSecurityPrefs"/>
<keyword type="function" name="xsltSetSortFunc ()" link="libxslt-xsltutils.html#xsltSetSortFunc"/>
<keyword type="function" name="xsltSetTransformErrorFunc ()" link="libxslt-xsltutils.html#xsltSetTransformErrorFunc"/>
<keyword type="function" name="xsltSetXIncludeDefault ()" link="libxslt-transform.html#xsltSetXIncludeDefault"/>
<keyword type="function" name="xsltShutdownCtxtExts ()" link="libxslt-extensions.html#xsltShutdownCtxtExts"/>
<keyword type="function" name="xsltShutdownExts ()" link="libxslt-extensions.html#xsltShutdownExts"/>
<keyword type="function" name="xsltSort ()" link="libxslt-transform.html#xsltSort"/>
<keyword type="function" name="xsltSplitQName ()" link="libxslt-xsltutils.html#xsltSplitQName"/>
<keyword type="function" name="xsltStrxfrm ()" link="libxslt-xsltlocale.html#xsltStrxfrm"/>
<keyword type="function" name="xsltStyleGetExtData ()" link="libxslt-extensions.html#xsltStyleGetExtData"/>
<keyword type="function" name="xsltStylePreCompute ()" link="libxslt-preproc.html#xsltStylePreCompute"/>
<keyword type="function" name="xsltStyleStylesheetLevelGetExtData ()" link="libxslt-extensions.html#xsltStyleStylesheetLevelGetExtData"/>
<keyword type="function" name="xsltSystemPropertyFunction ()" link="libxslt-functions.html#xsltSystemPropertyFunction"/>
<keyword type="function" name="xsltTemplateProcess ()" link="libxslt-templates.html#xsltTemplateProcess"/>
<keyword type="function" name="xsltTestCompMatchList ()" link="libxslt-pattern.html#xsltTestCompMatchList"/>
<keyword type="function" name="xsltText ()" link="libxslt-transform.html#xsltText"/>
<keyword type="function" name="xsltTimestamp ()" link="libxslt-xsltutils.html#xsltTimestamp"/>
<keyword type="function" name="xsltTransformError ()" link="libxslt-xsltutils.html#xsltTransformError"/>
<keyword type="function" name="xsltUninit ()" link="libxslt-xsltInternals.html#xsltUninit"/>
<keyword type="function" name="xsltUnparsedEntityURIFunction ()" link="libxslt-functions.html#xsltUnparsedEntityURIFunction"/>
<keyword type="function" name="xsltUnregisterExtModule ()" link="libxslt-extensions.html#xsltUnregisterExtModule"/>
<keyword type="function" name="xsltUnregisterExtModuleElement ()" link="libxslt-extensions.html#xsltUnregisterExtModuleElement"/>
<keyword type="function" name="xsltUnregisterExtModuleFunction ()" link="libxslt-extensions.html#xsltUnregisterExtModuleFunction"/>
<keyword type="function" name="xsltUnregisterExtModuleTopLevel ()" link="libxslt-extensions.html#xsltUnregisterExtModuleTopLevel"/>
<keyword type="function" name="xsltValueOf ()" link="libxslt-transform.html#xsltValueOf"/>
<keyword type="function" name="xsltVariableLookup ()" link="libxslt-variables.html#xsltVariableLookup"/>
<keyword type="function" name="xsltXPathCompile ()" link="libxslt-xsltutils.html#xsltXPathCompile"/>
<keyword type="function" name="xsltXPathCompileFlags ()" link="libxslt-xsltutils.html#xsltXPathCompileFlags"/>
<keyword type="function" name="xsltXPathFunctionLookup ()" link="libxslt-functions.html#xsltXPathFunctionLookup"/>
<keyword type="function" name="xsltXPathGetTransformContext ()" link="libxslt-extensions.html#xsltXPathGetTransformContext"/>
<keyword type="function" name="xsltXPathVariableLookup ()" link="libxslt-variables.html#xsltXPathVariableLookup"/>
</functions>
</book>

BIN
doc/devhelp/right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 B

66
doc/devhelp/style.css Normal file
View File

@ -0,0 +1,66 @@
.synopsis, .classsynopsis
{
background: #eeeeee;
border: solid 1px #aaaaaa;
padding: 0.5em;
}
.programlisting
{
background: #eeeeff;
border: solid 1px #aaaaff;
padding: 0.5em;
}
.variablelist
{
padding: 4px;
margin-left: 3em;
}
.variablelist td:first-child
{
vertical-align: top;
}
table.navigation
{
background: #ffeeee;
border: solid 1px #ffaaaa;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.navigation a
{
color: #770000;
}
.navigation a:visited
{
color: #550000;
}
.navigation .title
{
font-size: 200%;
}
div.refnamediv
{
margin-top: 2em;
}
div.gallery-float
{
float: left;
padding: 10px;
}
div.gallery-float img
{
border-style: none;
}
div.gallery-spacer
{
clear: both;
}
a
{
text-decoration: none;
}
a:hover
{
text-decoration: underline;
color: #FF0000;
}

BIN
doc/devhelp/up.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B