summaryrefslogtreecommitdiff
path: root/doc/html/libxslt-extensions.html
blob: 40b61ff0defe191e0ecf3b2933ae78cec6aecc2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
    </style><title>Module extensions from libxslt</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="GNOME2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C logo" /></a><a href="http://www.redhat.com"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="../Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for GNOME</h1><h2>Module extensions from libxslt</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://codespeak.net/lxml/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXSLT">Perl XSLT bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading17">XSLT with PHP</a></li><li><a href="http://www.mod-xslt2.com/">Apache module</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><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><th align="left"><a href="libxslt-documents.html">documents</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">Home</a></th><th align="right"><a href="libxslt-extra.html">extra</a></th><td><a accesskey="n" href="libxslt-extra.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>This provide the API needed for simple and module extension support. </p><h2>Table of Contents</h2><pre class="programlisting">int	<a href="#xsltCheckExtPrefix">xsltCheckExtPrefix</a>		(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 const xmlChar * URI)</pre>
<pre class="programlisting">int	<a href="#xsltCheckExtURI">xsltCheckExtURI</a>			(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 const xmlChar * URI)</pre>
<pre class="programlisting">void	<a href="#xsltDebugDumpExtensions">xsltDebugDumpExtensions</a>		(FILE * output)</pre>
<pre class="programlisting"><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)</pre>
<pre class="programlisting">Function type: <a href="#xsltExtInitFunction">xsltExtInitFunction</a>
void *	<a href="#xsltExtInitFunction">xsltExtInitFunction</a>		(<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />					 const xmlChar * URI)
</pre>
<pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a>	<a href="#xsltExtModuleElementLookup">xsltExtModuleElementLookup</a>	(const xmlChar * name, <br />							 const xmlChar * URI)</pre>
<pre class="programlisting"><a href="libxslt-extensions.html#xsltPreComputeFunction">xsltPreComputeFunction</a>	<a href="#xsltExtModuleElementPreComputeLookup">xsltExtModuleElementPreComputeLookup</a>	(const xmlChar * name, <br />							 const xmlChar * URI)</pre>
<pre class="programlisting">xmlXPathFunction	<a href="#xsltExtModuleFunctionLookup">xsltExtModuleFunctionLookup</a>	(const xmlChar * name, <br />							 const xmlChar * URI)</pre>
<pre class="programlisting"><a href="libxslt-extensions.html#xsltTopLevelFunction">xsltTopLevelFunction</a>	<a href="#xsltExtModuleTopLevelLookup">xsltExtModuleTopLevelLookup</a>	(const xmlChar * name, <br />							 const xmlChar * URI)</pre>
<pre class="programlisting">Function type: <a href="#xsltExtShutdownFunction">xsltExtShutdownFunction</a>
void	<a href="#xsltExtShutdownFunction">xsltExtShutdownFunction</a>		(<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />					 const xmlChar * URI, <br />					 void * data)
</pre>
<pre class="programlisting">void	<a href="#xsltFreeCtxtExts">xsltFreeCtxtExts</a>		(<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)</pre>
<pre class="programlisting">void	<a href="#xsltFreeExts">xsltFreeExts</a>			(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)</pre>
<pre class="programlisting">void *	<a href="#xsltGetExtData">xsltGetExtData</a>			(<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />					 const xmlChar * URI)</pre>
<pre class="programlisting">xmlHashTablePtr	<a href="#xsltGetExtInfo">xsltGetExtInfo</a>		(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 const xmlChar * URI)</pre>
<pre class="programlisting">int	<a href="#xsltInitCtxtExts">xsltInitCtxtExts</a>		(<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)</pre>
<pre class="programlisting">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)</pre>
<pre class="programlisting">void	<a href="#xsltInitGlobals">xsltInitGlobals</a>			(void)</pre>
<pre class="programlisting"><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)</pre>
<pre class="programlisting"><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)</pre>
<pre class="programlisting">Function type: <a href="#xsltPreComputeFunction">xsltPreComputeFunction</a>
<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)
</pre>
<pre class="programlisting">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)</pre>
<pre class="programlisting">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)</pre>
<pre class="programlisting">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)</pre>
<pre class="programlisting">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)</pre>
<pre class="programlisting">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)</pre>
<pre class="programlisting">int	<a href="#xsltRegisterExtModuleFunction">xsltRegisterExtModuleFunction</a>	(const xmlChar * name, <br />					 const xmlChar * URI, <br />					 xmlXPathFunction function)</pre>
<pre class="programlisting">int	<a href="#xsltRegisterExtModuleTopLevel">xsltRegisterExtModuleTopLevel</a>	(const xmlChar * name, <br />					 const xmlChar * URI, <br />					 <a href="libxslt-extensions.html#xsltTopLevelFunction">xsltTopLevelFunction</a> function)</pre>
<pre class="programlisting">int	<a href="#xsltRegisterExtPrefix">xsltRegisterExtPrefix</a>		(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 const xmlChar * prefix, <br />					 const xmlChar * URI)</pre>
<pre class="programlisting">void	<a href="#xsltRegisterTestModule">xsltRegisterTestModule</a>		(void)</pre>
<pre class="programlisting">void	<a href="#xsltShutdownCtxtExts">xsltShutdownCtxtExts</a>		(<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)</pre>
<pre class="programlisting">void	<a href="#xsltShutdownExts">xsltShutdownExts</a>		(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)</pre>
<pre class="programlisting">Function type: <a href="#xsltStyleExtInitFunction">xsltStyleExtInitFunction</a>
void *	<a href="#xsltStyleExtInitFunction">xsltStyleExtInitFunction</a>	(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 const xmlChar * URI)
</pre>
<pre class="programlisting">Function type: <a href="#xsltStyleExtShutdownFunction">xsltStyleExtShutdownFunction</a>
void	<a href="#xsltStyleExtShutdownFunction">xsltStyleExtShutdownFunction</a>	(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 const xmlChar * URI, <br />					 void * data)
</pre>
<pre class="programlisting">void *	<a href="#xsltStyleGetExtData">xsltStyleGetExtData</a>		(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 const xmlChar * URI)</pre>
<pre class="programlisting">void *	<a href="#xsltStyleStylesheetLevelGetExtData">xsltStyleStylesheetLevelGetExtData</a>	(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />						 const xmlChar * URI)</pre>
<pre class="programlisting">Function type: <a href="#xsltTopLevelFunction">xsltTopLevelFunction</a>
void	<a href="#xsltTopLevelFunction">xsltTopLevelFunction</a>		(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 xmlNodePtr inst)
</pre>
<pre class="programlisting">int	<a href="#xsltUnregisterExtModule">xsltUnregisterExtModule</a>		(const xmlChar * URI)</pre>
<pre class="programlisting">int	<a href="#xsltUnregisterExtModuleElement">xsltUnregisterExtModuleElement</a>	(const xmlChar * name, <br />					 const xmlChar * URI)</pre>
<pre class="programlisting">int	<a href="#xsltUnregisterExtModuleFunction">xsltUnregisterExtModuleFunction</a>	(const xmlChar * name, <br />					 const xmlChar * URI)</pre>
<pre class="programlisting">int	<a href="#xsltUnregisterExtModuleTopLevel">xsltUnregisterExtModuleTopLevel</a>	(const xmlChar * name, <br />					 const xmlChar * URI)</pre>
<pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a>	<a href="#xsltXPathGetTransformContext">xsltXPathGetTransformContext</a>	(xmlXPathParserContextPtr ctxt)</pre>
<h2>Description</h2>
<h3><a name="xsltCheckExtPrefix" id="xsltCheckExtPrefix"></a>Function: 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><h3><a name="xsltCheckExtURI" id="xsltCheckExtURI"></a>Function: 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><h3><a name="xsltDebugDumpExtensions" id="xsltDebugDumpExtensions"></a>Function: 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><h3><a name="xsltExtElementLookup" id="xsltExtElementLookup"></a>Function: 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><h3><a name="xsltExtInitFunction" id="xsltExtInitFunction"></a>Function type: xsltExtInitFunction</h3><pre class="programlisting">Function type: xsltExtInitFunction
void *	xsltExtInitFunction		(<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />					 const xmlChar * URI)
</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><br />
<h3><a name="xsltExtModuleElementLookup" id="xsltExtModuleElementLookup"></a>Function: 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><h3><a name="xsltExtModuleElementPreComputeLookup" id="xsltExtModuleElementPreComputeLookup"></a>Function: 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><h3><a name="xsltExtModuleFunctionLookup" id="xsltExtModuleFunctionLookup"></a>Function: 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><h3><a name="xsltExtModuleTopLevelLookup" id="xsltExtModuleTopLevelLookup"></a>Function: 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><h3><a name="xsltExtShutdownFunction" id="xsltExtShutdownFunction"></a>Function type: xsltExtShutdownFunction</h3><pre class="programlisting">Function type: xsltExtShutdownFunction
void	xsltExtShutdownFunction		(<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />					 const xmlChar * URI, <br />					 void * data)
</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><br />
<h3><a name="xsltFreeCtxtExts" id="xsltFreeCtxtExts"></a>Function: 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><h3><a name="xsltFreeExts" id="xsltFreeExts"></a>Function: 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><h3><a name="xsltGetExtData" id="xsltGetExtData"></a>Function: 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><h3><a name="xsltGetExtInfo" id="xsltGetExtInfo"></a>Function: 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><h3><a name="xsltInitCtxtExts" id="xsltInitCtxtExts"></a>Function: 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><h3><a name="xsltInitElemPreComp" id="xsltInitElemPreComp"></a>Function: 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><h3><a name="xsltInitGlobals" id="xsltInitGlobals"></a>Function: xsltInitGlobals</h3><pre class="programlisting">void	xsltInitGlobals			(void)<br />
</pre><p>Initialize the global variables for extensions</p>
<h3><a name="xsltNewElemPreComp" id="xsltNewElemPreComp"></a>Function: 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><h3><a name="xsltPreComputeExtModuleElement" id="xsltPreComputeExtModuleElement"></a>Function: 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><h3><a name="xsltPreComputeFunction" id="xsltPreComputeFunction"></a>Function type: xsltPreComputeFunction</h3><pre class="programlisting">Function type: xsltPreComputeFunction
<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)
</pre><p></p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>function</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><br />
<h3><a name="xsltRegisterExtElement" id="xsltRegisterExtElement"></a>Function: 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><h3><a name="xsltRegisterExtFunction" id="xsltRegisterExtFunction"></a>Function: 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><h3><a name="xsltRegisterExtModule" id="xsltRegisterExtModule"></a>Function: 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><h3><a name="xsltRegisterExtModuleElement" id="xsltRegisterExtModuleElement"></a>Function: 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><h3><a name="xsltRegisterExtModuleFull" id="xsltRegisterExtModuleFull"></a>Function: 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><h3><a name="xsltRegisterExtModuleFunction" id="xsltRegisterExtModuleFunction"></a>Function: 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><h3><a name="xsltRegisterExtModuleTopLevel" id="xsltRegisterExtModuleTopLevel"></a>Function: 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><h3><a name="xsltRegisterExtPrefix" id="xsltRegisterExtPrefix"></a>Function: 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><h3><a name="xsltRegisterTestModule" id="xsltRegisterTestModule"></a>Function: xsltRegisterTestModule</h3><pre class="programlisting">void	xsltRegisterTestModule		(void)<br />
</pre><p>Registers the test module</p>
<h3><a name="xsltShutdownCtxtExts" id="xsltShutdownCtxtExts"></a>Function: 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><h3><a name="xsltShutdownExts" id="xsltShutdownExts"></a>Function: 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><h3><a name="xsltStyleExtInitFunction" id="xsltStyleExtInitFunction"></a>Function type: xsltStyleExtInitFunction</h3><pre class="programlisting">Function type: xsltStyleExtInitFunction
void *	xsltStyleExtInitFunction	(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 const xmlChar * URI)
</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></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><br />
<h3><a name="xsltStyleExtShutdownFunction" id="xsltStyleExtShutdownFunction"></a>Function type: xsltStyleExtShutdownFunction</h3><pre class="programlisting">Function type: xsltStyleExtShutdownFunction
void	xsltStyleExtShutdownFunction	(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 const xmlChar * URI, <br />					 void * data)
</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></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><br />
<h3><a name="xsltStyleGetExtData" id="xsltStyleGetExtData"></a>Function: 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><h3><a name="xsltStyleStylesheetLevelGetExtData" id="xsltStyleStylesheetLevelGetExtData"></a>Function: 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><h3><a name="xsltTopLevelFunction" id="xsltTopLevelFunction"></a>Function type: xsltTopLevelFunction</h3><pre class="programlisting">Function type: xsltTopLevelFunction
void	xsltTopLevelFunction		(<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />					 xmlNodePtr inst)
</pre><p></p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td></td></tr></tbody></table></div><br />
<h3><a name="xsltUnregisterExtModule" id="xsltUnregisterExtModule"></a>Function: 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><h3><a name="xsltUnregisterExtModuleElement" id="xsltUnregisterExtModuleElement"></a>Function: 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><h3><a name="xsltUnregisterExtModuleFunction" id="xsltUnregisterExtModuleFunction"></a>Function: 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><h3><a name="xsltUnregisterExtModuleTopLevel" id="xsltUnregisterExtModuleTopLevel"></a>Function: 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><h3><a name="xsltXPathGetTransformContext" id="xsltXPathGetTransformContext"></a>Function: 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><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>