1<?xml version="1.0" encoding="ISO-8859-1"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<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"> 4TD {font-family: Verdana,Arial,Helvetica} 5BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em} 6H1 {font-family: Verdana,Arial,Helvetica} 7H2 {font-family: Verdana,Arial,Helvetica} 8H3 {font-family: Verdana,Arial,Helvetica} 9A:link, A:visited, A:active { text-decoration: underline } 10 </style><title>Module imports 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 imports 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-functions.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxslt-functions.html">functions</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-keys.html">keys</a></th><td><a accesskey="n" href="libxslt-keys.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>macros and fuctions needed to implement and access the import tree </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XSLT_GET_IMPORT_INT">XSLT_GET_IMPORT_INT</a></pre><pre class="programlisting">#define <a href="#XSLT_GET_IMPORT_PTR">XSLT_GET_IMPORT_PTR</a></pre><pre class="programlisting">int <a href="#xsltFindElemSpaceHandling">xsltFindElemSpaceHandling</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br /> xmlNodePtr node)</pre> 11<pre class="programlisting"><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)</pre> 12<pre class="programlisting">int <a href="#xsltNeedElemSpaceHandling">xsltNeedElemSpaceHandling</a> (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)</pre> 13<pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a href="#xsltNextImport">xsltNextImport</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> cur)</pre> 14<pre class="programlisting">int <a href="#xsltParseStylesheetImport">xsltParseStylesheetImport</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br /> xmlNodePtr cur)</pre> 15<pre class="programlisting">int <a href="#xsltParseStylesheetInclude">xsltParseStylesheetInclude</a> (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br /> xmlNodePtr cur)</pre> 16<h2>Description</h2> 17<h3><a name="XSLT_GET_IMPORT_INT" id="XSLT_GET_IMPORT_INT"></a>Macro: XSLT_GET_IMPORT_INT</h3><pre>#define XSLT_GET_IMPORT_INT</pre><p>A macro to import intergers from the stylesheet cascading order.</p> 18<h3><a name="XSLT_GET_IMPORT_PTR" id="XSLT_GET_IMPORT_PTR"></a>Macro: XSLT_GET_IMPORT_PTR</h3><pre>#define XSLT_GET_IMPORT_PTR</pre><p>A macro to import pointers from the stylesheet cascading order.</p> 19<h3><a name="xsltFindElemSpaceHandling" id="xsltFindElemSpaceHandling"></a>Function: xsltFindElemSpaceHandling</h3><pre class="programlisting">int xsltFindElemSpaceHandling (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br /> xmlNodePtr node)<br /> 20</pre><p>Find strip-space or preserve-space informations for an element respect the import precedence or the wildcards</p> 21<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><h3><a name="xsltFindTemplate" id="xsltFindTemplate"></a>Function: 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 /> 22</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> 23<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><h3><a name="xsltNeedElemSpaceHandling" id="xsltNeedElemSpaceHandling"></a>Function: xsltNeedElemSpaceHandling</h3><pre class="programlisting">int xsltNeedElemSpaceHandling (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br /> 24</pre><p>Checks whether that stylesheet requires white-space stripping</p> 25<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><h3><a name="xsltNextImport" id="xsltNextImport"></a>Function: xsltNextImport</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltNextImport (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> cur)<br /> 26</pre><p>Find the next stylesheet in import precedence.</p> 27<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><h3><a name="xsltParseStylesheetImport" id="xsltParseStylesheetImport"></a>Function: xsltParseStylesheetImport</h3><pre class="programlisting">int xsltParseStylesheetImport (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br /> xmlNodePtr cur)<br /> 28</pre><p>parse an XSLT stylesheet import element</p> 29<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><h3><a name="xsltParseStylesheetInclude" id="xsltParseStylesheetInclude"></a>Function: xsltParseStylesheetInclude</h3><pre class="programlisting">int xsltParseStylesheetInclude (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br /> xmlNodePtr cur)<br /> 30</pre><p>parse an XSLT stylesheet include element</p> 31<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><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> 32