[libxslt] Add documentation in devhelp format
- From: Nick Wellnhofer <nwellnhof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libxslt] Add documentation in devhelp format
- Date: Sun, 13 Feb 2022 00:09:06 +0000 (UTC)
commit f2cd40ff3927692975c0f2e1c3b0d2d56a7c0787
Author: Nick Wellnhofer <wellnhofer aevum de>
Date: Sat Feb 12 23:00:33 2022 +0100
Add documentation in devhelp format
configure.ac | 2 +
doc/EXSLT/devhelp/Makefile.am | 38 +
doc/EXSLT/devhelp/devhelp2.xsl | 127 +++
doc/EXSLT/devhelp/general.html | 38 +
doc/EXSLT/devhelp/home.png | Bin 0 -> 654 bytes
doc/EXSLT/devhelp/html.xsl | 569 ++++++++++
doc/EXSLT/devhelp/index.html | 33 +
doc/EXSLT/devhelp/left.png | Bin 0 -> 459 bytes
doc/EXSLT/devhelp/libexslt-exslt.html | 183 ++++
doc/EXSLT/devhelp/libexslt-exsltexports.html | 77 ++
doc/EXSLT/devhelp/libexslt.devhelp2 | 43 +
doc/EXSLT/devhelp/right.png | Bin 0 -> 472 bytes
doc/EXSLT/devhelp/style.css | 66 ++
doc/EXSLT/devhelp/up.png | Bin 0 -> 406 bytes
doc/Makefile.am | 2 +
doc/devhelp/Makefile.am | 56 +
doc/devhelp/devhelp2.xsl | 127 +++
doc/devhelp/general.html | 38 +
doc/devhelp/home.png | Bin 0 -> 654 bytes
doc/devhelp/html.xsl | 572 +++++++++++
doc/devhelp/index.html | 34 +
doc/devhelp/left.png | Bin 0 -> 459 bytes
doc/devhelp/libxslt-attributes.html | 72 ++
doc/devhelp/libxslt-documents.html | 115 +++
doc/devhelp/libxslt-extensions.html | 262 +++++
doc/devhelp/libxslt-extra.html | 97 ++
doc/devhelp/libxslt-functions.html | 112 ++
doc/devhelp/libxslt-imports.html | 97 ++
doc/devhelp/libxslt-keys.html | 87 ++
doc/devhelp/libxslt-namespaces.html | 97 ++
doc/devhelp/libxslt-numbersInternals.html | 101 ++
doc/devhelp/libxslt-pattern.html | 119 +++
doc/devhelp/libxslt-preproc.html | 76 ++
doc/devhelp/libxslt-security.html | 140 +++
doc/devhelp/libxslt-templates.html | 112 ++
doc/devhelp/libxslt-transform.html | 227 ++++
doc/devhelp/libxslt-variables.html | 147 +++
doc/devhelp/libxslt-xslt.html | 112 ++
doc/devhelp/libxslt-xsltInternals.html | 1426 ++++++++++++++++++++++++++
doc/devhelp/libxslt-xsltexports.html | 82 ++
doc/devhelp/libxslt-xsltlocale.html | 107 ++
doc/devhelp/libxslt-xsltutils.html | 348 +++++++
doc/devhelp/libxslt.devhelp2 | 558 ++++++++++
doc/devhelp/right.png | Bin 0 -> 472 bytes
doc/devhelp/style.css | 66 ++
doc/devhelp/up.png | Bin 0 -> 406 bytes
46 files changed, 6565 insertions(+)
---
diff --git a/configure.ac b/configure.ac
index 24861345..21d2d8ee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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
])
diff --git a/doc/EXSLT/devhelp/Makefile.am b/doc/EXSLT/devhelp/Makefile.am
new file mode 100644
index 00000000..b55fba5f
--- /dev/null
+++ b/doc/EXSLT/devhelp/Makefile.am
@@ -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
diff --git a/doc/EXSLT/devhelp/devhelp2.xsl b/doc/EXSLT/devhelp/devhelp2.xsl
new file mode 100644
index 00000000..a18f7c0b
--- /dev/null
+++ b/doc/EXSLT/devhelp/devhelp2.xsl
@@ -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>
+
+
diff --git a/doc/EXSLT/devhelp/general.html b/doc/EXSLT/devhelp/general.html
new file mode 100644
index 00000000..4c0ef291
--- /dev/null
+++ b/doc/EXSLT/devhelp/general.html
@@ -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>
diff --git a/doc/EXSLT/devhelp/home.png b/doc/EXSLT/devhelp/home.png
new file mode 100644
index 00000000..17003611
Binary files /dev/null and b/doc/EXSLT/devhelp/home.png differ
diff --git a/doc/EXSLT/devhelp/html.xsl b/doc/EXSLT/devhelp/html.xsl
new file mode 100644
index 00000000..32dc44fc
--- /dev/null
+++ b/doc/EXSLT/devhelp/html.xsl
@@ -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, ' 	')">
+ <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>	</xsl:text>
+ <a href="#{@name}"><xsl:value-of select="@name"/></a>
+ <xsl:if test="$blen - 40 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</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 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </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 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</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 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </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>	</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="@info != ''">
+ <xsl:text>	: </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>	</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="$blen - 40 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</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 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </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>	</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="$blen - 40 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</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 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </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>
+
+
diff --git a/doc/EXSLT/devhelp/index.html b/doc/EXSLT/devhelp/index.html
new file mode 100644
index 00000000..cb0c8a32
--- /dev/null
+++ b/doc/EXSLT/devhelp/index.html
@@ -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>
diff --git a/doc/EXSLT/devhelp/left.png b/doc/EXSLT/devhelp/left.png
new file mode 100644
index 00000000..2d05b3d5
Binary files /dev/null and b/doc/EXSLT/devhelp/left.png differ
diff --git a/doc/EXSLT/devhelp/libexslt-exslt.html b/doc/EXSLT/devhelp/libexslt-exslt.html
new file mode 100644
index 00000000..6c156545
--- /dev/null
+++ b/doc/EXSLT/devhelp/libexslt-exslt.html
@@ -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>
diff --git a/doc/EXSLT/devhelp/libexslt-exsltexports.html b/doc/EXSLT/devhelp/libexslt-exsltexports.html
new file mode 100644
index 00000000..b04b4c02
--- /dev/null
+++ b/doc/EXSLT/devhelp/libexslt-exsltexports.html
@@ -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 <igor zlatkovic com> </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>
diff --git a/doc/EXSLT/devhelp/libexslt.devhelp2 b/doc/EXSLT/devhelp/libexslt.devhelp2
new file mode 100644
index 00000000..12020f8f
--- /dev/null
+++ b/doc/EXSLT/devhelp/libexslt.devhelp2
@@ -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>
diff --git a/doc/EXSLT/devhelp/right.png b/doc/EXSLT/devhelp/right.png
new file mode 100644
index 00000000..92832e3a
Binary files /dev/null and b/doc/EXSLT/devhelp/right.png differ
diff --git a/doc/EXSLT/devhelp/style.css b/doc/EXSLT/devhelp/style.css
new file mode 100644
index 00000000..c9cabe78
--- /dev/null
+++ b/doc/EXSLT/devhelp/style.css
@@ -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;
+}
diff --git a/doc/EXSLT/devhelp/up.png b/doc/EXSLT/devhelp/up.png
new file mode 100644
index 00000000..85b3e2a2
Binary files /dev/null and b/doc/EXSLT/devhelp/up.png differ
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 13d8c3c7..b99bf382 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -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
diff --git a/doc/devhelp/Makefile.am b/doc/devhelp/Makefile.am
new file mode 100644
index 00000000..66bc761b
--- /dev/null
+++ b/doc/devhelp/Makefile.am
@@ -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
diff --git a/doc/devhelp/devhelp2.xsl b/doc/devhelp/devhelp2.xsl
new file mode 100644
index 00000000..1848bfd1
--- /dev/null
+++ b/doc/devhelp/devhelp2.xsl
@@ -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>
+
+
diff --git a/doc/devhelp/general.html b/doc/devhelp/general.html
new file mode 100644
index 00000000..6352d055
--- /dev/null
+++ b/doc/devhelp/general.html
@@ -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="lib
xslt-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>
diff --git a/doc/devhelp/home.png b/doc/devhelp/home.png
new file mode 100644
index 00000000..17003611
Binary files /dev/null and b/doc/devhelp/home.png differ
diff --git a/doc/devhelp/html.xsl b/doc/devhelp/html.xsl
new file mode 100644
index 00000000..f0004696
--- /dev/null
+++ b/doc/devhelp/html.xsl
@@ -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, ' 	')">
+ <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>	</xsl:text>
+ <a href="#{@name}"><xsl:value-of select="@name"/></a>
+ <xsl:if test="$blen - 40 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</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 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </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 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</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 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </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>	</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="@info != ''">
+ <xsl:text>	: </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>	</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="$blen - 40 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</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 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </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>	</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="$blen - 40 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</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 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </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>
+
+
diff --git a/doc/devhelp/index.html b/doc/devhelp/index.html
new file mode 100644
index 00000000..f29841ec
--- /dev/null
+++ b/doc/devhelp/index.html
@@ -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>
diff --git a/doc/devhelp/left.png b/doc/devhelp/left.png
new file mode 100644
index 00000000..2d05b3d5
Binary files /dev/null and b/doc/devhelp/left.png differ
diff --git a/doc/devhelp/libxslt-attributes.html b/doc/devhelp/libxslt-attributes.html
new file mode 100644
index 00000000..8f5dc3da
--- /dev/null
+++ b/doc/devhelp/libxslt-attributes.html
@@ -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>
diff --git a/doc/devhelp/libxslt-documents.html b/doc/devhelp/libxslt-documents.html
new file mode 100644
index 00000000..df15fcb0
--- /dev/null
+++ b/doc/devhelp/libxslt-documents.html
@@ -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>
diff --git a/doc/devhelp/libxslt-extensions.html b/doc/devhelp/libxslt-extensions.html
new file mode 100644
index 00000000..a3ff1241
--- /dev/null
+++ b/doc/devhelp/libxslt-extensions.html
@@ -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>
diff --git a/doc/devhelp/libxslt-extra.html b/doc/devhelp/libxslt-extra.html
new file mode 100644
index 00000000..72afc80a
--- /dev/null
+++ b/doc/devhelp/libxslt-extra.html
@@ -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>
diff --git a/doc/devhelp/libxslt-functions.html b/doc/devhelp/libxslt-functions.html
new file mode 100644
index 00000000..767fbb2a
--- /dev/null
+++ b/doc/devhelp/libxslt-functions.html
@@ -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 <breese users sourceforge net> </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>
diff --git a/doc/devhelp/libxslt-imports.html b/doc/devhelp/libxslt-imports.html
new file mode 100644
index 00000000..6f37be63
--- /dev/null
+++ b/doc/devhelp/libxslt-imports.html
@@ -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>
diff --git a/doc/devhelp/libxslt-keys.html b/doc/devhelp/libxslt-keys.html
new file mode 100644
index 00000000..59d50ba1
--- /dev/null
+++ b/doc/devhelp/libxslt-keys.html
@@ -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->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>
diff --git a/doc/devhelp/libxslt-namespaces.html b/doc/devhelp/libxslt-namespaces.html
new file mode 100644
index 00000000..201ff74f
--- /dev/null
+++ b/doc/devhelp/libxslt-namespaces.html
@@ -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->prefix and
@ns->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>
diff --git a/doc/devhelp/libxslt-numbersInternals.html b/doc/devhelp/libxslt-numbersInternals.html
new file mode 100644
index 00000000..ff892f5a
--- /dev/null
+++ b/doc/devhelp/libxslt-numbersInternals.html
@@ -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 <breese users sourceforge net> 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>
diff --git a/doc/devhelp/libxslt-pattern.html b/doc/devhelp/libxslt-pattern.html
new file mode 100644
index 00000000..5c7187e3
--- /dev/null
+++ b/doc/devhelp/libxslt-pattern.html
@@ -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>
diff --git a/doc/devhelp/libxslt-preproc.html b/doc/devhelp/libxslt-preproc.html
new file mode 100644
index 00000000..93dd848b
--- /dev/null
+++ b/doc/devhelp/libxslt-preproc.html
@@ -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>
diff --git a/doc/devhelp/libxslt-security.html b/doc/devhelp/libxslt-security.html
new file mode 100644
index 00000000..87e73a83
--- /dev/null
+++ b/doc/devhelp/libxslt-security.html
@@ -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>
diff --git a/doc/devhelp/libxslt-templates.html b/doc/devhelp/libxslt-templates.html
new file mode 100644
index 00000000..ec89ded2
--- /dev/null
+++ b/doc/devhelp/libxslt-templates.html
@@ -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->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>
diff --git a/doc/devhelp/libxslt-transform.html b/doc/devhelp/libxslt-transform.html
new file mode 100644
index 00000000..d6ecef6e
--- /dev/null
+++ b/doc/devhelp/libxslt-transform.html
@@ -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.
<exslt:function> 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/funct
ions.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 transf
orm 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>
diff --git a/doc/devhelp/libxslt-variables.html b/doc/devhelp/libxslt-variables.html
new file mode 100644
index 00000000..628ab55d
--- /dev/null
+++ b/doc/devhelp/libxslt-variables.html
@@ -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>
diff --git a/doc/devhelp/libxslt-xslt.html b/doc/devhelp/libxslt-xslt.html
new file mode 100644
index 00000000..aed8eb06
--- /dev/null
+++ b/doc/devhelp/libxslt-xslt.html
@@ -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>
diff --git a/doc/devhelp/libxslt-xsltInternals.html b/doc/devhelp/libxslt-xsltInternals.html
new file mode 100644
index 00000000..504198c5
--- /dev/null
+++ b/doc/devhelp/libxslt-xsltInternals.html
@@ -0,0 +1,1426 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>xsltInternals: internal data structures, constants and 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-xslt.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-xsltexports.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">xsltInternals</span>
+ </h2>
+ <p>xsltInternals - internal data structures, constants and functions</p>
+ <p>Internal data structures, constants and functions used by the XSLT engine. They are not part of the
API or ABI, i.e. they can change without prior notice, use carefully. </p>
+ <p>Author(s): Daniel Veillard </p>
+ <div class="refsynopsisdiv">
+ <h2>Synopsis</h2>
+ <pre class="synopsis">#define <a href="#CHECK_STOPPED0">CHECK_STOPPED0</a>;
+#define <a href="#XSLT_PAT_NO_PRIORITY">XSLT_PAT_NO_PRIORITY</a>;
+#define <a href="#XSLT_ITEM_NSINSCOPE_FIELDS">XSLT_ITEM_NSINSCOPE_FIELDS</a>;
+#define <a href="#XSLT_IS_TEXT_NODE">XSLT_IS_TEXT_NODE</a>;
+#define <a href="#IS_XSLT_ELEM_FAST">IS_XSLT_ELEM_FAST</a>;
+#define <a href="#XSLT_REFACTORED_VARS">XSLT_REFACTORED_VARS</a>;
+#define <a href="#XSLT_RUNTIME_EXTRA_LST">XSLT_RUNTIME_EXTRA_LST</a>(ctxt, nr);
+#define <a href="#XSLT_ITEM_COMPATIBILITY_FIELDS">XSLT_ITEM_COMPATIBILITY_FIELDS</a>;
+#define <a href="#IS_XSLT_ATTR_FAST">IS_XSLT_ATTR_FAST</a>;
+#define <a href="#XSLT_HAS_INTERNAL_NSMAP">XSLT_HAS_INTERNAL_NSMAP</a>;
+#define <a href="#XSLT_FAST_IF">XSLT_FAST_IF</a>;
+#define <a href="#XSLT_MARK_RES_TREE_FRAG">XSLT_MARK_RES_TREE_FRAG</a>;
+#define <a href="#XSLT_GET_INTERNAL_NSMAP">XSLT_GET_INTERNAL_NSMAP</a>;
+#define <a href="#XSLT_REFACTORED_KEYCOMP">XSLT_REFACTORED_KEYCOMP</a>;
+#define <a href="#XSLT_ITEM_NAVIGATION_FIELDS">XSLT_ITEM_NAVIGATION_FIELDS</a>;
+#define <a href="#XSLT_MAX_SORT">XSLT_MAX_SORT</a>;
+#define <a href="#XSLT_RUNTIME_EXTRA">XSLT_RUNTIME_EXTRA</a>(ctxt, nr);
+#define <a href="#XSLT_IS_RES_TREE_FRAG">XSLT_IS_RES_TREE_FRAG</a>;
+#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
+#define <a href="#XSLT_ITEM_COMMON_FIELDS">XSLT_ITEM_COMMON_FIELDS</a>;
+#define <a href="#CHECK_STOPPED">CHECK_STOPPED</a>;
+#define <a href="#XSLT_RUNTIME_EXTRA_FREE">XSLT_RUNTIME_EXTRA_FREE</a>(ctxt, nr);
+#define <a href="#XSLT_CCTXT">XSLT_CCTXT</a>;
+#define <a href="#CHECK_STOPPEDE">CHECK_STOPPEDE</a>;
+typedef struct _xsltElemPreComp <a href="#xsltElemPreComp">xsltElemPreComp</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemPI">xsltStyleItemPI</a> * <a
href="#xsltStyleItemPIPtr">xsltStyleItemPIPtr</a>;
+typedef struct _xsltDocument <a href="#xsltDocument">xsltDocument</a>;
+typedef struct _xsltStyleItemDocument <a href="#xsltStyleItemDocument">xsltStyleItemDocument</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemMessage">xsltStyleItemMessage</a> * <a
href="#xsltStyleItemMessagePtr">xsltStyleItemMessagePtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemNumber">xsltStyleItemNumber</a> * <a
href="#xsltStyleItemNumberPtr">xsltStyleItemNumberPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicItemVariable">xsltStyleBasicItemVariable</a> * <a
href="#xsltStyleBasicItemVariablePtr">xsltStyleBasicItemVariablePtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemForEach">xsltStyleItemForEach</a> * <a
href="#xsltStyleItemForEachPtr">xsltStyleItemForEachPtr</a>;
+typedef enum <a href="#xsltTransformState">xsltTransformState</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltCompilerNodeInfo">xsltCompilerNodeInfo</a> * <a
href="#xsltCompilerNodeInfoPtr">xsltCompilerNodeInfoPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemLRElementInfo">xsltStyleItemLRElementInfo</a> * <a
href="#xsltStyleItemLRElementInfoPtr">xsltStyleItemLRElementInfoPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltRuntimeExtra">xsltRuntimeExtra</a> * <a
href="#xsltRuntimeExtraPtr">xsltRuntimeExtraPtr</a>;
+typedef struct _xsltStyleItemLRElementInfo <a
href="#xsltStyleItemLRElementInfo">xsltStyleItemLRElementInfo</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemWithParam">xsltStyleItemWithParam</a> * <a
href="#xsltStyleItemWithParamPtr">xsltStyleItemWithParamPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemComment">xsltStyleItemComment</a> * <a
href="#xsltStyleItemCommentPtr">xsltStyleItemCommentPtr</a>;
+typedef struct _xsltStyleItemMessage <a href="#xsltStyleItemMessage">xsltStyleItemMessage</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemParam">xsltStyleItemParam</a> * <a
href="#xsltStyleItemParamPtr">xsltStyleItemParamPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicExpressionItem">xsltStyleBasicExpressionItem</a>
<a href="#xsltStyleItemCopyOf">xsltStyleItemCopyOf</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemCallTemplate">xsltStyleItemCallTemplate</a> * <a
href="#xsltStyleItemCallTemplatePtr">xsltStyleItemCallTemplatePtr</a>;
+typedef struct _xsltTransformCache <a href="#xsltTransformCache">xsltTransformCache</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemCopyOf">xsltStyleItemCopyOf</a> * <a
href="#xsltStyleItemCopyOfPtr">xsltStyleItemCopyOfPtr</a>;
+typedef struct _xsltNsMap <a href="#xsltNsMap">xsltNsMap</a>;
+typedef struct _xsltEffectiveNs <a href="#xsltEffectiveNs">xsltEffectiveNs</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemApplyImports">xsltStyleItemApplyImports</a> * <a
href="#xsltStyleItemApplyImportsPtr">xsltStyleItemApplyImportsPtr</a>;
+typedef struct _xsltStylesheet <a href="#xsltStylesheet">xsltStylesheet</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStylePreComp">xsltStylePreComp</a> * <a
href="#xsltStylePreCompPtr">xsltStylePreCompPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltNsMap">xsltNsMap</a> * <a
href="#xsltNsMapPtr">xsltNsMapPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltDecimalFormat">xsltDecimalFormat</a> * <a
href="#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemInclude">xsltStyleItemInclude</a> * <a
href="#xsltStyleItemIncludePtr">xsltStyleItemIncludePtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltKeyTable">xsltKeyTable</a> * <a
href="#xsltKeyTablePtr">xsltKeyTablePtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemText">xsltStyleItemText</a> * <a
href="#xsltStyleItemTextPtr">xsltStyleItemTextPtr</a>;
+typedef struct _xsltCompilerNodeInfo <a href="#xsltCompilerNodeInfo">xsltCompilerNodeInfo</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStylesheet">xsltStylesheet</a> * <a
href="#xsltStylesheetPtr">xsltStylesheetPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltTemplate">xsltTemplate</a> * <a
href="#xsltTemplatePtr">xsltTemplatePtr</a>;
+typedef struct _xsltStyleBasicEmptyItem <a href="#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a>;
+typedef struct _xsltStackElem <a href="#xsltStackElem">xsltStackElem</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemIf">xsltStyleItemIf</a> * <a
href="#xsltStyleItemIfPtr">xsltStyleItemIfPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemWhen">xsltStyleItemWhen</a> * <a
href="#xsltStyleItemWhenPtr">xsltStyleItemWhenPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemElement">xsltStyleItemElement</a> * <a
href="#xsltStyleItemElementPtr">xsltStyleItemElementPtr</a>;
+typedef struct _xsltStyleItemOtherwise <a href="#xsltStyleItemOtherwise">xsltStyleItemOtherwise</a>;
+typedef struct _xsltStyleItemCopy <a href="#xsltStyleItemCopy">xsltStyleItemCopy</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltKeyDef">xsltKeyDef</a> * <a
href="#xsltKeyDefPtr">xsltKeyDefPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltVarInfo">xsltVarInfo</a> * <a
href="#xsltVarInfoPtr">xsltVarInfoPtr</a>;
+typedef struct _xsltStyleItemSort <a href="#xsltStyleItemSort">xsltStyleItemSort</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltTransformCache">xsltTransformCache</a> * <a
href="#xsltTransformCachePtr">xsltTransformCachePtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemExtElement">xsltStyleItemExtElement</a> * <a
href="#xsltStyleItemExtElementPtr">xsltStyleItemExtElementPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltNsAlias">xsltNsAlias</a> * <a
href="#xsltNsAliasPtr">xsltNsAliasPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemValueOf">xsltStyleItemValueOf</a> * <a
href="#xsltStyleItemValueOfPtr">xsltStyleItemValueOfPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltDocument">xsltDocument</a> * <a
href="#xsltDocumentPtr">xsltDocumentPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltPointerList">xsltPointerList</a> * <a
href="#xsltPointerListPtr">xsltPointerListPtr</a>;
+typedef struct _xsltTemplate <a href="#xsltTemplate">xsltTemplate</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicExpressionItem">xsltStyleBasicExpressionItem</a> *
<a href="#xsltStyleBasicExpressionItemPtr">xsltStyleBasicExpressionItemPtr</a>;
+typedef struct _xsltRuntimeExtra <a href="#xsltRuntimeExtra">xsltRuntimeExtra</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemAttribute">xsltStyleItemAttribute</a> * <a
href="#xsltStyleItemAttributePtr">xsltStyleItemAttributePtr</a>;
+typedef struct _xsltTransformContext <a href="#xsltTransformContext">xsltTransformContext</a>;
+typedef struct _xsltPointerList <a href="#xsltPointerList">xsltPointerList</a>;
+typedef struct _xsltStyleItemUknown <a href="#xsltStyleItemUknown">xsltStyleItemUknown</a>;
+typedef enum <a href="#xsltErrorSeverityType">xsltErrorSeverityType</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltElemPreComp">xsltElemPreComp</a> * <a
href="#xsltElemPreCompPtr">xsltElemPreCompPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a> <a
href="#xsltStyleItemFallback">xsltStyleItemFallback</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemOtherwise">xsltStyleItemOtherwise</a> * <a
href="#xsltStyleItemOtherwisePtr">xsltStyleItemOtherwisePtr</a>;
+typedef struct _xsltStyleItemWhen <a href="#xsltStyleItemWhen">xsltStyleItemWhen</a>;
+typedef struct _xsltStyleItemIf <a href="#xsltStyleItemIf">xsltStyleItemIf</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltTransformContext">xsltTransformContext</a> * <a
href="#xsltTransformContextPtr">xsltTransformContextPtr</a>;
+typedef struct _xsltNsList <a href="#xsltNsList">xsltNsList</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicExpressionItem">xsltStyleBasicExpressionItem</a>
<a href="#xsltStyleItemForEach">xsltStyleItemForEach</a>;
+typedef struct _xsltStyleItemExtElement <a href="#xsltStyleItemExtElement">xsltStyleItemExtElement</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltNsListContainer">xsltNsListContainer</a> * <a
href="#xsltNsListContainerPtr">xsltNsListContainerPtr</a>;
+typedef struct _xsltStyleBasicExpressionItem <a
href="#xsltStyleBasicExpressionItem">xsltStyleBasicExpressionItem</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicItemVariable">xsltStyleBasicItemVariable</a> <a
href="#xsltStyleItemWithParam">xsltStyleItemWithParam</a>;
+typedef struct _xsltStyleItemElement <a href="#xsltStyleItemElement">xsltStyleItemElement</a>;
+typedef struct _xsltCompilerCtxt <a href="#xsltCompilerCtxt">xsltCompilerCtxt</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a> <a
href="#xsltStyleItemComment">xsltStyleItemComment</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltEffectiveNs">xsltEffectiveNs</a> * <a
href="#xsltEffectiveNsPtr">xsltEffectiveNsPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicItemVariable">xsltStyleBasicItemVariable</a> <a
href="#xsltStyleItemVariable">xsltStyleItemVariable</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemVariable">xsltStyleItemVariable</a> * <a
href="#xsltStyleItemVariablePtr">xsltStyleItemVariablePtr</a>;
+typedef struct _xsltStyleItemParam <a href="#xsltStyleItemParam">xsltStyleItemParam</a>;
+typedef struct _xsltNsListContainer <a href="#xsltNsListContainer">xsltNsListContainer</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStackElem">xsltStackElem</a> * <a
href="#xsltStackElemPtr">xsltStackElemPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a> * <a
href="#xsltStyleBasicEmptyItemPtr">xsltStyleBasicEmptyItemPtr</a>;
+typedef struct _xsltStyleItemText <a href="#xsltStyleItemText">xsltStyleItemText</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemCopy">xsltStyleItemCopy</a> * <a
href="#xsltStyleItemCopyPtr">xsltStyleItemCopyPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemSort">xsltStyleItemSort</a> * <a
href="#xsltStyleItemSortPtr">xsltStyleItemSortPtr</a>;
+typedef struct _xsltPrincipalStylesheetData <a
href="#xsltPrincipalStylesheetData">xsltPrincipalStylesheetData</a>;
+typedef enum <a href="#xsltOutputType">xsltOutputType</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltPrincipalStylesheetData">xsltPrincipalStylesheetData</a> *
<a href="#xsltPrincipalStylesheetDataPtr">xsltPrincipalStylesheetDataPtr</a>;
+typedef struct _xsltStyleBasicItemVariable <a
href="#xsltStyleBasicItemVariable">xsltStyleBasicItemVariable</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemChoose">xsltStyleItemChoose</a> * <a
href="#xsltStyleItemChoosePtr">xsltStyleItemChoosePtr</a>;
+typedef struct _xsltNsAlias <a href="#xsltNsAlias">xsltNsAlias</a>;
+typedef struct _xsltVarInfo <a href="#xsltVarInfo">xsltVarInfo</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a> <a
href="#xsltStyleItemApplyImports">xsltStyleItemApplyImports</a>;
+typedef struct _xsltKeyTable <a href="#xsltKeyTable">xsltKeyTable</a>;
+typedef struct _xsltStylePreComp <a href="#xsltStylePreComp">xsltStylePreComp</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltNsList">xsltNsList</a> * <a
href="#xsltNsListPtr">xsltNsListPtr</a>;
+typedef struct _xsltKeyDef <a href="#xsltKeyDef">xsltKeyDef</a>;
+typedef struct _xsltDecimalFormat <a href="#xsltDecimalFormat">xsltDecimalFormat</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemApplyTemplates">xsltStyleItemApplyTemplates</a> *
<a href="#xsltStyleItemApplyTemplatesPtr">xsltStyleItemApplyTemplatesPtr</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemUknown">xsltStyleItemUknown</a> * <a
href="#xsltStyleItemUknownPtr">xsltStyleItemUknownPtr</a>;
+typedef struct _xsltStyleItemValueOf <a href="#xsltStyleItemValueOf">xsltStyleItemValueOf</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltCompilerCtxt">xsltCompilerCtxt</a> * <a
href="#xsltCompilerCtxtPtr">xsltCompilerCtxtPtr</a>;
+typedef struct _xsltStyleItemAttribute <a href="#xsltStyleItemAttribute">xsltStyleItemAttribute</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemDocument">xsltStyleItemDocument</a> * <a
href="#xsltStyleItemDocumentPtr">xsltStyleItemDocumentPtr</a>;
+typedef struct _xsltStyleItemCallTemplate <a href="#xsltStyleItemCallTemplate">xsltStyleItemCallTemplate</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleItemFallback">xsltStyleItemFallback</a> * <a
href="#xsltStyleItemFallbackPtr">xsltStyleItemFallbackPtr</a>;
+typedef struct _xsltStyleItemNumber <a href="#xsltStyleItemNumber">xsltStyleItemNumber</a>;
+typedef struct _xsltStyleItemApplyTemplates <a
href="#xsltStyleItemApplyTemplates">xsltStyleItemApplyTemplates</a>;
+typedef <a href="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a> <a
href="#xsltStyleItemChoose">xsltStyleItemChoose</a>;
+typedef enum <a href="#xsltStyleType">xsltStyleType</a>;
+typedef struct _xsltStyleItemPI <a href="#xsltStyleItemPI">xsltStyleItemPI</a>;
+typedef struct _xsltStyleItemInclude <a href="#xsltStyleItemInclude">xsltStyleItemInclude</a>;
+typedef void <a href="#xsltElemPreCompDeallocator">xsltElemPreCompDeallocator</a> (<a
href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);
+int <a href="#xsltRegisterPersistRVT">xsltRegisterPersistRVT</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlDocPtr RVT);
+<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a
href="#xsltParseStylesheetImportedDoc">xsltParseStylesheetImportedDoc</a> (xmlDocPtr doc, <br/>
<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> parentStyle);
+void <a href="#xsltFreeStackElemList">xsltFreeStackElemList</a> (<a
href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> elem);
+int <a href="#xsltAllocateExtra">xsltAllocateExtra</a> (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
+int <a href="#xsltFlagRVTs">xsltFlagRVTs</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlXPathObjectPtr obj, <br/> void * val);
+void <a href="#xsltParseSequenceConstructor">xsltParseSequenceConstructor</a> (<a
href="libxslt-xsltInternals.html#xsltCompilerCtxtPtr">xsltCompilerCtxtPtr</a> cctxt, <br/>
xmlNodePtr cur);
+int <a href="#xsltRegisterTmpRVT">xsltRegisterTmpRVT</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlDocPtr RVT);
+int <a href="#xsltInitAllDocKeys">xsltInitAllDocKeys</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
+<a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> <a
href="#xsltDecimalFormatGetByName">xsltDecimalFormatGetByName</a> (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
xmlChar * name);
+int <a href="#xsltExtensionInstructionResultFinalize">xsltExtensionInstructionResultFinalize</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
+int <a href="#xsltParseStylesheetUser">xsltParseStylesheetUser</a> (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
xmlDocPtr doc);
+void <a href="#xsltPointerListFree">xsltPointerListFree</a> (<a
href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> list);
+int <a href="#xsltIsBlank">xsltIsBlank</a> (xmlChar * str);
+xmlXPathError <a href="#xsltFormatNumberConversion">xsltFormatNumberConversion</a> (<a
href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> self, <br/>
xmlChar * format, <br/> double number,
<br/> xmlChar ** result);
+int <a href="#xsltPointerListAddSize">xsltPointerListAddSize</a> (<a
href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> list, <br/>
void * item, <br/> int initialSize);
+typedef void <a href="#xsltSortFunc">xsltSortFunc</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlNodePtr * sorts, <br/> int nbsorts);
+void <a href="#xsltUninit">xsltUninit</a> (void);
+void <a href="#xsltFreeStylesheet">xsltFreeStylesheet</a> (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
+xmlDocPtr <a href="#xsltCreateRVT">xsltCreateRVT</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
+<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a
href="#xsltParseStylesheetFile">xsltParseStylesheetFile</a> (const xmlChar * filename);
+void <a href="#xsltParseStylesheetOutput">xsltParseStylesheetOutput</a> (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
xmlNodePtr cur);
+int <a href="#xsltParseAnyXSLTElem">xsltParseAnyXSLTElem</a> (<a
href="libxslt-xsltInternals.html#xsltCompilerCtxtPtr">xsltCompilerCtxtPtr</a> cctxt, <br/>
xmlNodePtr elem);
+void <a href="#xsltCompileAttr">xsltCompileAttr</a> (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
xmlAttrPtr attr);
+int <a href="#xsltRestoreDocumentNamespaces">xsltRestoreDocumentNamespaces</a> (<a
href="libxslt-xsltInternals.html#xsltNsMapPtr">xsltNsMapPtr</a> ns, <br/>
xmlDocPtr doc);
+void <a href="#xsltNumberFormat">xsltNumberFormat</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
<a href="libxslt-numbersInternals.html#xsltNumberDataPtr">xsltNumberDataPtr</a> data,
<br/> xmlNodePtr node);
+void <a href="#xsltReleaseRVT">xsltReleaseRVT</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlDocPtr RVT);
+void <a href="#xsltFreeRVTs">xsltFreeRVTs</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
+int <a href="#xsltExtensionInstructionResultRegister">xsltExtensionInstructionResultRegister</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlXPathObjectPtr obj);
+<a href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> <a
href="#xsltPointerListCreate">xsltPointerListCreate</a> (int initialSize);
+void <a href="#xsltFreeAVTList">xsltFreeAVTList</a> (void * avt);
+int <a href="#xsltAllocateExtraCtxt">xsltAllocateExtraCtxt</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
+void <a href="#xsltParseTemplateContent">xsltParseTemplateContent</a> (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
xmlNodePtr templ);
+<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a
href="#xsltNewStylesheet">xsltNewStylesheet</a> (void);
+<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a
href="#xsltParseStylesheetProcess">xsltParseStylesheetProcess</a> (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> ret, <br/>
xmlDocPtr doc);
+<a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> <a
href="#xsltDecimalFormatGetByQName">xsltDecimalFormatGetByQName</a> (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
const xmlChar * nsUri, <br/>
const xmlChar * name);
+typedef void <a href="#xsltTransformFunction">xsltTransformFunction</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);
+int <a href="#xsltRegisterLocalRVT">xsltRegisterLocalRVT</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlDocPtr RVT);
+<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a
href="#xsltParseStylesheetDoc">xsltParseStylesheetDoc</a> (xmlDocPtr doc);
+int <a href="#xsltInitCtxtKey">xsltInitCtxtKey</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
<a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> idoc, <br/>
<a href="libxslt-xsltInternals.html#xsltKeyDefPtr">xsltKeyDefPtr</a> keyDef);
+xmlChar * <a href="#xsltEvalAVT">xsltEvalAVT</a> (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
void * avt, <br/> xmlNodePtr node);
+void <a href="#xsltPointerListClear">xsltPointerListClear</a> (<a
href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> list);
+<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a
href="#xsltLoadStylesheetPI">xsltLoadStylesheetPI</a> (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="CHECK_STOPPED">Macro </a>CHECK_STOPPED</h3><pre
class="programlisting">#define <a href="#CHECK_STOPPED">CHECK_STOPPED</a>;
+</pre><p>Macro to check if the XSLT processing should be stopped. Will return from the function.</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="CHECK_STOPPED0">Macro </a>CHECK_STOPPED0</h3><pre
class="programlisting">#define <a href="#CHECK_STOPPED0">CHECK_STOPPED0</a>;
+</pre><p>Macro to check if the XSLT processing should be stopped. Will return from the function with a 0
value.</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="CHECK_STOPPEDE">Macro </a>CHECK_STOPPEDE</h3><pre
class="programlisting">#define <a href="#CHECK_STOPPEDE">CHECK_STOPPEDE</a>;
+</pre><p>Macro to check if the XSLT processing should be stopped. Will goto the error: label.</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="IS_XSLT_ATTR_FAST">Macro </a>IS_XSLT_ATTR_FAST</h3><pre
class="programlisting">#define <a href="#IS_XSLT_ATTR_FAST">IS_XSLT_ATTR_FAST</a>;
+</pre><p>quick check for xslt namespace attribute</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="IS_XSLT_ELEM_FAST">Macro </a>IS_XSLT_ELEM_FAST</h3><pre
class="programlisting">#define <a href="#IS_XSLT_ELEM_FAST">IS_XSLT_ELEM_FAST</a>;
+</pre><p>quick check whether this is an xslt element</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XML_CAST_FPTR">Macro </a>XML_CAST_FPTR</h3><pre
class="programlisting">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
+</pre><p>Macro to do a casting from an object pointer to a function pointer without encountering a warning
from gcc #define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) This macro violated ISO C aliasing rules (gcc4
on s390 broke) so it is disabled now</p><div class="variablelist"><table border="0"><col
align="left"/><tbody><tr><td><span class="term"><i><tt>fptr</tt></i>:</span></td><td>pointer to a
function</td></tr></tbody></table></div>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_CCTXT">Macro </a>XSLT_CCTXT</h3><pre
class="programlisting">#define <a href="#XSLT_CCTXT">XSLT_CCTXT</a>;
+</pre><p>get pointer to compiler context</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_FAST_IF">Macro </a>XSLT_FAST_IF</h3><pre
class="programlisting">#define <a href="#XSLT_FAST_IF">XSLT_FAST_IF</a>;
+</pre><p>Internal define to enable usage of xmlXPathCompiledEvalToBoolean() for XSLT "tests"; e.g. in
<xsl:if test="/foo/bar"></p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_GET_INTERNAL_NSMAP">Macro
</a>XSLT_GET_INTERNAL_NSMAP</h3><pre class="programlisting">#define <a
href="#XSLT_GET_INTERNAL_NSMAP">XSLT_GET_INTERNAL_NSMAP</a>;
+</pre><p>get pointer to namespace map</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_HAS_INTERNAL_NSMAP">Macro
</a>XSLT_HAS_INTERNAL_NSMAP</h3><pre class="programlisting">#define <a
href="#XSLT_HAS_INTERNAL_NSMAP">XSLT_HAS_INTERNAL_NSMAP</a>;
+</pre><p>check for namespace mapping</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_IS_RES_TREE_FRAG">Macro
</a>XSLT_IS_RES_TREE_FRAG</h3><pre class="programlisting">#define <a
href="#XSLT_IS_RES_TREE_FRAG">XSLT_IS_RES_TREE_FRAG</a>;
+</pre><p>internal macro to test tree fragments</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_IS_TEXT_NODE">Macro </a>XSLT_IS_TEXT_NODE</h3><pre
class="programlisting">#define <a href="#XSLT_IS_TEXT_NODE">XSLT_IS_TEXT_NODE</a>;
+</pre><p>check if the argument is a text node</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_ITEM_COMMON_FIELDS">Macro
</a>XSLT_ITEM_COMMON_FIELDS</h3><pre class="programlisting">#define <a
href="#XSLT_ITEM_COMMON_FIELDS">XSLT_ITEM_COMMON_FIELDS</a>;
+</pre><p>Common fields used for all items.</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_ITEM_COMPATIBILITY_FIELDS">Macro
</a>XSLT_ITEM_COMPATIBILITY_FIELDS</h3><pre class="programlisting">#define <a
href="#XSLT_ITEM_COMPATIBILITY_FIELDS">XSLT_ITEM_COMPATIBILITY_FIELDS</a>;
+</pre><p>Fields for API compatibility to the structure _xsltElemPreComp which is used for extension
functions. Note that @next is used for storage; it does not reflect a next sibling in the tree. TODO:
Evaluate if we really need such a compatibility.</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_ITEM_NAVIGATION_FIELDS">Macro
</a>XSLT_ITEM_NAVIGATION_FIELDS</h3><pre class="programlisting">#define <a
href="#XSLT_ITEM_NAVIGATION_FIELDS">XSLT_ITEM_NAVIGATION_FIELDS</a>;
+</pre><p>Currently empty. TODO: It is intended to hold navigational fields in the future.</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_ITEM_NSINSCOPE_FIELDS">Macro
</a>XSLT_ITEM_NSINSCOPE_FIELDS</h3><pre class="programlisting">#define <a
href="#XSLT_ITEM_NSINSCOPE_FIELDS">XSLT_ITEM_NSINSCOPE_FIELDS</a>;
+</pre><p>The in-scope namespaces.</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_MARK_RES_TREE_FRAG">Macro
</a>XSLT_MARK_RES_TREE_FRAG</h3><pre class="programlisting">#define <a
href="#XSLT_MARK_RES_TREE_FRAG">XSLT_MARK_RES_TREE_FRAG</a>;
+</pre><p>internal macro to set up tree fragments</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_MAX_SORT">Macro </a>XSLT_MAX_SORT</h3><pre
class="programlisting">#define <a href="#XSLT_MAX_SORT">XSLT_MAX_SORT</a>;
+</pre><p>Max number of specified xsl:sort on an element.</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_PAT_NO_PRIORITY">Macro
</a>XSLT_PAT_NO_PRIORITY</h3><pre class="programlisting">#define <a
href="#XSLT_PAT_NO_PRIORITY">XSLT_PAT_NO_PRIORITY</a>;
+</pre><p>Specific value for pattern without priority expressed.</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_REFACTORED_KEYCOMP">Macro
</a>XSLT_REFACTORED_KEYCOMP</h3><pre class="programlisting">#define <a
href="#XSLT_REFACTORED_KEYCOMP">XSLT_REFACTORED_KEYCOMP</a>;
+</pre><p>Internal define to enable on-demand xsl:key computation. That's the only mode now but the define is
kept for compatibility</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_REFACTORED_VARS">Macro
</a>XSLT_REFACTORED_VARS</h3><pre class="programlisting">#define <a
href="#XSLT_REFACTORED_VARS">XSLT_REFACTORED_VARS</a>;
+</pre><p>Internal define to enable the refactored variable part of libxslt</p>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_RUNTIME_EXTRA">Macro
</a>XSLT_RUNTIME_EXTRA</h3><pre class="programlisting">#define <a
href="#XSLT_RUNTIME_EXTRA">XSLT_RUNTIME_EXTRA</a>(ctxt, nr);
+</pre><p>Macro used to define extra information stored in the 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
transformation context</td></tr><tr><td><span class="term"><i><tt>nr</tt></i>:</span></td><td>the
index</td></tr></tbody></table></div>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_RUNTIME_EXTRA_FREE">Macro
</a>XSLT_RUNTIME_EXTRA_FREE</h3><pre class="programlisting">#define <a
href="#XSLT_RUNTIME_EXTRA_FREE">XSLT_RUNTIME_EXTRA_FREE</a>(ctxt, nr);
+</pre><p>Macro used to free extra information stored in the 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
transformation context</td></tr><tr><td><span class="term"><i><tt>nr</tt></i>:</span></td><td>the
index</td></tr></tbody></table></div>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="XSLT_RUNTIME_EXTRA_LST">Macro
</a>XSLT_RUNTIME_EXTRA_LST</h3><pre class="programlisting">#define <a
href="#XSLT_RUNTIME_EXTRA_LST">XSLT_RUNTIME_EXTRA_LST</a>(ctxt, nr);
+</pre><p>Macro used to access extra information stored in the 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
transformation context</td></tr><tr><td><span class="term"><i><tt>nr</tt></i>:</span></td><td>the
index</td></tr></tbody></table></div>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltCompilerCtxt">Structure
</a>xsltCompilerCtxt</h3><pre class="programlisting">struct _xsltCompilerCtxt {
+ void * errorCtxt : * used for error/warning reports; e.g. <a
href="libxslt-xsltInternals.html#XSLT_ERROR_SEVERITY_WARNING">XSLT_ERROR_SEVERITY_WARNING</a>
+ <a href="libxslt-xsltInternals.html#xsltErrorSeverityType">xsltErrorSeverityType</a> errSeverity
+ int warnings : TODO: number of warnings found at compilation
+ int errors : TODO: number of errors found at compilation
+ xmlDictPtr dict
+ <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style
+ int simplified : whether this is a simplified stylesheet TODO: structured/unstructured
+ int depth : Current depth of processing
+ <a href="libxslt-xsltInternals.html#xsltCompilerNodeInfoPtr">xsltCompilerNodeInfoPtr</a> inode
+ <a href="libxslt-xsltInternals.html#xsltCompilerNodeInfoPtr">xsltCompilerNodeInfoPtr</a> inodeList
+ <a href="libxslt-xsltInternals.html#xsltCompilerNodeInfoPtr">xsltCompilerNodeInfoPtr</a> inodeLast
+ <a href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> tmpList : * The XSLT
version as specified by the stylesheet's root element. *
+ int isInclude
+ int hasForwardsCompat : whether forwards-compatible mode was used in a parsing episode
+ int maxNodeInfos : TEMP TODO: just for the interest
+ int maxLREs : * In order to keep the old behaviour, applying strict rules of * the s
+ int strict
+ <a href="libxslt-xsltInternals.html#xsltPrincipalStylesheetDataPtr">xsltPrincipalStylesheetDataPtr</a>
psData
+ <a href="libxslt-xsltInternals.html#xsltStyleItemUknownPtr">xsltStyleItemUknownPtr</a> unknownItem
+ int hasNsAliases : Indicator if there was an xsl:namespace-alias.
+ <a href="libxslt-xsltInternals.html#xsltNsAliasPtr">xsltNsAliasPtr</a> nsAliases
+ <a href="libxslt-xsltInternals.html#xsltVarInfoPtr">xsltVarInfoPtr</a> ivars : Storage of local
in-scope variables/params.
+ <a href="libxslt-xsltInternals.html#xsltVarInfoPtr">xsltVarInfoPtr</a> ivar : topmost local
variable/param.
+} xsltCompilerCtxt;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltCompilerCtxtPtr">Typedef
</a>xsltCompilerCtxtPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltCompilerCtxt">xsltCompilerCtxt</a> * xsltCompilerCtxtPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltCompilerNodeInfo">Structure
</a>xsltCompilerNodeInfo</h3><pre class="programlisting">struct _xsltCompilerNodeInfo {
+ <a href="libxslt-xsltInternals.html#xsltCompilerNodeInfoPtr">xsltCompilerNodeInfoPtr</a> next
+ <a href="libxslt-xsltInternals.html#xsltCompilerNodeInfoPtr">xsltCompilerNodeInfoPtr</a> prev
+ xmlNodePtr node
+ int depth
+ <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ : The owning template
+ int category : XSLT element, LR-element or extension element
+ <a href="libxslt-xsltInternals.html#xsltStyleType">xsltStyleType</a> type
+ <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> item : The
compiled information The current in-scope namespaces
+ <a href="libxslt-xsltInternals.html#xsltNsListContainerPtr">xsltNsListContainerPtr</a> inScopeNs
: The current excluded result namespaces
+ <a href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> exclResultNs : The
current extension instruction namespaces
+ <a href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> extElemNs : The
current info for literal result elements.
+ <a href="libxslt-xsltInternals.html#xsltStyleItemLRElementInfoPtr">xsltStyleItemLRElementInfoPtr</a>
litResElemInfo : * Set to 1 if in-scope namespaces changed, * or excluded result names
+ int nsChanged
+ int preserveWhitespace
+ int stripWhitespace
+ int isRoot : whether this is the stylesheet's root node
+ int forwardsCompat : whether forwards-compatible mode is enabled whether the content of an
+ int extContentHandled : the type of the current child
+ <a href="libxslt-xsltInternals.html#xsltStyleType">xsltStyleType</a> curChildType
+} xsltCompilerNodeInfo;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltCompilerNodeInfoPtr">Typedef
</a>xsltCompilerNodeInfoPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltCompilerNodeInfo">xsltCompilerNodeInfo</a> * xsltCompilerNodeInfoPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltDecimalFormat">Structure
</a>xsltDecimalFormat</h3><pre class="programlisting">struct _xsltDecimalFormat {
+ struct _xsltDecimalFormat * next : chained list
+ xmlChar * name : Used for interpretation of pattern
+ xmlChar * digit
+ xmlChar * patternSeparator : May appear in result
+ xmlChar * minusSign
+ xmlChar * infinity
+ xmlChar * noNumber : Not-a-number Used for interpretation of pattern and may appear in res
+ xmlChar * decimalPoint
+ xmlChar * grouping
+ xmlChar * percent
+ xmlChar * permille
+ xmlChar * zeroDigit
+ const xmlChar * nsUri
+} xsltDecimalFormat;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltDecimalFormatPtr">Typedef
</a>xsltDecimalFormatPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltDecimalFormat">xsltDecimalFormat</a> * xsltDecimalFormatPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltDocument">Structure </a>xsltDocument</h3><pre
class="programlisting">struct _xsltDocument {
+ struct _xsltDocument * next : documents are kept in a chained list
+ int main : is this the main document
+ xmlDocPtr doc : the parsed document
+ void * keys : key tables storage
+ struct _xsltDocument * includes : subsidiary includes
+ int preproc : pre-processing already done
+ int nbKeysComputed
+} xsltDocument;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltDocumentPtr">Typedef </a>xsltDocumentPtr</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltDocument">xsltDocument</a> * xsltDocumentPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltEffectiveNs">Structure </a>xsltEffectiveNs</h3><pre
class="programlisting">struct _xsltEffectiveNs {
+ <a href="libxslt-xsltInternals.html#xsltEffectiveNsPtr">xsltEffectiveNsPtr</a> nextInStore :
storage next
+ <a href="libxslt-xsltInternals.html#xsltEffectiveNsPtr">xsltEffectiveNsPtr</a> next : next item
in the list
+ const xmlChar * prefix
+ const xmlChar * nsName : * Indicates if eclared on the literal result element; dunno if really
+ int holdByElem
+} xsltEffectiveNs;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltEffectiveNsPtr">Typedef
</a>xsltEffectiveNsPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltEffectiveNs">xsltEffectiveNs</a> * xsltEffectiveNsPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltElemPreComp">Structure </a>xsltElemPreComp</h3><pre
class="programlisting">struct _xsltElemPreComp {
+ <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> next : next item
in the global chained list held by xsltStylesheet.
+ <a href="libxslt-xsltInternals.html#xsltStyleType">xsltStyleType</a> type : type of the element
+ <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> func :
handling function
+ xmlNodePtr inst : the node in the stylesheet's tree corresponding to this item end of c
+ <a href="libxslt-xsltInternals.html#xsltElemPreCompDeallocator">xsltElemPreCompDeallocator</a> free
: the deallocator
+} xsltElemPreComp;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltElemPreCompPtr">Typedef
</a>xsltElemPreCompPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltElemPreComp">xsltElemPreComp</a> * xsltElemPreCompPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltErrorSeverityType">Enum
</a>xsltErrorSeverityType</h3><pre class="programlisting">enum <a
href="#xsltErrorSeverityType">xsltErrorSeverityType</a> {
+ <a name="XSLT_ERROR_SEVERITY_ERROR">XSLT_ERROR_SEVERITY_ERROR</a> = 0
+ <a name="XSLT_ERROR_SEVERITY_WARNING">XSLT_ERROR_SEVERITY_WARNING</a> = 1
+};
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltKeyDef">Structure </a>xsltKeyDef</h3><pre
class="programlisting">struct _xsltKeyDef {
+ struct _xsltKeyDef * next
+ xmlNodePtr inst
+ xmlChar * name
+ xmlChar * nameURI
+ xmlChar * match
+ xmlChar * use
+ xmlXPathCompExprPtr comp
+ xmlXPathCompExprPtr usecomp
+ xmlNsPtr * nsList : the namespaces in scope
+ int nsNr : the number of namespaces in scope
+} xsltKeyDef;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltKeyDefPtr">Typedef </a>xsltKeyDefPtr</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltKeyDef">xsltKeyDef</a> * xsltKeyDefPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltKeyTable">Structure </a>xsltKeyTable</h3><pre
class="programlisting">struct _xsltKeyTable {
+ struct _xsltKeyTable * next
+ xmlChar * name
+ xmlChar * nameURI
+ xmlHashTablePtr keys
+} xsltKeyTable;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltKeyTablePtr">Typedef </a>xsltKeyTablePtr</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltKeyTable">xsltKeyTable</a> * xsltKeyTablePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltNsAlias">Structure </a>xsltNsAlias</h3><pre
class="programlisting">struct _xsltNsAlias {
+ <a href="libxslt-xsltInternals.html#xsltNsAliasPtr">xsltNsAliasPtr</a> next : next in the list
+ xmlNsPtr literalNs
+ xmlNsPtr targetNs
+ xmlDocPtr docOfTargetNs
+} xsltNsAlias;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltNsAliasPtr">Typedef </a>xsltNsAliasPtr</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltNsAlias">xsltNsAlias</a> * xsltNsAliasPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltNsList">Structure </a>xsltNsList</h3><pre
class="programlisting">struct _xsltNsList {
+ <a href="libxslt-xsltInternals.html#xsltNsListPtr">xsltNsListPtr</a> next : next in the list
+ xmlNsPtr ns
+} xsltNsList;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltNsListContainer">Structure
</a>xsltNsListContainer</h3><pre class="programlisting">struct _xsltNsListContainer {
+ xmlNsPtr * list
+ int totalNumber
+ int xpathNumber
+} xsltNsListContainer;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltNsListContainerPtr">Typedef
</a>xsltNsListContainerPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltNsListContainer">xsltNsListContainer</a> * xsltNsListContainerPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltNsListPtr">Typedef </a>xsltNsListPtr</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltNsList">xsltNsList</a> * xsltNsListPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltNsMap">Structure </a>xsltNsMap</h3><pre
class="programlisting">struct _xsltNsMap {
+ <a href="libxslt-xsltInternals.html#xsltNsMapPtr">xsltNsMapPtr</a> next : next in the list
+ xmlDocPtr doc
+ xmlNodePtr elem : the element holding the ns-decl
+ xmlNsPtr ns : the xmlNs structure holding the XML namespace name
+ const xmlChar * origNsName : the original XML namespace name
+ const xmlChar * newNsName : the mapped XML namespace name
+} xsltNsMap;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltNsMapPtr">Typedef </a>xsltNsMapPtr</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltNsMap">xsltNsMap</a> * xsltNsMapPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltOutputType">Enum </a>xsltOutputType</h3><pre
class="programlisting">enum <a href="#xsltOutputType">xsltOutputType</a> {
+ <a name="XSLT_OUTPUT_XML">XSLT_OUTPUT_XML</a> = 0
+ <a name="XSLT_OUTPUT_HTML">XSLT_OUTPUT_HTML</a> = 1
+ <a name="XSLT_OUTPUT_TEXT">XSLT_OUTPUT_TEXT</a> = 2
+};
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltPointerList">Structure </a>xsltPointerList</h3><pre
class="programlisting">struct _xsltPointerList {
+ void ** items
+ int number
+ int size
+} xsltPointerList;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltPointerListPtr">Typedef
</a>xsltPointerListPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltPointerList">xsltPointerList</a> * xsltPointerListPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltPrincipalStylesheetData">Structure
</a>xsltPrincipalStylesheetData</h3><pre class="programlisting">struct _xsltPrincipalStylesheetData {
+ xmlDictPtr namespaceDict : * Global list of in-scope namespaces. *
+ <a href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> inScopeNamespaces
: * Global list of information for [xsl:]excluded-result-prefixes. *
+ <a href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> exclResultNamespaces
: * Global list of information for [xsl:]extension-element-prefixes. *
+ <a href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> extElemNamespaces
+ <a href="libxslt-xsltInternals.html#xsltEffectiveNsPtr">xsltEffectiveNsPtr</a> effectiveNs : *
Namespace name map to get rid of string comparison of namespace name
+ <a href="libxslt-xsltInternals.html#xsltNsMapPtr">xsltNsMapPtr</a> nsMap
+} xsltPrincipalStylesheetData;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltPrincipalStylesheetDataPtr">Typedef
</a>xsltPrincipalStylesheetDataPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltPrincipalStylesheetData">xsltPrincipalStylesheetData</a> *
xsltPrincipalStylesheetDataPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltRuntimeExtra">Structure
</a>xsltRuntimeExtra</h3><pre class="programlisting">struct _xsltRuntimeExtra {
+ void * info : pointer to the extra data
+ xmlFreeFunc deallocate : pointer to the deallocation routine
+} xsltRuntimeExtra;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltRuntimeExtraPtr">Typedef
</a>xsltRuntimeExtraPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltRuntimeExtra">xsltRuntimeExtra</a> * xsltRuntimeExtraPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStackElem">Structure </a>xsltStackElem</h3><pre
class="programlisting">struct _xsltStackElem {
+ struct _xsltStackElem * next : chained list
+ <a href="libxslt-xsltInternals.html#xsltStylePreCompPtr">xsltStylePreCompPtr</a> comp : the
compiled form
+ int computed : was the evaluation done
+ const xmlChar * name : the local part of the name QName
+ const xmlChar * nameURI : the URI part of the name QName
+ const xmlChar * select : the eval string
+ xmlNodePtr tree : the sequence constructor if no eval string or the location
+ xmlXPathObjectPtr value : The value if computed
+ xmlDocPtr fragment : The Result Tree Fragments (needed for XSLT 1.0) which are bound to th
+ int level : the depth in the tree; -1 if persistent (e.g. a given xsl:with-param)
+ <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> context : The
transformation context; needed to cache the variables
+ int flags
+} xsltStackElem;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStackElemPtr">Typedef </a>xsltStackElemPtr</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltStackElem">xsltStackElem</a> *
xsltStackElemPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleBasicEmptyItem">Structure
</a>xsltStyleBasicEmptyItem</h3><pre class="programlisting">struct _xsltStyleBasicEmptyItem {
+The content of this structure is not made public by the API.
+} xsltStyleBasicEmptyItem;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleBasicEmptyItemPtr">Typedef
</a>xsltStyleBasicEmptyItemPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a> *
xsltStyleBasicEmptyItemPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleBasicExpressionItem">Structure
</a>xsltStyleBasicExpressionItem</h3><pre class="programlisting">struct _xsltStyleBasicExpressionItem {
+ const xmlChar * select : TODO: Change this to "expression".
+ xmlXPathCompExprPtr comp : TODO: Change this to compExpr.
+} xsltStyleBasicExpressionItem;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleBasicExpressionItemPtr">Typedef
</a>xsltStyleBasicExpressionItemPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicExpressionItem">xsltStyleBasicExpressionItem</a> *
xsltStyleBasicExpressionItemPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleBasicItemVariable">Structure
</a>xsltStyleBasicItemVariable</h3><pre class="programlisting">struct _xsltStyleBasicItemVariable {
+ const xmlChar * select
+ xmlXPathCompExprPtr comp
+ const xmlChar * name
+ int has_name
+ const xmlChar * ns
+ int has_ns
+} xsltStyleBasicItemVariable;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleBasicItemVariablePtr">Typedef
</a>xsltStyleBasicItemVariablePtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicItemVariable">xsltStyleBasicItemVariable</a> *
xsltStyleBasicItemVariablePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemApplyImports">Typedef
</a>xsltStyleItemApplyImports</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a>
xsltStyleItemApplyImports;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemApplyImportsPtr">Typedef
</a>xsltStyleItemApplyImportsPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemApplyImports">xsltStyleItemApplyImports</a> *
xsltStyleItemApplyImportsPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemApplyTemplates">Structure
</a>xsltStyleItemApplyTemplates</h3><pre class="programlisting">struct _xsltStyleItemApplyTemplates {
+ const xmlChar * mode : apply-templates
+ const xmlChar * modeURI : apply-templates
+ const xmlChar * select : sort, copy-of, value-of, apply-templates
+ xmlXPathCompExprPtr comp : a precompiled XPath expression TODO: with-params
+} xsltStyleItemApplyTemplates;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemApplyTemplatesPtr">Typedef
</a>xsltStyleItemApplyTemplatesPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemApplyTemplates">xsltStyleItemApplyTemplates</a> *
xsltStyleItemApplyTemplatesPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemAttribute">Structure
</a>xsltStyleItemAttribute</h3><pre class="programlisting">struct _xsltStyleItemAttribute {
+ const xmlChar * name
+ int has_name
+ const xmlChar * ns
+ const xmlChar * nsPrefix
+ int has_ns
+} xsltStyleItemAttribute;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemAttributePtr">Typedef
</a>xsltStyleItemAttributePtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemAttribute">xsltStyleItemAttribute</a> *
xsltStyleItemAttributePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemCallTemplate">Structure
</a>xsltStyleItemCallTemplate</h3><pre class="programlisting">struct _xsltStyleItemCallTemplate {
+ <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ : call-template
+ const xmlChar * name : element, attribute, pi
+ int has_name : element, attribute, pi
+ const xmlChar * ns : element
+ int has_ns : element TODO: with-params
+} xsltStyleItemCallTemplate;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemCallTemplatePtr">Typedef
</a>xsltStyleItemCallTemplatePtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemCallTemplate">xsltStyleItemCallTemplate</a> *
xsltStyleItemCallTemplatePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemChoose">Typedef
</a>xsltStyleItemChoose</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a> xsltStyleItemChoose;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemChoosePtr">Typedef
</a>xsltStyleItemChoosePtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemChoose">xsltStyleItemChoose</a> * xsltStyleItemChoosePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemComment">Typedef
</a>xsltStyleItemComment</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a> xsltStyleItemComment;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemCommentPtr">Typedef
</a>xsltStyleItemCommentPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemComment">xsltStyleItemComment</a> * xsltStyleItemCommentPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemCopy">Structure
</a>xsltStyleItemCopy</h3><pre class="programlisting">struct _xsltStyleItemCopy {
+ const xmlChar * use : copy, element
+ int has_use : copy, element
+} xsltStyleItemCopy;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemCopyOf">Typedef
</a>xsltStyleItemCopyOf</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicExpressionItem">xsltStyleBasicExpressionItem</a>
xsltStyleItemCopyOf;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemCopyOfPtr">Typedef
</a>xsltStyleItemCopyOfPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemCopyOf">xsltStyleItemCopyOf</a> * xsltStyleItemCopyOfPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemCopyPtr">Typedef
</a>xsltStyleItemCopyPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemCopy">xsltStyleItemCopy</a> * xsltStyleItemCopyPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemDocument">Structure
</a>xsltStyleItemDocument</h3><pre class="programlisting">struct _xsltStyleItemDocument {
+ int ver11 : assigned: in xsltDocumentComp; read: nowhere; TODO: Check if we need.
+ const xmlChar * filename : document URL
+ int has_filename
+} xsltStyleItemDocument;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemDocumentPtr">Typedef
</a>xsltStyleItemDocumentPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemDocument">xsltStyleItemDocument</a> * xsltStyleItemDocumentPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemElement">Structure
</a>xsltStyleItemElement</h3><pre class="programlisting">struct _xsltStyleItemElement {
+ const xmlChar * use
+ int has_use
+ const xmlChar * name
+ int has_name
+ const xmlChar * ns
+ const xmlChar * nsPrefix
+ int has_ns
+} xsltStyleItemElement;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemElementPtr">Typedef
</a>xsltStyleItemElementPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemElement">xsltStyleItemElement</a> * xsltStyleItemElementPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemExtElement">Structure
</a>xsltStyleItemExtElement</h3><pre class="programlisting">struct _xsltStyleItemExtElement {
+ <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> item
+} xsltStyleItemExtElement;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemExtElementPtr">Typedef
</a>xsltStyleItemExtElementPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemExtElement">xsltStyleItemExtElement</a> *
xsltStyleItemExtElementPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemFallback">Typedef
</a>xsltStyleItemFallback</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicEmptyItem">xsltStyleBasicEmptyItem</a> xsltStyleItemFallback;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemFallbackPtr">Typedef
</a>xsltStyleItemFallbackPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemFallback">xsltStyleItemFallback</a> * xsltStyleItemFallbackPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemForEach">Typedef
</a>xsltStyleItemForEach</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicExpressionItem">xsltStyleBasicExpressionItem</a>
xsltStyleItemForEach;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemForEachPtr">Typedef
</a>xsltStyleItemForEachPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemForEach">xsltStyleItemForEach</a> * xsltStyleItemForEachPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemIf">Structure </a>xsltStyleItemIf</h3><pre
class="programlisting">struct _xsltStyleItemIf {
+ const xmlChar * test : if
+ xmlXPathCompExprPtr comp : a precompiled XPath expression
+} xsltStyleItemIf;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemIfPtr">Typedef
</a>xsltStyleItemIfPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemIf">xsltStyleItemIf</a> * xsltStyleItemIfPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemInclude">Structure
</a>xsltStyleItemInclude</h3><pre class="programlisting">struct _xsltStyleItemInclude {
+ <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> include
+} xsltStyleItemInclude;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemIncludePtr">Typedef
</a>xsltStyleItemIncludePtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemInclude">xsltStyleItemInclude</a> * xsltStyleItemIncludePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemLRElementInfo">Structure
</a>xsltStyleItemLRElementInfo</h3><pre class="programlisting">struct _xsltStyleItemLRElementInfo {
+ <a href="libxslt-xsltInternals.html#xsltEffectiveNsPtr">xsltEffectiveNsPtr</a> effectiveNs
+} xsltStyleItemLRElementInfo;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemLRElementInfoPtr">Typedef
</a>xsltStyleItemLRElementInfoPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemLRElementInfo">xsltStyleItemLRElementInfo</a> *
xsltStyleItemLRElementInfoPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemMessage">Structure
</a>xsltStyleItemMessage</h3><pre class="programlisting">struct _xsltStyleItemMessage {
+ int terminate
+} xsltStyleItemMessage;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemMessagePtr">Typedef
</a>xsltStyleItemMessagePtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemMessage">xsltStyleItemMessage</a> * xsltStyleItemMessagePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemNumber">Structure
</a>xsltStyleItemNumber</h3><pre class="programlisting">struct _xsltStyleItemNumber {
+ <a href="libxslt-numbersInternals.html#xsltNumberData">xsltNumberData</a> numdata : number
+} xsltStyleItemNumber;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemNumberPtr">Typedef
</a>xsltStyleItemNumberPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemNumber">xsltStyleItemNumber</a> * xsltStyleItemNumberPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemOtherwise">Structure
</a>xsltStyleItemOtherwise</h3><pre class="programlisting">struct _xsltStyleItemOtherwise {
+The content of this structure is not made public by the API.
+} xsltStyleItemOtherwise;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemOtherwisePtr">Typedef
</a>xsltStyleItemOtherwisePtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemOtherwise">xsltStyleItemOtherwise</a> *
xsltStyleItemOtherwisePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemPI">Structure </a>xsltStyleItemPI</h3><pre
class="programlisting">struct _xsltStyleItemPI {
+ const xmlChar * name
+ int has_name
+} xsltStyleItemPI;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemPIPtr">Typedef
</a>xsltStyleItemPIPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemPI">xsltStyleItemPI</a> * xsltStyleItemPIPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemParam">Structure
</a>xsltStyleItemParam</h3><pre class="programlisting">struct _xsltStyleItemParam {
+ const xmlChar * select
+ xmlXPathCompExprPtr comp
+ const xmlChar * name
+ int has_name
+ const xmlChar * ns
+ int has_ns
+} xsltStyleItemParam;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemParamPtr">Typedef
</a>xsltStyleItemParamPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemParam">xsltStyleItemParam</a> * xsltStyleItemParamPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemSort">Structure
</a>xsltStyleItemSort</h3><pre class="programlisting">struct _xsltStyleItemSort {
+ const xmlChar * stype : sort
+ int has_stype : sort
+ int number : sort
+ const xmlChar * order : sort
+ int has_order : sort
+ int descending : sort
+ const xmlChar * lang : sort
+ int has_lang : sort
+ <a href="libxslt-xsltlocale.html#xsltLocale">xsltLocale</a> locale : sort
+ const xmlChar * case_order : sort
+ int lower_first : sort
+ const xmlChar * use
+ int has_use
+ const xmlChar * select : sort, copy-of, value-of, apply-templates
+ xmlXPathCompExprPtr comp : a precompiled XPath expression
+} xsltStyleItemSort;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemSortPtr">Typedef
</a>xsltStyleItemSortPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemSort">xsltStyleItemSort</a> * xsltStyleItemSortPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemText">Structure
</a>xsltStyleItemText</h3><pre class="programlisting">struct _xsltStyleItemText {
+ int noescape : text
+} xsltStyleItemText;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemTextPtr">Typedef
</a>xsltStyleItemTextPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemText">xsltStyleItemText</a> * xsltStyleItemTextPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemUknown">Structure
</a>xsltStyleItemUknown</h3><pre class="programlisting">struct _xsltStyleItemUknown {
+The content of this structure is not made public by the API.
+} xsltStyleItemUknown;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemUknownPtr">Typedef
</a>xsltStyleItemUknownPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemUknown">xsltStyleItemUknown</a> * xsltStyleItemUknownPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemValueOf">Structure
</a>xsltStyleItemValueOf</h3><pre class="programlisting">struct _xsltStyleItemValueOf {
+ const xmlChar * select
+ xmlXPathCompExprPtr comp : a precompiled XPath expression
+ int noescape
+} xsltStyleItemValueOf;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemValueOfPtr">Typedef
</a>xsltStyleItemValueOfPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemValueOf">xsltStyleItemValueOf</a> * xsltStyleItemValueOfPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemVariable">Typedef
</a>xsltStyleItemVariable</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicItemVariable">xsltStyleBasicItemVariable</a>
xsltStyleItemVariable;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemVariablePtr">Typedef
</a>xsltStyleItemVariablePtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemVariable">xsltStyleItemVariable</a> * xsltStyleItemVariablePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemWhen">Structure
</a>xsltStyleItemWhen</h3><pre class="programlisting">struct _xsltStyleItemWhen {
+ const xmlChar * test
+ xmlXPathCompExprPtr comp
+} xsltStyleItemWhen;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemWhenPtr">Typedef
</a>xsltStyleItemWhenPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemWhen">xsltStyleItemWhen</a> * xsltStyleItemWhenPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemWithParam">Typedef
</a>xsltStyleItemWithParam</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleBasicItemVariable">xsltStyleBasicItemVariable</a>
xsltStyleItemWithParam;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleItemWithParamPtr">Typedef
</a>xsltStyleItemWithParamPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStyleItemWithParam">xsltStyleItemWithParam</a> *
xsltStyleItemWithParamPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStylePreComp">Structure
</a>xsltStylePreComp</h3><pre class="programlisting">struct _xsltStylePreComp {
+ <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> next : chained list
+ <a href="libxslt-xsltInternals.html#xsltStyleType">xsltStyleType</a> type : type of the element
+ <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a> func :
handling function
+ xmlNodePtr inst : * Pre computed values. *
+ const xmlChar * stype : sort
+ int has_stype : sort
+ int number : sort
+ const xmlChar * order : sort
+ int has_order : sort
+ int descending : sort
+ const xmlChar * lang : sort
+ int has_lang : sort
+ <a href="libxslt-xsltlocale.html#xsltLocale">xsltLocale</a> locale : sort
+ const xmlChar * case_order : sort
+ int lower_first : sort
+ const xmlChar * use : copy, element
+ int has_use : copy, element
+ int noescape : text
+ const xmlChar * name : element, attribute, pi
+ int has_name : element, attribute, pi
+ const xmlChar * ns : element
+ int has_ns : element
+ const xmlChar * mode : apply-templates
+ const xmlChar * modeURI : apply-templates
+ const xmlChar * test : if
+ <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ : call-template
+ const xmlChar * select : sort, copy-of, value-of, apply-templates
+ int ver11 : document
+ const xmlChar * filename : document URL
+ int has_filename : document
+ <a href="libxslt-numbersInternals.html#xsltNumberData">xsltNumberData</a> numdata : number
+ xmlXPathCompExprPtr comp : a precompiled XPath expression
+ xmlNsPtr * nsList : the namespaces in scope
+ int nsNr : the number of namespaces in scope
+} xsltStylePreComp;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStylePreCompPtr">Typedef
</a>xsltStylePreCompPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStylePreComp">xsltStylePreComp</a> * xsltStylePreCompPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStyleType">Enum </a>xsltStyleType</h3><pre
class="programlisting">enum <a href="#xsltStyleType">xsltStyleType</a> {
+ <a name="XSLT_FUNC_COPY">XSLT_FUNC_COPY</a> = 1
+ <a name="XSLT_FUNC_SORT">XSLT_FUNC_SORT</a> = 2
+ <a name="XSLT_FUNC_TEXT">XSLT_FUNC_TEXT</a> = 3
+ <a name="XSLT_FUNC_ELEMENT">XSLT_FUNC_ELEMENT</a> = 4
+ <a name="XSLT_FUNC_ATTRIBUTE">XSLT_FUNC_ATTRIBUTE</a> = 5
+ <a name="XSLT_FUNC_COMMENT">XSLT_FUNC_COMMENT</a> = 6
+ <a name="XSLT_FUNC_PI">XSLT_FUNC_PI</a> = 7
+ <a name="XSLT_FUNC_COPYOF">XSLT_FUNC_COPYOF</a> = 8
+ <a name="XSLT_FUNC_VALUEOF">XSLT_FUNC_VALUEOF</a> = 9
+ <a name="XSLT_FUNC_NUMBER">XSLT_FUNC_NUMBER</a> = 10
+ <a name="XSLT_FUNC_APPLYIMPORTS">XSLT_FUNC_APPLYIMPORTS</a> = 11
+ <a name="XSLT_FUNC_CALLTEMPLATE">XSLT_FUNC_CALLTEMPLATE</a> = 12
+ <a name="XSLT_FUNC_APPLYTEMPLATES">XSLT_FUNC_APPLYTEMPLATES</a> = 13
+ <a name="XSLT_FUNC_CHOOSE">XSLT_FUNC_CHOOSE</a> = 14
+ <a name="XSLT_FUNC_IF">XSLT_FUNC_IF</a> = 15
+ <a name="XSLT_FUNC_FOREACH">XSLT_FUNC_FOREACH</a> = 16
+ <a name="XSLT_FUNC_DOCUMENT">XSLT_FUNC_DOCUMENT</a> = 17
+ <a name="XSLT_FUNC_WITHPARAM">XSLT_FUNC_WITHPARAM</a> = 18
+ <a name="XSLT_FUNC_PARAM">XSLT_FUNC_PARAM</a> = 19
+ <a name="XSLT_FUNC_VARIABLE">XSLT_FUNC_VARIABLE</a> = 20
+ <a name="XSLT_FUNC_WHEN">XSLT_FUNC_WHEN</a> = 21
+ <a name="XSLT_FUNC_EXTENSION">XSLT_FUNC_EXTENSION</a> = 22
+ <a name="XSLT_FUNC_OTHERWISE">XSLT_FUNC_OTHERWISE</a> = 23
+ <a name="XSLT_FUNC_FALLBACK">XSLT_FUNC_FALLBACK</a> = 24
+ <a name="XSLT_FUNC_MESSAGE">XSLT_FUNC_MESSAGE</a> = 25
+ <a name="XSLT_FUNC_INCLUDE">XSLT_FUNC_INCLUDE</a> = 26
+ <a name="XSLT_FUNC_ATTRSET">XSLT_FUNC_ATTRSET</a> = 27
+ <a name="XSLT_FUNC_LITERAL_RESULT_ELEMENT">XSLT_FUNC_LITERAL_RESULT_ELEMENT</a> = 28
+ <a name="XSLT_FUNC_UNKOWN_FORWARDS_COMPAT">XSLT_FUNC_UNKOWN_FORWARDS_COMPAT</a> = 29
+};
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStylesheet">Structure </a>xsltStylesheet</h3><pre
class="programlisting">struct _xsltStylesheet {
+ struct _xsltStylesheet * parent
+ struct _xsltStylesheet * next
+ struct _xsltStylesheet * imports
+ <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> docList : * General data on
the style sheet document. *
+ xmlDocPtr doc : the parsed XML stylesheet
+ xmlHashTablePtr stripSpaces : the hash table of the strip-space and preserve space elements
+ int stripAll : strip-space * (1) preserve-space * (-1)
+ xmlHashTablePtr cdataSection : * Global variable or parameters. *
+ <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> variables : * Template
descriptions. *
+ <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templates : the ordered
list of templates
+ void * templatesHash : hash table or wherever compiled templates information is stored
+ void * rootMatch : template based on /
+ void * keyMatch : template based on key()
+ void * elemMatch : template based on *
+ void * attrMatch : template based on @*
+ void * parentMatch : template based on ..
+ void * textMatch : template based on text()
+ void * piMatch : template based on processing-instruction()
+ void * commentMatch : * Namespace aliases. * NOTE: Not used in the refactored code. *
+ xmlHashTablePtr nsAliases : * Attribute sets. *
+ xmlHashTablePtr attributeSets : * Namespaces. * TODO: Eliminate this. *
+ xmlHashTablePtr nsHash : the set of namespaces in use: ATTENTION: This is used for execution o
+ void * nsDefs : * Key definitions. *
+ void * keys : * Output related stuff. *
+ xmlChar * method : the output method
+ xmlChar * methodURI : associated namespace if any
+ xmlChar * version : version string
+ xmlChar * encoding : encoding string
+ int omitXmlDeclaration : * Number formatting. *
+ <a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> decimalFormat
+ int standalone : standalone = "yes" | "no"
+ xmlChar * doctypePublic : doctype-public string
+ xmlChar * doctypeSystem : doctype-system string
+ int indent : should output being indented
+ xmlChar * mediaType : * Precomputed blocks. *
+ <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> preComps :
list of precomputed blocks
+ int warnings : number of warnings found at compilation
+ int errors : number of errors found at compilation
+ xmlChar * exclPrefix : last excluded prefixes
+ xmlChar ** exclPrefixTab : array of excluded prefixes
+ int exclPrefixNr : number of excluded prefixes in scope
+ int exclPrefixMax : size of the array
+ void * _private : * Extensions. *
+ xmlHashTablePtr extInfos : the extension data
+ int extrasNr : * For keeping track of nested includes *
+ <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> includes : *
dictionary: shared between stylesheet, context and documents. *
+ xmlDictPtr dict : * precompiled attribute value templates. *
+ void * attVTs : * if namespace-alias has an alias for the default stylesheet prefix *
+ const xmlChar * defaultAlias : * bypass pre-processing (already done) (used in imports) *
+ int nopreproc : * all document text strings were internalized *
+ int internalized : * Literal Result Element as Stylesheet c.f. section 2.3 *
+ int literal_result : * The principal stylesheet *
+ <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> principal : *
Compilation context used during compile-time. *
+ <a href="libxslt-xsltInternals.html#xsltCompilerCtxtPtr">xsltCompilerCtxtPtr</a> compCtxt :
TODO: Change this to (void *).
+ <a href="libxslt-xsltInternals.html#xsltPrincipalStylesheetDataPtr">xsltPrincipalStylesheetDataPtr</a>
principalData : * Forwards-compatible processing *
+ int forwards_compatible
+ xmlHashTablePtr namedTemplates : hash table of named templates
+ xmlXPathContextPtr xpathCtxt
+} xsltStylesheet;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltStylesheetPtr">Typedef
</a>xsltStylesheetPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStylesheet">xsltStylesheet</a> * xsltStylesheetPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltTemplate">Structure </a>xsltTemplate</h3><pre
class="programlisting">struct _xsltTemplate {
+ struct _xsltTemplate * next : chained list sorted by priority
+ struct _xsltStylesheet * style : the containing stylesheet
+ xmlChar * match : the matching string
+ float priority : as given from the stylesheet, not computed
+ const xmlChar * name : the local part of the name QName
+ const xmlChar * nameURI : the URI part of the name QName
+ const xmlChar * mode : the local part of the mode QName
+ const xmlChar * modeURI : the URI part of the mode QName
+ xmlNodePtr content : the template replacement value
+ xmlNodePtr elem : * TODO: @inheritedNsNr and @inheritedNs won't be used in the * refact
+ int inheritedNsNr : number of inherited namespaces
+ xmlNsPtr * inheritedNs : inherited non-excluded namespaces Profiling information
+ int nbCalls : the number of time the template was called
+ unsigned long time : the time spent in this template
+ void * params : xsl:param instructions
+ int templNr : Nb of templates in the stack
+ int templMax : Size of the templtes stack
+ <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> * templCalledTab : templates
called
+ int * templCountTab : .. and how often
+} xsltTemplate;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltTemplatePtr">Typedef </a>xsltTemplatePtr</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltTemplate">xsltTemplate</a> * xsltTemplatePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltTransformCache">Structure
</a>xsltTransformCache</h3><pre class="programlisting">struct _xsltTransformCache {
+ xmlDocPtr RVT
+ int nbRVT
+ <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> stackItems
+ int nbStackItems
+ int dbgCachedRVTs
+ int dbgReusedRVTs
+ int dbgCachedVars
+ int dbgReusedVars
+} xsltTransformCache;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltTransformCachePtr">Typedef
</a>xsltTransformCachePtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltTransformCache">xsltTransformCache</a> * xsltTransformCachePtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltTransformContext">Structure
</a>xsltTransformContext</h3><pre class="programlisting">struct _xsltTransformContext {
+ <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style : the
stylesheet used
+ <a href="libxslt-xsltInternals.html#xsltOutputType">xsltOutputType</a> type : the type of output
+ <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> templ : the current template
+ int templNr : Nb of templates in the stack
+ int templMax : Size of the templtes stack
+ <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> * templTab : the
template stack
+ <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> vars : the current
variable list
+ int varsNr : Nb of variable list in the stack
+ int varsMax : Size of the variable list stack
+ <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> * varsTab : the
variable list stack
+ int varsBase : * Extensions *
+ xmlHashTablePtr extFunctions : the extension functions
+ xmlHashTablePtr extElements : the extension elements
+ xmlHashTablePtr extInfos : the extension data
+ const xmlChar * mode : the current mode
+ const xmlChar * modeURI : the current mode URI
+ <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> docList : the document list
+ <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> document : the current
source document; can be NULL if an RTF
+ xmlNodePtr node : the current node being processed
+ xmlNodeSetPtr nodeList : the current node list xmlNodePtr current; the node
+ xmlDocPtr output : the resulting document
+ xmlNodePtr insert : the insertion node
+ xmlXPathContextPtr xpathCtxt : the XPath context
+ <a href="libxslt-xsltInternals.html#xsltTransformState">xsltTransformState</a> state : * Global
variables *
+ xmlHashTablePtr globalVars : the global variables and params
+ xmlNodePtr inst : the instruction in the stylesheet
+ int xinclude : should XInclude be processed
+ const char * outputFile : the output URI if known
+ int profile : is this run profiled
+ long prof : the current profiled value
+ int profNr : Nb of templates in the stack
+ int profMax : Size of the templtaes stack
+ long * profTab : the profile template stack
+ void * _private : user defined data
+ int extrasNr : the number of extras used
+ int extrasMax : the number of extras allocated
+ <a href="libxslt-xsltInternals.html#xsltRuntimeExtraPtr">xsltRuntimeExtraPtr</a> extras : extra per
runtime information
+ <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> styleList : the
stylesheet docs list
+ void * sec : the security preferences if any
+ xmlGenericErrorFunc error : a specific error handler
+ void * errctx : context for the error handler
+ <a href="libxslt-xsltInternals.html#xsltSortFunc">xsltSortFunc</a> sortfunc : * handling of
temporary Result Value Tree * (XSLT 1.0 term: "Result Tr
+ xmlDocPtr tmpRVT : list of RVT without persistance
+ xmlDocPtr persistRVT : list of persistant RVTs
+ int ctxtflags : * Speed optimization when coalescing text nodes *
+ const xmlChar * lasttext : last text node content
+ int lasttsize : last text node size
+ int lasttuse : * Per Context Debugging *
+ int debugStatus : the context level debug status
+ unsigned long * traceCode : pointer to the variable holding the mask
+ int parserOptions : * dictionary: shared between stylesheet, context and documents. *
+ xmlDictPtr dict
+ xmlDocPtr tmpDoc : * all document text strings are internalized *
+ int internalized
+ int nbKeys
+ int hasTemplKeyPatterns
+ <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> currentTemplateRule : the
Current Template Rule
+ xmlNodePtr initialContextNode
+ xmlDocPtr initialContextDoc
+ <a href="libxslt-xsltInternals.html#xsltTransformCachePtr">xsltTransformCachePtr</a> cache
+ void * contextVariable : the current variable item
+ xmlDocPtr localRVT : list of local tree fragments; will be freed when the instruction whic
+ xmlDocPtr localRVTBase : Obsolete
+ int keyInitLevel : Needed to catch recursive keys issues
+ int depth : Needed to catch recursions
+ int maxTemplateDepth
+ int maxTemplateVars
+ unsigned long opLimit
+ unsigned long opCount
+} xsltTransformContext;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltTransformContextPtr">Typedef
</a>xsltTransformContextPtr</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltTransformContext">xsltTransformContext</a> * xsltTransformContextPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltTransformState">Enum
</a>xsltTransformState</h3><pre class="programlisting">enum <a
href="#xsltTransformState">xsltTransformState</a> {
+ <a name="XSLT_STATE_OK">XSLT_STATE_OK</a> = 0
+ <a name="XSLT_STATE_ERROR">XSLT_STATE_ERROR</a> = 1
+ <a name="XSLT_STATE_STOPPED">XSLT_STATE_STOPPED</a> = 2
+};
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltVarInfo">Structure </a>xsltVarInfo</h3><pre
class="programlisting">struct _xsltVarInfo {
+ <a href="libxslt-xsltInternals.html#xsltVarInfoPtr">xsltVarInfoPtr</a> next : next in the list
+ <a href="libxslt-xsltInternals.html#xsltVarInfoPtr">xsltVarInfoPtr</a> prev
+ int depth : the depth in the tree
+ const xmlChar * name
+ const xmlChar * nsName
+} xsltVarInfo;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltVarInfoPtr">Typedef </a>xsltVarInfoPtr</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltVarInfo">xsltVarInfo</a> * xsltVarInfoPtr;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltElemPreCompDeallocator"/>Function type
xsltElemPreCompDeallocator</h3><pre class="programlisting">void xsltElemPreCompDeallocator (<a
href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)<br/>
+</pre><p>Deallocates an #xsltElemPreComp structure.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>comp</tt></i>:</span></td><td>the #xsltElemPreComp to free
up</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltSortFunc"/>Function type xsltSortFunc</h3><pre
class="programlisting">void xsltSortFunc (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlNodePtr * sorts, <br/> int nbsorts)<br/>
+</pre><p>Signature of the function to use during sorting</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>sorts</tt></i>:</span></td><td>the node-set to sort</td></tr><tr><td><span
class="term"><i><tt>nbsorts</tt></i>:</span></td><td>the number of sorts</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltTransformFunction"/>Function type
xsltTransformFunction</h3><pre class="programlisting">void xsltTransformFunction (<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>Signature of the function associated to elements part of the stylesheet language like xsl:if or
xsl:apply-templates.</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 input node</td></tr><tr><td><span
class="term"><i><tt>inst</tt></i>:</span></td><td>the stylesheet node</td></tr><tr><td><span
class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled information from the
stylesheet</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltConstNamespaceNameXSLT">Variable
</a>xsltConstNamespaceNameXSLT</h3><pre class="programlisting">const xmlChar * xsltConstNamespaceNameXSLT;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltXSLTAttrMarker">Variable
</a>xsltXSLTAttrMarker</h3><pre class="programlisting">const xmlChar * xsltXSLTAttrMarker;
+</pre><p/>
+</div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltAllocateExtra"/>xsltAllocateExtra ()</h3><pre
class="programlisting">int xsltAllocateExtra (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
+</pre><p>Allocate an extra runtime information slot statically while compiling the stylesheet and return its
number</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>Returns</tt></i>:</span></td><td>the number of the
slot</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltAllocateExtraCtxt"/>xsltAllocateExtraCtxt
()</h3><pre class="programlisting">int xsltAllocateExtraCtxt (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
+</pre><p>Allocate an extra runtime information slot at run-time and return its number This make sure there
is a slot ready in the 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>Returns</tt></i>:</span></td><td>the number of the
slot</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltCompileAttr"/>xsltCompileAttr ()</h3><pre
class="programlisting">void xsltCompileAttr (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
xmlAttrPtr attr)<br/>
+</pre><p>Precompile an attribute in a stylesheet, basically it checks if it is an attribute value template,
and if yes, establish some structures needed to process it at transformation time.</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 XSLT process context</td></tr><tr><td><span
class="term"><i><tt>attr</tt></i>:</span></td><td>the attribute coming from the
stylesheet.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltCreateRVT"/>xsltCreateRVT ()</h3><pre
class="programlisting">xmlDocPtr xsltCreateRVT (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
+</pre><p>Creates a Result Value Tree (the XSLT 1.0 term for this is "Result Tree Fragment")</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 result value tree or NULL in case of API or internal
errors.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltDecimalFormatGetByName"/>xsltDecimalFormatGetByName
()</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a>
xsltDecimalFormatGetByName (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>
style, <br/> xmlChar * name)<br/>
+</pre><p>Find decimal-format by name</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>name</tt></i>:</span></td><td>the decimal-format name to find</td></tr><tr><td><span
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a
href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a></td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a
name="xsltDecimalFormatGetByQName"/>xsltDecimalFormatGetByQName ()</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> xsltDecimalFormatGetByQName
(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
const xmlChar * nsUri, <br/>
const xmlChar * name)<br/>
+</pre><p>Find decimal-format by QName</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>nsUri</tt></i>:</span></td><td>the namespace URI of the QName</td></tr><tr><td><span
class="term"><i><tt>name</tt></i>:</span></td><td>the local part of the QName</td></tr><tr><td><span
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a
href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a></td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltEvalAVT"/>xsltEvalAVT ()</h3><pre
class="programlisting">xmlChar * xsltEvalAVT (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
void * avt, <br/> xmlNodePtr node)<br/>
+</pre><p>Process the given AVT, 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>avt</tt></i>:</span></td><td>the prevompiled attribute value template
info</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node hosting the
attribute</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="xsltExtensionInstructionResultFinalize"/>xsltExtensionInstructionResultFinalize ()</h3><pre
class="programlisting">int xsltExtensionInstructionResultFinalize (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
+</pre><p>Finalizes the data (e.g. result tree fragments) created within a value-returning process (e.g.
EXSLT's function). Tree fragments marked as being returned by a function are set to normal state, which means
that the fragment garbage collector will free them after the function-calling process exits.</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>0 in case of success and -1 in case of API or internal
errors. This function is unsupported in newer releases of libxslt.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a
name="xsltExtensionInstructionResultRegister"/>xsltExtensionInstructionResultRegister ()</h3><pre
class="programlisting">int xsltExtensionInstructionResultRegister (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlXPathObjectPtr obj)<br/>
+</pre><p>Marks the result of a value-returning extension instruction in order to avoid it being garbage
collected before the extension instruction exits. Note that one still has to additionally register any newly
created tree fragments (via xsltCreateRVT()) with xsltRegisterLocalRVT().</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>obj</tt></i>:</span></td><td>an XPath object to be inspected for result tree
fragments</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. It isn't necessary to call this function in newer releases of
libxslt.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltFlagRVTs"/>xsltFlagRVTs ()</h3><pre
class="programlisting">int xsltFlagRVTs (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlXPathObjectPtr obj, <br/> void * val)<br/>
+</pre><p>Updates ownership information of RVTs in @obj according to @val. @val = <a
href="libxslt-variables.html#XSLT_RVT_FUNC_RESULT">XSLT_RVT_FUNC_RESULT</a> for the result of an extension
function, so its RVTs won't be destroyed after leaving the returning scope. @val = <a
href="libxslt-variables.html#XSLT_RVT_LOCAL">XSLT_RVT_LOCAL</a> for the result of an extension function to
reset the state of its RVTs after it was returned to a new scope. @val = <a
href="libxslt-variables.html#XSLT_RVT_GLOBAL">XSLT_RVT_GLOBAL</a> for parts of global variables.</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>obj</tt></i>:</span></td><td>an XPath object to be inspected for result tree
fragments</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the flag
value</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="xsltFormatNumberConversion"/>xsltFormatNumberConversion
()</h3><pre class="programlisting">xmlXPathError xsltFormatNumberConversion (<a
href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> self, <br/>
xmlChar * format, <br/> double number,
<br/> xmlChar ** result)<br/>
+</pre><p>format-number() uses the JDK 1.1 DecimalFormat class:
http://java.sun.com/products/jdk/1.1/docs/api/java.text.DecimalFormat.html Structure: pattern :=
subpattern{;subpattern} subpattern := {prefix}integer{.fraction}{suffix} prefix := '\\u0000'..'\\uFFFD' -
specialCharacters suffix := '\\u0000'..'\\uFFFD' - specialCharacters integer := '#'* '0'* '0' fraction :=
'0'* '#'* Notation: X* 0 or more instances of X (X | Y) either X or Y. X..Y any character from X up to Y,
inclusive. S - T characters in S, except those in T Special Characters: Symbol Meaning 0 a digit # a digit,
zero shows as absent . placeholder for decimal separator , placeholder for grouping separator. ; separates
formats. - default negative prefix. % multiply by 100 and show as percentage ? multiply by 1000 and show as
per mille X any other characters can be used in the prefix or suffix ' used to quote special characters in a
prefix or suffix.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>self</tt></i>:</span></td><td>the decimal format</td></tr><tr><td><span
class="term"><i><tt>format</tt></i>:</span></td><td>the format requested</td></tr><tr><td><span
class="term"><i><tt>number</tt></i>:</span></td><td>the value to format</td></tr><tr><td><span
class="term"><i><tt>result</tt></i>:</span></td><td>the place to output the result</td></tr><tr><td><span
class="term"><i><tt>Returns</tt></i>:</span></td><td>a possible XPath
error</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltFreeAVTList"/>xsltFreeAVTList ()</h3><pre
class="programlisting">void xsltFreeAVTList (void * avt)<br/>
+</pre><p>Free up the memory associated to the attribute value templates</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>avt</tt></i>:</span></td><td>pointer to an list of AVT
structures</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltFreeRVTs"/>xsltFreeRVTs ()</h3><pre
class="programlisting">void xsltFreeRVTs (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
+</pre><p>Frees all registered result value trees (Result Tree Fragments) of the transformation. Internal
function; should not be called by user-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></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltFreeStackElemList"/>xsltFreeStackElemList
()</h3><pre class="programlisting">void xsltFreeStackElemList (<a
href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> elem)<br/>
+</pre><p>Free up the memory allocated by @elem</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>elem</tt></i>:</span></td><td>an XSLT stack element</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltFreeStylesheet"/>xsltFreeStylesheet ()</h3><pre
class="programlisting">void xsltFreeStylesheet (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br/>
+</pre><p>Free up the memory allocated by @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</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltInitAllDocKeys"/>xsltInitAllDocKeys ()</h3><pre
class="programlisting">int xsltInitAllDocKeys (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br/>
+</pre><p>INTERNAL ROUTINE ONLY Check if any keys on the current document need to be computed</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>ctxt</tt></i>:</span></td><td>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
failure</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltInitCtxtKey"/>xsltInitCtxtKey ()</h3><pre
class="programlisting">int xsltInitCtxtKey (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
<a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a> idoc, <br/>
<a href="libxslt-xsltInternals.html#xsltKeyDefPtr">xsltKeyDefPtr</a>
keyDef)<br/>
+</pre><p>Computes the key tables this key and for the current input document.</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>the document information (holds key
values)</td></tr><tr><td><span class="term"><i><tt>keyDef</tt></i>:</span></td><td>the key
definition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success, -1 on
error</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltIsBlank"/>xsltIsBlank ()</h3><pre
class="programlisting">int xsltIsBlank (xmlChar * str)<br/>
+</pre><p>Check if a string is ignorable</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>str</tt></i>:</span></td><td>a string</td></tr><tr><td><span
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the string is NULL or made of blanks chars, 0
otherwise</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltLoadStylesheetPI"/>xsltLoadStylesheetPI ()</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>
xsltLoadStylesheetPI (xmlDocPtr doc)<br/>
+</pre><p>This function tries to locate the stylesheet PI in the given document If found, and if contained
within the document, it will extract that subtree to build the stylesheet to process @doc (doc itself will be
modified). If found but referencing an external document it will attempt to load it and generate a stylesheet
from it. In both cases, the resulting stylesheet and the document need to be freed once the transformation is
done.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>doc</tt></i>:</span></td><td>a document to process</td></tr><tr><td><span
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new XSLT stylesheet structure or NULL if not
found.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltNewStylesheet"/>xsltNewStylesheet ()</h3><pre
class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>
xsltNewStylesheet (void)<br/>
+</pre><p>Create a new XSLT Stylesheet</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 newly allocated <a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> or NULL in case of
error</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltNumberFormat"/>xsltNumberFormat ()</h3><pre
class="programlisting">void xsltNumberFormat (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
<a href="libxslt-numbersInternals.html#xsltNumberDataPtr">xsltNumberDataPtr</a> data,
<br/> xmlNodePtr node)<br/>
+</pre><p>Convert one number.</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>data</tt></i>:</span></td><td>the formatting information</td></tr><tr><td><span
class="term"><i><tt>node</tt></i>:</span></td><td>the data to format</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltParseAnyXSLTElem"/>xsltParseAnyXSLTElem ()</h3><pre
class="programlisting">int xsltParseAnyXSLTElem (<a
href="libxslt-xsltInternals.html#xsltCompilerCtxtPtr">xsltCompilerCtxtPtr</a> cctxt, <br/>
xmlNodePtr elem)<br/>
+</pre><p>Parses, validates the content models and compiles XSLT instructions.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>cctxt</tt></i>:</span></td><td>the compilation context</td></tr><tr><td><span
class="term"><i><tt>elem</tt></i>:</span></td><td>the element node of the XSLT
instruction</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if everything's
fine; -1 on API or internal errors.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a
name="xsltParseSequenceConstructor"/>xsltParseSequenceConstructor ()</h3><pre class="programlisting">void
xsltParseSequenceConstructor (<a
href="libxslt-xsltInternals.html#xsltCompilerCtxtPtr">xsltCompilerCtxtPtr</a> cctxt, <br/>
xmlNodePtr cur)<br/>
+</pre><p>Parses a "template" content (or "sequence constructor" in XSLT 2.0 terms). This will additionally
remove xsl:text elements from the tree.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>cctxt</tt></i>:</span></td><td>the compilation context</td></tr><tr><td><span
class="term"><i><tt>cur</tt></i>:</span></td><td>the start-node of the content to be
parsed</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetDoc"/>xsltParseStylesheetDoc
()</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltParseStylesheetDoc
(xmlDocPtr doc)<br/>
+</pre><p>parse an XSLT stylesheet, building the associated structures. doc is kept as a reference within the
returned stylesheet, so changes to doc after the parsing will be reflected when the stylesheet is applied,
and the doc is automatically freed when the stylesheet is closed.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>doc</tt></i>:</span></td><td>and xmlDoc parsed XML</td></tr><tr><td><span
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new XSLT stylesheet
structure.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetFile"/>xsltParseStylesheetFile
()</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltParseStylesheetFile (const
xmlChar * filename)<br/>
+</pre><p>Load and parse an XSLT stylesheet</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename/URL to the
stylesheet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new XSLT stylesheet
structure.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a
name="xsltParseStylesheetImportedDoc"/>xsltParseStylesheetImportedDoc ()</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltParseStylesheetImportedDoc
(xmlDocPtr doc, <br/> <a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> parentStyle)<br/>
+</pre><p>parse an XSLT stylesheet building the associated structures except the processing not needed for
imported documents.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>doc</tt></i>:</span></td><td>an xmlDoc parsed XML</td></tr><tr><td><span
class="term"><i><tt>parentStyle</tt></i>:</span></td><td>pointer to the parent stylesheet (if it
exists)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new XSLT stylesheet
structure.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetOutput"/>xsltParseStylesheetOutput
()</h3><pre class="programlisting">void xsltParseStylesheetOutput (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
xmlNodePtr cur)<br/>
+</pre><p>parse an XSLT stylesheet output element and record information related to the stylesheet 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>the XSLT stylesheet</td></tr><tr><td><span
class="term"><i><tt>cur</tt></i>:</span></td><td>the "output" element</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetProcess"/>xsltParseStylesheetProcess
()</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltParseStylesheetProcess
(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> ret, <br/>
xmlDocPtr doc)<br/>
+</pre><p>Parses an XSLT stylesheet, adding the associated structures. Called by:
xsltParseStylesheetImportedDoc() (xslt.c) xsltParseStylesheetInclude() (imports.c)</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>ret</tt></i>:</span></td><td>the XSLT stylesheet (the current
stylesheet-level)</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>and xmlDoc parsed
XML</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value of the @style
parameter if everything went right, NULL if something went amiss.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetUser"/>xsltParseStylesheetUser
()</h3><pre class="programlisting">int xsltParseStylesheetUser (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
xmlDocPtr doc)<br/>
+</pre><p>Parse an XSLT stylesheet with a user-provided stylesheet struct.</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 the stylesheet</td></tr><tr><td><span
class="term"><i><tt>doc</tt></i>:</span></td><td>an xmlDoc parsed XML</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="xsltParseTemplateContent"/>xsltParseTemplateContent
()</h3><pre class="programlisting">void xsltParseTemplateContent (<a
href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br/>
xmlNodePtr templ)<br/>
+</pre><p>parse a template content-model Clean-up the template content from unwanted ignorable blank nodes
and process xslt:text</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>templ</tt></i>:</span></td><td>the container node (can be a document for literal
results)</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltPointerListAddSize"/>xsltPointerListAddSize
()</h3><pre class="programlisting">int xsltPointerListAddSize (<a
href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> list, <br/>
void * item, <br/> int initialSize)<br/>
+</pre><p>Adds an item to the list.</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 pointer list structure</td></tr><tr><td><span
class="term"><i><tt>item</tt></i>:</span></td><td>the item to be stored</td></tr><tr><td><span
class="term"><i><tt>initialSize</tt></i>:</span></td><td>the initial size of the list</td></tr><tr><td><span
class="term"><i><tt>Returns</tt></i>:</span></td><td>the position of the added item in the list or -1 in case
of an error.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltPointerListClear"/>xsltPointerListClear ()</h3><pre
class="programlisting">void xsltPointerListClear (<a
href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> list)<br/>
+</pre><p>Resets the list, but does not free the allocated array and does not free the content of the
list.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>list</tt></i>:</span></td><td>pointer to the list to be
cleared</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltPointerListCreate"/>xsltPointerListCreate
()</h3><pre class="programlisting"><a
href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> xsltPointerListCreate (int
initialSize)<br/>
+</pre><p>Creates an <a href="libxslt-xsltInternals.html#xsltPointerList">xsltPointerList</a> structure.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>initialSize</tt></i>:</span></td><td>the initial size for the list</td></tr><tr><td><span
class="term"><i><tt>Returns</tt></i>:</span></td><td>a <a
href="libxslt-xsltInternals.html#xsltPointerList">xsltPointerList</a> structure or NULL in case of an
error.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltPointerListFree"/>xsltPointerListFree ()</h3><pre
class="programlisting">void xsltPointerListFree (<a
href="libxslt-xsltInternals.html#xsltPointerListPtr">xsltPointerListPtr</a> list)<br/>
+</pre><p>Frees the <a href="libxslt-xsltInternals.html#xsltPointerList">xsltPointerList</a> structure. This
does not free the content of the list.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>list</tt></i>:</span></td><td>pointer to the list to be
freed</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltRegisterLocalRVT"/>xsltRegisterLocalRVT ()</h3><pre
class="programlisting">int xsltRegisterLocalRVT (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlDocPtr RVT)<br/>
+</pre><p>Registers a result value tree (XSLT 1.0 term: Result Tree Fragment) in the RVT garbage collector.
The fragment will be freed when the instruction which created the fragment exits.</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>RVT</tt></i>:</span></td><td>a result value tree (Result Tree Fragment;
xmlDocPtr)</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 API or internal errors.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltRegisterPersistRVT"/>xsltRegisterPersistRVT
()</h3><pre class="programlisting">int xsltRegisterPersistRVT (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlDocPtr RVT)<br/>
+</pre><p>Register the result value tree (XSLT 1.0 term: Result Tree Fragment) in the fragment garbage
collector. The fragment will be freed when the transformation context is freed.</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>RVT</tt></i>:</span></td><td>a result value tree (Result Tree
Fragment)</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="xsltRegisterTmpRVT"/>xsltRegisterTmpRVT ()</h3><pre
class="programlisting">int xsltRegisterTmpRVT (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlDocPtr RVT)<br/>
+</pre><p>Registers the result value tree (XSLT 1.0 term: Result Tree Fragment) in the garbage collector. The
fragment will be freed at the exit of the currently instantiated xsl:template. Obsolete; this function might
produce massive memory overhead, since the fragment is only freed when the current xsl:template exits. Use
xsltRegisterLocalRVT() 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>an XSLT transformation context</td></tr><tr><td><span
class="term"><i><tt>RVT</tt></i>:</span></td><td>a result value tree (Result Tree
Fragment)</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 API or internal errors.</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a name="xsltReleaseRVT"/>xsltReleaseRVT ()</h3><pre
class="programlisting">void xsltReleaseRVT (<a
href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br/>
xmlDocPtr RVT)<br/>
+</pre><p>Either frees the RVT (which is an xmlDoc) or stores it in the context's cache for later reuse.</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>RVT</tt></i>:</span></td><td>a result value tree (Result Tree
Fragment)</td></tr></tbody></table></div></div>
+ <hr/>
+ <div class="refsect2" lang="en"><h3><a
name="xsltRestoreDocumentNamespaces"/>xsltRestoreDocumentNamespaces ()</h3><pre class="programlisting">int
xsltRestoreDocumentNamespaces (<a href="libxslt-xsltInternals.html#xsltNsMapPtr">xsltNsMapPtr</a> ns,
<br/> xmlDocPtr doc)<br/>
+</pre><p>Restore the namespaces for the document</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>ns</tt></i>:</span></td><td>map of namespaces</td></tr><tr><td><span
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</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="xsltUninit"/>xsltUninit ()</h3><pre
class="programlisting">void xsltUninit (void)<br/>
+</pre><p>Uninitializes the processor.</p>
+</div>
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/doc/devhelp/libxslt-xsltexports.html b/doc/devhelp/libxslt-xsltexports.html
new file mode 100644
index 00000000..e9479ea1
--- /dev/null
+++ b/doc/devhelp/libxslt-xsltexports.html
@@ -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 <igor zlatkovic com> </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>
diff --git a/doc/devhelp/libxslt-xsltlocale.html b/doc/devhelp/libxslt-xsltlocale.html
new file mode 100644
index 00000000..9861b8c0
--- /dev/null
+++ b/doc/devhelp/libxslt-xsltlocale.html
@@ -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 < 0 if str1 sorts before str2, a value > 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>
diff --git a/doc/devhelp/libxslt-xsltutils.html b/doc/devhelp/libxslt-xsltutils.html
new file mode 100644
index 00000000..9611b946
--- /dev/null
+++ b/doc/devhelp/libxslt-xsltutils.html
@@ -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 <?xml
version="1.0"?> <profile> <template rank="1" match="*" name="" mode="" calls="6" time="48"
average="8"/> <template rank="2" match="item2|item3" name="" mode="" calls="10" time="30"
average="3"/> <template rank="3" match="item1" name="" mode="" calls="5" time="17" average="3"/>
</profile> 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>
diff --git a/doc/devhelp/libxslt.devhelp2 b/doc/devhelp/libxslt.devhelp2
new file mode 100644
index 00000000..4a44f803
--- /dev/null
+++ b/doc/devhelp/libxslt.devhelp2
@@ -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>
diff --git a/doc/devhelp/right.png b/doc/devhelp/right.png
new file mode 100644
index 00000000..92832e3a
Binary files /dev/null and b/doc/devhelp/right.png differ
diff --git a/doc/devhelp/style.css b/doc/devhelp/style.css
new file mode 100644
index 00000000..c9cabe78
--- /dev/null
+++ b/doc/devhelp/style.css
@@ -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;
+}
diff --git a/doc/devhelp/up.png b/doc/devhelp/up.png
new file mode 100644
index 00000000..85b3e2a2
Binary files /dev/null and b/doc/devhelp/up.png differ
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]