mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-08-07 10:42:55 +03:00
added documentation for the wrappers and python modules. Daniel
* doc/site.xml doc/xslt.html doc/python.html doc/*.html: added documentation for the wrappers and python modules. Daniel
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
Thu Feb 21 12:59:59 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
|
* doc/site.xml doc/xslt.html doc/python.html doc/*.html: added
|
||||||
|
documentation for the wrappers and python modules.
|
||||||
|
|
||||||
Wed Feb 13 14:22:22 CET 2002 Daniel Veillard <daniel@veillard.com>
|
Wed Feb 13 14:22:22 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
* tests/docs/Makefile.am tests/docs/bug-74.xml
|
* tests/docs/Makefile.am tests/docs/bug-74.xml
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -76,7 +76,8 @@ rebuild: libxslt-sections.txt templates sgml html
|
|||||||
|
|
||||||
install-data-local:
|
install-data-local:
|
||||||
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
|
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
|
||||||
-@INSTALL@ -m 0644 $(srcdir)/xml.html $(DESTDIR)$(TARGET_DIR)
|
-@INSTALL@ -m 0644 $(srcdir)/*.html $(DESTDIR)$(TARGET_DIR)
|
||||||
|
-@INSTALL@ -m 0644 $(srcdir)/*.gif $(DESTDIR)$(TARGET_DIR)
|
||||||
-@INSTALL@ -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(TARGET_DIR)
|
-@INSTALL@ -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(TARGET_DIR)
|
||||||
-@INSTALL@ -m 0644 $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR)
|
-@INSTALL@ -m 0644 $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR)
|
||||||
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)/tutorial
|
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)/tutorial
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -58,16 +58,17 @@
|
|||||||
<exports symbol='xsltStyleGetExtData'/>
|
<exports symbol='xsltStyleGetExtData'/>
|
||||||
<exports symbol='xsltShutdownCtxtExts'/>
|
<exports symbol='xsltShutdownCtxtExts'/>
|
||||||
<exports symbol='xsltShutdownExts'/>
|
<exports symbol='xsltShutdownExts'/>
|
||||||
|
<exports symbol='xsltXPathGetTransformContext'/>
|
||||||
<exports symbol='xsltRegisterExtModuleFunction'/>
|
<exports symbol='xsltRegisterExtModuleFunction'/>
|
||||||
<exports symbol='xsltExtFunctionLookup'/>
|
<exports symbol='xsltExtFunctionLookup'/>
|
||||||
<exports symbol='xsltExtModuleFunctionLookup'/>
|
<exports symbol='xsltExtModuleFunctionLookup'/>
|
||||||
<exports symbol='xsltUnregisterExtModuleFunction'/>
|
<exports symbol='xsltUnregisterExtModuleFunction'/>
|
||||||
<exports symbol='xsltElemPreCompPtr'/>
|
|
||||||
<exports symbol='xsltNewElemPreComp'/>
|
<exports symbol='xsltNewElemPreComp'/>
|
||||||
<exports symbol='xsltInitElemPreComp'/>
|
<exports symbol='xsltInitElemPreComp'/>
|
||||||
<exports symbol='xsltRegisterExtModuleElement'/>
|
<exports symbol='xsltRegisterExtModuleElement'/>
|
||||||
<exports symbol='xsltExtElementLookup'/>
|
<exports symbol='xsltExtElementLookup'/>
|
||||||
<exports symbol='xsltExtModuleElementLookup'/>
|
<exports symbol='xsltExtModuleElementLookup'/>
|
||||||
|
<exports symbol='xsltExtModuleElementPreComputeLookup'/>
|
||||||
<exports symbol='xsltUnregisterExtModuleElement'/>
|
<exports symbol='xsltUnregisterExtModuleElement'/>
|
||||||
<exports symbol='xsltTopLevelFunction'/>
|
<exports symbol='xsltTopLevelFunction'/>
|
||||||
<exports symbol='xsltRegisterExtModuleTopLevel'/>
|
<exports symbol='xsltRegisterExtModuleTopLevel'/>
|
||||||
@@ -99,6 +100,7 @@
|
|||||||
<exports symbol='xsltRuntimeExtra'/>
|
<exports symbol='xsltRuntimeExtra'/>
|
||||||
<exports symbol='xsltRuntimeExtraPtr'/>
|
<exports symbol='xsltRuntimeExtraPtr'/>
|
||||||
<exports symbol='XSLT_RUNTIME_EXTRA'/>
|
<exports symbol='XSLT_RUNTIME_EXTRA'/>
|
||||||
|
<exports symbol='XSLT_RUNTIME_EXTRA_FREE'/>
|
||||||
<exports symbol='xsltTemplate'/>
|
<exports symbol='xsltTemplate'/>
|
||||||
<exports symbol='xsltTemplatePtr'/>
|
<exports symbol='xsltTemplatePtr'/>
|
||||||
<exports symbol='xsltDecimalFormat'/>
|
<exports symbol='xsltDecimalFormat'/>
|
||||||
@@ -412,6 +414,8 @@
|
|||||||
</macro>
|
</macro>
|
||||||
<macro name='XSLT_RUNTIME_EXTRA' file='xsltInternals'>
|
<macro name='XSLT_RUNTIME_EXTRA' file='xsltInternals'>
|
||||||
</macro>
|
</macro>
|
||||||
|
<macro name='XSLT_RUNTIME_EXTRA_FREE' file='xsltInternals'>
|
||||||
|
</macro>
|
||||||
<macro name='XSLT_SAXON_NAMESPACE' file='extra'>
|
<macro name='XSLT_SAXON_NAMESPACE' file='extra'>
|
||||||
<info>This is Michael Kay's Saxon processor namespace for extensions</info>
|
<info>This is Michael Kay's Saxon processor namespace for extensions</info>
|
||||||
</macro>
|
</macro>
|
||||||
@@ -811,6 +815,11 @@
|
|||||||
<arg name='name' type='const xmlChar *' info='the element name '/>
|
<arg name='name' type='const xmlChar *' info='the element name '/>
|
||||||
<arg name='URI' type='const xmlChar *' info='the element namespace URI '/>
|
<arg name='URI' type='const xmlChar *' info='the element namespace URI '/>
|
||||||
</function>
|
</function>
|
||||||
|
<function name='xsltExtModuleElementPreComputeLookup' file='extensions'>
|
||||||
|
<return type='xsltPreComputeFunction'/>
|
||||||
|
<arg name='name' type='const xmlChar *'/>
|
||||||
|
<arg name='URI' type='const xmlChar *'/>
|
||||||
|
</function>
|
||||||
<function name='xsltExtModuleFunctionLookup' file='extensions'>
|
<function name='xsltExtModuleFunctionLookup' file='extensions'>
|
||||||
<info>Looks up an extension module function</info>
|
<info>Looks up an extension module function</info>
|
||||||
<return type='xmlXPathFunction' info='the function if found, NULL otherwise. '/>
|
<return type='xmlXPathFunction' info='the function if found, NULL otherwise. '/>
|
||||||
@@ -1080,7 +1089,7 @@
|
|||||||
<function name='xsltLoadStylesheetPI' file='xsltInternals'>
|
<function name='xsltLoadStylesheetPI' file='xsltInternals'>
|
||||||
<info>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.</info>
|
<info>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.</info>
|
||||||
<return type='xsltStylesheetPtr' info='a new XSLT stylesheet structure or NULL if not found. '/>
|
<return type='xsltStylesheetPtr' info='a new XSLT stylesheet structure or NULL if not found. '/>
|
||||||
<arg name='doc' type='xmlDocPtr'/>
|
<arg name='doc' type='xmlDocPtr' info='a document to process '/>
|
||||||
</function>
|
</function>
|
||||||
<function name='xsltMatchPattern' file='pattern'>
|
<function name='xsltMatchPattern' file='pattern'>
|
||||||
<info>Determine if a node matches a pattern.</info>
|
<info>Determine if a node matches a pattern.</info>
|
||||||
@@ -1580,6 +1589,10 @@
|
|||||||
<arg name='name' type='const xmlChar *' info='the function name '/>
|
<arg name='name' type='const xmlChar *' info='the function name '/>
|
||||||
<arg name='ns_uri' type='const xmlChar *' info='the function namespace URI '/>
|
<arg name='ns_uri' type='const xmlChar *' info='the function namespace URI '/>
|
||||||
</function>
|
</function>
|
||||||
|
<function name='xsltXPathGetTransformContext' file='extensions'>
|
||||||
|
<return type='xsltTransformContextPtr'/>
|
||||||
|
<arg name='ctxt' type='xmlXPathParserContextPtr'/>
|
||||||
|
</function>
|
||||||
<function name='xsltXPathVariableLookup' file='variables'>
|
<function name='xsltXPathVariableLookup' file='variables'>
|
||||||
<info>This is the entry point when a varibale is needed by the XPath interpretor.</info>
|
<info>This is the entry point when a varibale is needed by the XPath interpretor.</info>
|
||||||
<return type='xmlXPathObjectPtr' info='the value or NULL if not found '/>
|
<return type='xmlXPathObjectPtr' info='the value or NULL if not found '/>
|
||||||
|
@@ -29,15 +29,15 @@ void
|
|||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<MACRO>
|
<MACRO>
|
||||||
<NAME>LIBXSLT_DOTTED_VERSION</NAME>
|
<NAME>LIBXSLT_DOTTED_VERSION</NAME>
|
||||||
#define LIBXSLT_DOTTED_VERSION "1.0.11"
|
#define LIBXSLT_DOTTED_VERSION "1.0.12"
|
||||||
</MACRO>
|
</MACRO>
|
||||||
<MACRO>
|
<MACRO>
|
||||||
<NAME>LIBXSLT_VERSION</NAME>
|
<NAME>LIBXSLT_VERSION</NAME>
|
||||||
#define LIBXSLT_VERSION 10011
|
#define LIBXSLT_VERSION 10012
|
||||||
</MACRO>
|
</MACRO>
|
||||||
<MACRO>
|
<MACRO>
|
||||||
<NAME>LIBXSLT_VERSION_STRING</NAME>
|
<NAME>LIBXSLT_VERSION_STRING</NAME>
|
||||||
#define LIBXSLT_VERSION_STRING "10011"
|
#define LIBXSLT_VERSION_STRING "10012"
|
||||||
</MACRO>
|
</MACRO>
|
||||||
<MACRO>
|
<MACRO>
|
||||||
<NAME>WITH_XSLT_DEBUG</NAME>
|
<NAME>WITH_XSLT_DEBUG</NAME>
|
||||||
@@ -590,15 +590,15 @@ void *ctxt,const xmlChar *name,const xmlChar *ns_uri
|
|||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<MACRO>
|
<MACRO>
|
||||||
<NAME>LIBXSLT_DOTTED_VERSION</NAME>
|
<NAME>LIBXSLT_DOTTED_VERSION</NAME>
|
||||||
#define LIBXSLT_DOTTED_VERSION "1.0.11"
|
#define LIBXSLT_DOTTED_VERSION "1.0.12"
|
||||||
</MACRO>
|
</MACRO>
|
||||||
<MACRO>
|
<MACRO>
|
||||||
<NAME>LIBXSLT_VERSION</NAME>
|
<NAME>LIBXSLT_VERSION</NAME>
|
||||||
#define LIBXSLT_VERSION 10011
|
#define LIBXSLT_VERSION 10012
|
||||||
</MACRO>
|
</MACRO>
|
||||||
<MACRO>
|
<MACRO>
|
||||||
<NAME>LIBXSLT_VERSION_STRING</NAME>
|
<NAME>LIBXSLT_VERSION_STRING</NAME>
|
||||||
#define LIBXSLT_VERSION_STRING "10011"
|
#define LIBXSLT_VERSION_STRING "10012"
|
||||||
</MACRO>
|
</MACRO>
|
||||||
<MACRO>
|
<MACRO>
|
||||||
<NAME>WITH_XSLT_DEBUG</NAME>
|
<NAME>WITH_XSLT_DEBUG</NAME>
|
||||||
@@ -743,6 +743,11 @@ xsltTransformContextPtr ctxt
|
|||||||
xsltStylesheetPtr style
|
xsltStylesheetPtr style
|
||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<FUNCTION>
|
<FUNCTION>
|
||||||
|
<NAME>xsltXPathGetTransformContext</NAME>
|
||||||
|
<RETURNS>xsltTransformContextPtr </RETURNS>
|
||||||
|
xmlXPathParserContextPtr ctxt
|
||||||
|
</FUNCTION>
|
||||||
|
<FUNCTION>
|
||||||
<NAME>xsltRegisterExtModuleFunction</NAME>
|
<NAME>xsltRegisterExtModuleFunction</NAME>
|
||||||
<RETURNS>int </RETURNS>
|
<RETURNS>int </RETURNS>
|
||||||
const xmlChar *name,const xmlChar *URI,xmlXPathFunction function
|
const xmlChar *name,const xmlChar *URI,xmlXPathFunction function
|
||||||
@@ -763,13 +768,8 @@ const xmlChar *name,const xmlChar *URI
|
|||||||
const xmlChar *name,const xmlChar *URI
|
const xmlChar *name,const xmlChar *URI
|
||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<FUNCTION>
|
<FUNCTION>
|
||||||
<NAME>xsltElemPreCompPtr</NAME>
|
|
||||||
<RETURNS>typedef </RETURNS>
|
|
||||||
*xsltPreComputeFunction) (xsltStylesheetPtr style,xmlNodePtr inst,xsltTransformFunction function
|
|
||||||
</FUNCTION>
|
|
||||||
<FUNCTION>
|
|
||||||
<NAME>xsltNewElemPreComp</NAME>
|
<NAME>xsltNewElemPreComp</NAME>
|
||||||
<RETURNS>xsltElemPreCompPtr</RETURNS>
|
<RETURNS>xsltElemPreCompPtr </RETURNS>
|
||||||
xsltStylesheetPtr style,xmlNodePtr inst,xsltTransformFunction function
|
xsltStylesheetPtr style,xmlNodePtr inst,xsltTransformFunction function
|
||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<FUNCTION>
|
<FUNCTION>
|
||||||
@@ -784,12 +784,17 @@ const xmlChar *name,const xmlChar *URI,xsltPreComputeFunction precomp,xsltTransf
|
|||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<FUNCTION>
|
<FUNCTION>
|
||||||
<NAME>xsltExtElementLookup</NAME>
|
<NAME>xsltExtElementLookup</NAME>
|
||||||
<RETURNS>xsltTransformFunction</RETURNS>
|
<RETURNS>xsltTransformFunction </RETURNS>
|
||||||
xsltTransformContextPtr ctxt,const xmlChar *name,const xmlChar *URI
|
xsltTransformContextPtr ctxt,const xmlChar *name,const xmlChar *URI
|
||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<FUNCTION>
|
<FUNCTION>
|
||||||
<NAME>xsltExtModuleElementLookup</NAME>
|
<NAME>xsltExtModuleElementLookup</NAME>
|
||||||
<RETURNS>xsltTransformFunction</RETURNS>
|
<RETURNS>xsltTransformFunction </RETURNS>
|
||||||
|
const xmlChar *name,const xmlChar *URI
|
||||||
|
</FUNCTION>
|
||||||
|
<FUNCTION>
|
||||||
|
<NAME>xsltExtModuleElementPreComputeLookup</NAME>
|
||||||
|
<RETURNS>xsltPreComputeFunction </RETURNS>
|
||||||
const xmlChar *name,const xmlChar *URI
|
const xmlChar *name,const xmlChar *URI
|
||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<FUNCTION>
|
<FUNCTION>
|
||||||
@@ -855,7 +860,7 @@ xsltStylesheetPtr style
|
|||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<FUNCTION>
|
<FUNCTION>
|
||||||
<NAME>xsltPreComputeExtModuleElement</NAME>
|
<NAME>xsltPreComputeExtModuleElement</NAME>
|
||||||
<RETURNS>xsltElemPreCompPtr</RETURNS>
|
<RETURNS>xsltElemPreCompPtr </RETURNS>
|
||||||
xsltStylesheetPtr style,xmlNodePtr inst
|
xsltStylesheetPtr style,xmlNodePtr inst
|
||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<FUNCTION>
|
<FUNCTION>
|
||||||
@@ -1041,7 +1046,7 @@ extern const xmlChar *xsltExtMarker;
|
|||||||
</VARIABLE>
|
</VARIABLE>
|
||||||
<FUNCTION>
|
<FUNCTION>
|
||||||
<NAME>xsltDocumentComp</NAME>
|
<NAME>xsltDocumentComp</NAME>
|
||||||
<RETURNS>xsltElemPreCompPtr</RETURNS>
|
<RETURNS>xsltElemPreCompPtr </RETURNS>
|
||||||
xsltStylesheetPtr style,xmlNodePtr inst,xsltTransformFunction function
|
xsltStylesheetPtr style,xmlNodePtr inst,xsltTransformFunction function
|
||||||
</FUNCTION>
|
</FUNCTION>
|
||||||
<FUNCTION>
|
<FUNCTION>
|
||||||
@@ -1092,6 +1097,10 @@ struct xsltRuntimeExtra {
|
|||||||
<NAME>XSLT_RUNTIME_EXTRA</NAME>
|
<NAME>XSLT_RUNTIME_EXTRA</NAME>
|
||||||
#define XSLT_RUNTIME_EXTRA(ctxt, nr) (ctxt)->extras[(nr)].info
|
#define XSLT_RUNTIME_EXTRA(ctxt, nr) (ctxt)->extras[(nr)].info
|
||||||
</MACRO>
|
</MACRO>
|
||||||
|
<MACRO>
|
||||||
|
<NAME>XSLT_RUNTIME_EXTRA_FREE</NAME>
|
||||||
|
#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate
|
||||||
|
</MACRO>
|
||||||
<STRUCT>
|
<STRUCT>
|
||||||
<NAME>xsltTemplate</NAME>
|
<NAME>xsltTemplate</NAME>
|
||||||
</STRUCT>
|
</STRUCT>
|
||||||
|
@@ -489,9 +489,6 @@
|
|||||||
<type name='long'>
|
<type name='long'>
|
||||||
<ref name='xsltTimestamp'/>
|
<ref name='xsltTimestamp'/>
|
||||||
</type>
|
</type>
|
||||||
<type name='typedef'>
|
|
||||||
<ref name='xsltElemPreCompPtr'/>
|
|
||||||
</type>
|
|
||||||
<type name='void *'>
|
<type name='void *'>
|
||||||
<ref name='xsltStyleExtInitFunction'/>
|
<ref name='xsltStyleExtInitFunction'/>
|
||||||
<ref name='xsltExtInitFunction'/>
|
<ref name='xsltExtInitFunction'/>
|
||||||
@@ -557,6 +554,9 @@
|
|||||||
<ref name='xsltPreComputeExtModuleElement'/>
|
<ref name='xsltPreComputeExtModuleElement'/>
|
||||||
<ref name='xsltDocumentComp'/>
|
<ref name='xsltDocumentComp'/>
|
||||||
</type>
|
</type>
|
||||||
|
<type name='xsltPreComputeFunction'>
|
||||||
|
<ref name='xsltExtModuleElementPreComputeLookup'/>
|
||||||
|
</type>
|
||||||
<type name='xsltStackElemPtr'>
|
<type name='xsltStackElemPtr'>
|
||||||
<ref name='xsltParseStylesheetCallerParam'/>
|
<ref name='xsltParseStylesheetCallerParam'/>
|
||||||
</type>
|
</type>
|
||||||
@@ -577,6 +577,7 @@
|
|||||||
</type>
|
</type>
|
||||||
<type name='xsltTransformContextPtr'>
|
<type name='xsltTransformContextPtr'>
|
||||||
<ref name='xsltNewTransformContext'/>
|
<ref name='xsltNewTransformContext'/>
|
||||||
|
<ref name='xsltXPathGetTransformContext'/>
|
||||||
</type>
|
</type>
|
||||||
<type name='xsltTransformFunction'>
|
<type name='xsltTransformFunction'>
|
||||||
<ref name='xsltExtElementLookup'/>
|
<ref name='xsltExtElementLookup'/>
|
||||||
@@ -585,9 +586,6 @@
|
|||||||
</type>
|
</type>
|
||||||
</constructors>
|
</constructors>
|
||||||
<functions>
|
<functions>
|
||||||
<type name='*xsltPreComputeFunction) (xsltStylesheetPtr'>
|
|
||||||
<ref name='xsltElemPreCompPtr'/>
|
|
||||||
</type>
|
|
||||||
<type name='FILE *'>
|
<type name='FILE *'>
|
||||||
<ref name='xsltApplyStylesheetUser'/>
|
<ref name='xsltApplyStylesheetUser'/>
|
||||||
<ref name='xsltProfileStylesheet'/>
|
<ref name='xsltProfileStylesheet'/>
|
||||||
@@ -655,6 +653,8 @@
|
|||||||
<ref name='xsltExtElementLookup'/>
|
<ref name='xsltExtElementLookup'/>
|
||||||
<ref name='xsltExtModuleElementLookup'/>
|
<ref name='xsltExtModuleElementLookup'/>
|
||||||
<ref name='xsltExtModuleElementLookup'/>
|
<ref name='xsltExtModuleElementLookup'/>
|
||||||
|
<ref name='xsltExtModuleElementPreComputeLookup'/>
|
||||||
|
<ref name='xsltExtModuleElementPreComputeLookup'/>
|
||||||
<ref name='xsltUnregisterExtModuleElement'/>
|
<ref name='xsltUnregisterExtModuleElement'/>
|
||||||
<ref name='xsltUnregisterExtModuleElement'/>
|
<ref name='xsltUnregisterExtModuleElement'/>
|
||||||
<ref name='xsltRegisterExtModuleTopLevel'/>
|
<ref name='xsltRegisterExtModuleTopLevel'/>
|
||||||
@@ -802,7 +802,6 @@
|
|||||||
<ref name='xsltParseStylesheetVariable'/>
|
<ref name='xsltParseStylesheetVariable'/>
|
||||||
<ref name='xsltParseStylesheetParam'/>
|
<ref name='xsltParseStylesheetParam'/>
|
||||||
<ref name='xsltParseStylesheetCallerParam'/>
|
<ref name='xsltParseStylesheetCallerParam'/>
|
||||||
<ref name='xsltElemPreCompPtr'/>
|
|
||||||
<ref name='xsltNewElemPreComp'/>
|
<ref name='xsltNewElemPreComp'/>
|
||||||
<ref name='xsltInitElemPreComp'/>
|
<ref name='xsltInitElemPreComp'/>
|
||||||
<ref name='xsltTopLevelFunction'/>
|
<ref name='xsltTopLevelFunction'/>
|
||||||
@@ -872,6 +871,7 @@
|
|||||||
<ref name='xsltSystemPropertyFunction'/>
|
<ref name='xsltSystemPropertyFunction'/>
|
||||||
<ref name='xsltElementAvailableFunction'/>
|
<ref name='xsltElementAvailableFunction'/>
|
||||||
<ref name='xsltFunctionAvailableFunction'/>
|
<ref name='xsltFunctionAvailableFunction'/>
|
||||||
|
<ref name='xsltXPathGetTransformContext'/>
|
||||||
<ref name='xsltFunctionNodeSet'/>
|
<ref name='xsltFunctionNodeSet'/>
|
||||||
</type>
|
</type>
|
||||||
<type name='xsltCompMatchPtr'>
|
<type name='xsltCompMatchPtr'>
|
||||||
@@ -1085,7 +1085,6 @@
|
|||||||
<ref name='xsltAllocateExtraCtxt'/>
|
<ref name='xsltAllocateExtraCtxt'/>
|
||||||
</type>
|
</type>
|
||||||
<type name='xsltTransformFunction'>
|
<type name='xsltTransformFunction'>
|
||||||
<ref name='xsltElemPreCompPtr'/>
|
|
||||||
<ref name='xsltNewElemPreComp'/>
|
<ref name='xsltNewElemPreComp'/>
|
||||||
<ref name='xsltInitElemPreComp'/>
|
<ref name='xsltInitElemPreComp'/>
|
||||||
<ref name='xsltRegisterExtModuleElement'/>
|
<ref name='xsltRegisterExtModuleElement'/>
|
||||||
@@ -1120,16 +1119,17 @@
|
|||||||
<ref name='xsltStyleGetExtData'/>
|
<ref name='xsltStyleGetExtData'/>
|
||||||
<ref name='xsltShutdownCtxtExts'/>
|
<ref name='xsltShutdownCtxtExts'/>
|
||||||
<ref name='xsltShutdownExts'/>
|
<ref name='xsltShutdownExts'/>
|
||||||
|
<ref name='xsltXPathGetTransformContext'/>
|
||||||
<ref name='xsltRegisterExtModuleFunction'/>
|
<ref name='xsltRegisterExtModuleFunction'/>
|
||||||
<ref name='xsltExtFunctionLookup'/>
|
<ref name='xsltExtFunctionLookup'/>
|
||||||
<ref name='xsltExtModuleFunctionLookup'/>
|
<ref name='xsltExtModuleFunctionLookup'/>
|
||||||
<ref name='xsltUnregisterExtModuleFunction'/>
|
<ref name='xsltUnregisterExtModuleFunction'/>
|
||||||
<ref name='xsltElemPreCompPtr'/>
|
|
||||||
<ref name='xsltNewElemPreComp'/>
|
<ref name='xsltNewElemPreComp'/>
|
||||||
<ref name='xsltInitElemPreComp'/>
|
<ref name='xsltInitElemPreComp'/>
|
||||||
<ref name='xsltRegisterExtModuleElement'/>
|
<ref name='xsltRegisterExtModuleElement'/>
|
||||||
<ref name='xsltExtElementLookup'/>
|
<ref name='xsltExtElementLookup'/>
|
||||||
<ref name='xsltExtModuleElementLookup'/>
|
<ref name='xsltExtModuleElementLookup'/>
|
||||||
|
<ref name='xsltExtModuleElementPreComputeLookup'/>
|
||||||
<ref name='xsltUnregisterExtModuleElement'/>
|
<ref name='xsltUnregisterExtModuleElement'/>
|
||||||
<ref name='xsltTopLevelFunction'/>
|
<ref name='xsltTopLevelFunction'/>
|
||||||
<ref name='xsltRegisterExtModuleTopLevel'/>
|
<ref name='xsltRegisterExtModuleTopLevel'/>
|
||||||
@@ -1292,6 +1292,7 @@
|
|||||||
<ref name='xsltRuntimeExtra'/>
|
<ref name='xsltRuntimeExtra'/>
|
||||||
<ref name='xsltRuntimeExtraPtr'/>
|
<ref name='xsltRuntimeExtraPtr'/>
|
||||||
<ref name='XSLT_RUNTIME_EXTRA'/>
|
<ref name='XSLT_RUNTIME_EXTRA'/>
|
||||||
|
<ref name='XSLT_RUNTIME_EXTRA_FREE'/>
|
||||||
<ref name='xsltTemplate'/>
|
<ref name='xsltTemplate'/>
|
||||||
<ref name='xsltTemplatePtr'/>
|
<ref name='xsltTemplatePtr'/>
|
||||||
<ref name='xsltDecimalFormat'/>
|
<ref name='xsltDecimalFormat'/>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
267
doc/python.html
Normal file
267
doc/python.html
Normal file
@@ -0,0 +1,267 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
|
||||||
|
<style type="text/css"><!--
|
||||||
|
TD {font-size: 14pt; font-family: Verdana,Arial,Helvetica}
|
||||||
|
BODY {font-size: 14pt; font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||||
|
H1 {font-size: 20pt; font-family: Verdana,Arial,Helvetica}
|
||||||
|
H2 {font-size: 18pt; font-family: Verdana,Arial,Helvetica}
|
||||||
|
H3 {font-size: 16pt; font-family: Verdana,Arial,Helvetica}
|
||||||
|
A:link, A:visited, A:active { text-decoration: underline }
|
||||||
|
--></style>
|
||||||
|
<title>Python and bindings</title>
|
||||||
|
</head>
|
||||||
|
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||||
|
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||||
|
<td width="100">
|
||||||
|
<a href="http://www.gnome.org/"><img src="smallfootonly.gif" alt="Gnome Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a>
|
||||||
|
</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>Python and bindings</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>Main Menu</b></center></td></tr>
|
||||||
|
<tr><td bgcolor="#fffacd"><ul>
|
||||||
|
<li><a href="index.html">Home</a></li>
|
||||||
|
<li><a href="intro.html">Introduction</a></li>
|
||||||
|
<li><a href="docs.html">Documentation</a></li>
|
||||||
|
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||||
|
<li><a href="help.html">How to help</a></li>
|
||||||
|
<li><a href="downloads.html">Downloads</a></li>
|
||||||
|
<li><a href="FAQ.html">FAQ</a></li>
|
||||||
|
<li><a href="news.html">News</a></li>
|
||||||
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
<li>
|
||||||
|
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</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>
|
||||||
|
<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="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||||
|
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||||
|
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||||
|
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||||
|
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||||
|
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||||
|
<li><a href="http://www.fh-frankfurt.de/~igor/projects/libxml/">Windows binaries</a></li>
|
||||||
|
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||||
|
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||||
|
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</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">
|
||||||
|
<p>There is a number of language bindings and wrappers available for libxml2,
|
||||||
|
the list below is not exhaustive. Please contact the <a href="http://mail.gnome.org/mailman/listinfo/xml-bindings">xml-bindings@gnome.org</a>
|
||||||
|
(<a href="http://mail.gnome.org/archives/xml-bindings/">archives</a>) in
|
||||||
|
order to get updates to this list or to discuss the specific topic of libxml2
|
||||||
|
or libxslt wrappers or bindings:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
|
||||||
|
Sergeant</a>
|
||||||
|
developped <a href="http://axkit.org/download/">XML::LibXML and
|
||||||
|
XML::LibXSLT</a>, a perl wrapper for libxml2/libxslt as part of the <a href="http://axkit.com/">AxKit XML application server</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a>
|
||||||
|
provides and earlier version of the libxml/libxslt <a href="http://www.rexx.com/~dkuhlman">wrappers for Python</a>
|
||||||
|
</li>
|
||||||
|
<li>Petr Kozelka provides <a href="http://sourceforge.net/projects/libxml2-pas">Pascal units to glue
|
||||||
|
libxml2</a> with Kylix, Delphi and other Pascal compilers</li>
|
||||||
|
<li>Wai-Sun "Squidster" Chia provides <a href="http://www.rubycolor.org/arc/redist/">bindings for Ruby</a> and
|
||||||
|
libxml2 bindings are also available in Ruby through the <a href="http://libgdome-ruby.berlios.de/">libgdome-ruby</a> module
|
||||||
|
maintained by Tobias Peters.</li>
|
||||||
|
</ul>
|
||||||
|
<p>The libxslt Python module depends on the <a href="http://xmlsoft.org/python.html">libxml2 Python</a> module.
|
||||||
|
</p>
|
||||||
|
<p>The distribution includes a set of Python bindings, which are garanteed to
|
||||||
|
be maintained as part of the library in the future, though the Python
|
||||||
|
interface have not yet reached the maturity of the C API. The distribution
|
||||||
|
includes a set of examples and regression tests for the python bindings in
|
||||||
|
the <code>python/tests</code> directory. Here are some excepts from those
|
||||||
|
tests:</p>
|
||||||
|
<h3>basic.py:</h3>
|
||||||
|
<p>This is a basic test of XSLT interfaces: loading a stylesheet and
|
||||||
|
a document, transforming the document and saving the result.</p>
|
||||||
|
<pre>import libxml2
|
||||||
|
import libxslt
|
||||||
|
|
||||||
|
styledoc = libxml2.parseFile("test.xsl")
|
||||||
|
style = libxslt.parseStylesheetDoc(styledoc)
|
||||||
|
doc = libxml2.parseFile("test.xml")
|
||||||
|
result = style.applyStylesheet(doc, None)
|
||||||
|
style.saveResultToFilename("foo", result, 0)
|
||||||
|
style.freeStylesheet()
|
||||||
|
doc.freeDoc()
|
||||||
|
result.freeDoc()</pre>
|
||||||
|
<p>The Python module is called libxslt, you will also need the libxml2 module
|
||||||
|
for the operations on XML trees. Let's have a look at the objects manipulated
|
||||||
|
in that example and how is the processing done:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<code>styledoc</code>: is a libxml2 document tree. It is obtained by
|
||||||
|
parsing the XML file "test.xsl" containing the stylesheet.</li>
|
||||||
|
<li>
|
||||||
|
<code>style</code>: this is a precompiled stylesheet ready to be used
|
||||||
|
by the following transformations (note the plural form, multiple
|
||||||
|
transformations can resuse the same stylesheet).</li>
|
||||||
|
<li>
|
||||||
|
<code>doc</code>: this is the document to apply the transformation to.
|
||||||
|
In this case it is simply generated by parsing it from a file but any
|
||||||
|
other processing is possible as long as one get a libxml2 Doc. Note
|
||||||
|
that HTML tree are suitable for XSLT processing in libxslt. This is
|
||||||
|
actually how this page is generated !</li>
|
||||||
|
<li>
|
||||||
|
<code>result</code>: this is a document generated by applying the
|
||||||
|
stylesheet to the document. Note that some of the stylesheet informations
|
||||||
|
may be related to the serialization of that document and as in this
|
||||||
|
example a specific saveResultToFilename() method of the stylesheet
|
||||||
|
should be used to save it to a file (in that case to "foo").</li>
|
||||||
|
</ul>
|
||||||
|
<p>Also note the need to explicitely deallocate documents with freeDoc()
|
||||||
|
except for the stylesheet document which is freed when its compiled form
|
||||||
|
is garbage collected.</p>
|
||||||
|
<h3>extfunc.py:</h3>
|
||||||
|
<p>This one is a far more complex test. It shows how to modify the behaviour
|
||||||
|
of an XSLT transformation by passing parameters and how to extend the XSLT
|
||||||
|
engine with functions defined in python:</p>
|
||||||
|
<pre>import libxml2
|
||||||
|
import libxslt
|
||||||
|
import string
|
||||||
|
|
||||||
|
nodeName = None
|
||||||
|
def f(ctx, str):
|
||||||
|
global nodeName
|
||||||
|
|
||||||
|
#
|
||||||
|
# Small check to verify the context is correcly accessed
|
||||||
|
#
|
||||||
|
try:
|
||||||
|
pctxt = libxslt.xpathParserContext(_obj=ctx)
|
||||||
|
ctxt = pctxt.context()
|
||||||
|
tctxt = ctxt.transformContext()
|
||||||
|
nodeName = tctxt.insertNode().name
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return string.upper(str)
|
||||||
|
|
||||||
|
libxslt.registerExtModuleFunction("foo", "http://example.com/foo", f)</pre>
|
||||||
|
<p> This code defines and register an extension function. Note that the
|
||||||
|
function can be bound to any name (foo) and how the binding is also
|
||||||
|
associated to a namespace name "http://example.com/foo". From an
|
||||||
|
XSLT point of view the function just returns an upper case version of the
|
||||||
|
string passed as a parameter. But the first part of the function also
|
||||||
|
read some contextual information from the current XSLT processing environement,
|
||||||
|
in that case it looks for the current insertion node in the resulting output
|
||||||
|
(either the resulting document or the Result Value Tree being generated), and
|
||||||
|
saves it to a global variable for checking that the access actually worked.
|
||||||
|
</p>
|
||||||
|
<p> For more informations on the xpathParserContext and transformContext
|
||||||
|
objects check the <a href="internals.html">libray internals description</a>.
|
||||||
|
The pctxt is actually an object from a class derived from the
|
||||||
|
libxml2.xpathParserContext() with just a couple more properties including
|
||||||
|
the possibility to look up the XSLT transformation context from the XPath
|
||||||
|
context.
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
styledoc = libxml2.parseDoc("""
|
||||||
|
<xsl:stylesheet version='1.0'
|
||||||
|
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
|
||||||
|
xmlns:foo='http://example.com/foo'
|
||||||
|
xsl:exclude-result-prefixes='foo'>
|
||||||
|
|
||||||
|
<xsl:param name='bar'>failure</xsl:param>
|
||||||
|
<xsl:template match='/'>
|
||||||
|
<article><xsl:value-of select='foo:foo($bar)'/></article>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
""")</pre>
|
||||||
|
<p> Here is a simple example of how to read an XML document from a python
|
||||||
|
string with libxml2. Note how this stylesheet:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li> Uses a global parameter <code>bar</code>
|
||||||
|
</li>
|
||||||
|
<li> Reference the extension function f
|
||||||
|
</li>
|
||||||
|
<li> how the Namespace name "http://example.com/foo" has to be bound to
|
||||||
|
a prefix
|
||||||
|
</li>
|
||||||
|
<li> how that prefix is excluded from the output
|
||||||
|
</li>
|
||||||
|
<li> how the function is called from the select
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<pre>style = libxslt.parseStylesheetDoc(styledoc)
|
||||||
|
doc = libxml2.parseDoc("<doc/>")
|
||||||
|
result = style.applyStylesheet(doc, { "bar": "'success'" })
|
||||||
|
style.freeStylesheet()
|
||||||
|
doc.freeDoc()</pre>
|
||||||
|
<p> that part is identical, to the basic example except that the
|
||||||
|
transformation is passed a dictionnary of parameters. Note that the
|
||||||
|
string passed "success" had to be quoted, otherwise it is interpreted
|
||||||
|
as an XPath query for the childs of root named "success".
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
root = result.children
|
||||||
|
if root.name != "article":
|
||||||
|
print "Unexpected root node name"
|
||||||
|
sys.exit(1)
|
||||||
|
if root.content != "SUCCESS":
|
||||||
|
print "Unexpected root node content, extension function failed"
|
||||||
|
sys.exit(1)
|
||||||
|
if nodeName != 'article':
|
||||||
|
print "The function callback failed to access its context"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
result.freeDoc()
|
||||||
|
</pre>
|
||||||
|
<p> That part just verifies that the transformation worked, that the parameter
|
||||||
|
got properly passed to the engine, that the function f() got called and that
|
||||||
|
it properly accessed the context to find the name of the insertion node.
|
||||||
|
|
||||||
|
</p>
|
||||||
|
<h3>pyxsltproc.py:</h3>
|
||||||
|
<p> this module is a bit too long to be described there but it is basically
|
||||||
|
a rewrite of the xsltproc command line interface of libxslt in Python. It
|
||||||
|
provides nearly all the functionalities of xsltproc and can be used as a base
|
||||||
|
module to write Python customized XSLT processors. One of the thing
|
||||||
|
to notice are:
|
||||||
|
</p>
|
||||||
|
<pre>libxml2.lineNumbersDefault(1)
|
||||||
|
libxml2.substituteEntitiesDefault(1)
|
||||||
|
</pre>
|
||||||
|
<p> those two calls in the main() function are needed to force the libxml2
|
||||||
|
processor to generate DOM trees compliant with the XPath data model.
|
||||||
|
|
||||||
|
</p>
|
||||||
|
<p><a href="mailto:daniel@veillard.com">Daniel Veillard</a></p>
|
||||||
|
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||||
|
</tr></table></td></tr></table>
|
||||||
|
</body>
|
||||||
|
</html>
|
@@ -49,6 +49,9 @@
|
|||||||
<xsl:when test="$name = '#FAQ'">
|
<xsl:when test="$name = '#FAQ'">
|
||||||
<xsl:text>FAQ.html</xsl:text>
|
<xsl:text>FAQ.html</xsl:text>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
|
<xsl:when test="$name = '#Python'">
|
||||||
|
<xsl:text>python.html</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
<xsl:when test="$name = ''">
|
<xsl:when test="$name = ''">
|
||||||
<xsl:text>unknown.html</xsl:text>
|
<xsl:text>unknown.html</xsl:text>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
|
181
doc/xslt.html
181
doc/xslt.html
@@ -651,6 +651,187 @@ processing needs and environment for example if reading/saving from/to
|
|||||||
memory, or if you want to apply XInclude processing to the stylesheet or
|
memory, or if you want to apply XInclude processing to the stylesheet or
|
||||||
input documents.</p>
|
input documents.</p>
|
||||||
|
|
||||||
|
<h2><a name="Python">Python and bindings</a></h2>
|
||||||
|
|
||||||
|
<p>There is a number of language bindings and wrappers available for libxml2,
|
||||||
|
the list below is not exhaustive. Please contact the <a
|
||||||
|
href="http://mail.gnome.org/mailman/listinfo/xml-bindings">xml-bindings@gnome.org</a>
|
||||||
|
(<a href="http://mail.gnome.org/archives/xml-bindings/">archives</a>) in
|
||||||
|
order to get updates to this list or to discuss the specific topic of libxml2
|
||||||
|
or libxslt wrappers or bindings:</p>
|
||||||
|
<ul>
|
||||||
|
<li><a
|
||||||
|
href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
|
||||||
|
Sergeant</a>
|
||||||
|
developped <a href="http://axkit.org/download/">XML::LibXML and
|
||||||
|
XML::LibXSLT</a>, a perl wrapper for libxml2/libxslt as part of the <a
|
||||||
|
href="http://axkit.com/">AxKit XML application server</a></li>
|
||||||
|
<li><a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a>
|
||||||
|
provides and earlier version of the libxml/libxslt <a
|
||||||
|
href="http://www.rexx.com/~dkuhlman">wrappers for Python</a></li>
|
||||||
|
<li>Petr Kozelka provides <a
|
||||||
|
href="http://sourceforge.net/projects/libxml2-pas">Pascal units to glue
|
||||||
|
libxml2</a> with Kylix, Delphi and other Pascal compilers</li>
|
||||||
|
<li>Wai-Sun "Squidster" Chia provides <a
|
||||||
|
href="http://www.rubycolor.org/arc/redist/">bindings for Ruby</a> and
|
||||||
|
libxml2 bindings are also available in Ruby through the <a
|
||||||
|
href="http://libgdome-ruby.berlios.de/">libgdome-ruby</a> module
|
||||||
|
maintained by Tobias Peters.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>The libxslt Python module depends on the <a href="http://xmlsoft.org/python.html">libxml2 Python</a> module.
|
||||||
|
<p>The distribution includes a set of Python bindings, which are garanteed to
|
||||||
|
be maintained as part of the library in the future, though the Python
|
||||||
|
interface have not yet reached the maturity of the C API. The distribution
|
||||||
|
includes a set of examples and regression tests for the python bindings in
|
||||||
|
the <code>python/tests</code> directory. Here are some excepts from those
|
||||||
|
tests:</p>
|
||||||
|
|
||||||
|
<h3>basic.py:</h3>
|
||||||
|
|
||||||
|
<p>This is a basic test of XSLT interfaces: loading a stylesheet and
|
||||||
|
a document, transforming the document and saving the result.</p>
|
||||||
|
<pre>import libxml2
|
||||||
|
import libxslt
|
||||||
|
|
||||||
|
styledoc = libxml2.parseFile("test.xsl")
|
||||||
|
style = libxslt.parseStylesheetDoc(styledoc)
|
||||||
|
doc = libxml2.parseFile("test.xml")
|
||||||
|
result = style.applyStylesheet(doc, None)
|
||||||
|
style.saveResultToFilename("foo", result, 0)
|
||||||
|
style.freeStylesheet()
|
||||||
|
doc.freeDoc()
|
||||||
|
result.freeDoc()</pre>
|
||||||
|
|
||||||
|
<p>The Python module is called libxslt, you will also need the libxml2 module
|
||||||
|
for the operations on XML trees. Let's have a look at the objects manipulated
|
||||||
|
in that example and how is the processing done:</p>
|
||||||
|
<ul>
|
||||||
|
<li><code>styledoc</code>: is a libxml2 document tree. It is obtained by
|
||||||
|
parsing the XML file "test.xsl" containing the stylesheet.</li>
|
||||||
|
<li><code>style</code>: this is a precompiled stylesheet ready to be used
|
||||||
|
by the following transformations (note the plural form, multiple
|
||||||
|
transformations can resuse the same stylesheet).</li>
|
||||||
|
<li><code>doc</code>: this is the document to apply the transformation to.
|
||||||
|
In this case it is simply generated by parsing it from a file but any
|
||||||
|
other processing is possible as long as one get a libxml2 Doc. Note
|
||||||
|
that HTML tree are suitable for XSLT processing in libxslt. This is
|
||||||
|
actually how this page is generated !</li>
|
||||||
|
<li><code>result</code>: this is a document generated by applying the
|
||||||
|
stylesheet to the document. Note that some of the stylesheet informations
|
||||||
|
may be related to the serialization of that document and as in this
|
||||||
|
example a specific saveResultToFilename() method of the stylesheet
|
||||||
|
should be used to save it to a file (in that case to "foo").</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Also note the need to explicitely deallocate documents with freeDoc()
|
||||||
|
except for the stylesheet document which is freed when its compiled form
|
||||||
|
is garbage collected.</p>
|
||||||
|
|
||||||
|
<h3>extfunc.py:</h3>
|
||||||
|
<p>This one is a far more complex test. It shows how to modify the behaviour
|
||||||
|
of an XSLT transformation by passing parameters and how to extend the XSLT
|
||||||
|
engine with functions defined in python:</p>
|
||||||
|
<pre>import libxml2
|
||||||
|
import libxslt
|
||||||
|
import string
|
||||||
|
|
||||||
|
nodeName = None
|
||||||
|
def f(ctx, str):
|
||||||
|
global nodeName
|
||||||
|
|
||||||
|
#
|
||||||
|
# Small check to verify the context is correcly accessed
|
||||||
|
#
|
||||||
|
try:
|
||||||
|
pctxt = libxslt.xpathParserContext(_obj=ctx)
|
||||||
|
ctxt = pctxt.context()
|
||||||
|
tctxt = ctxt.transformContext()
|
||||||
|
nodeName = tctxt.insertNode().name
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return string.upper(str)
|
||||||
|
|
||||||
|
libxslt.registerExtModuleFunction("foo", "http://example.com/foo", f)</pre>
|
||||||
|
<p> This code defines and register an extension function. Note that the
|
||||||
|
function can be bound to any name (foo) and how the binding is also
|
||||||
|
associated to a namespace name "http://example.com/foo". From an
|
||||||
|
XSLT point of view the function just returns an upper case version of the
|
||||||
|
string passed as a parameter. But the first part of the function also
|
||||||
|
read some contextual information from the current XSLT processing environement,
|
||||||
|
in that case it looks for the current insertion node in the resulting output
|
||||||
|
(either the resulting document or the Result Value Tree being generated), and
|
||||||
|
saves it to a global variable for checking that the access actually worked.
|
||||||
|
<p> For more informations on the xpathParserContext and transformContext
|
||||||
|
objects check the <a href="internals.html">libray internals description</a>.
|
||||||
|
The pctxt is actually an object from a class derived from the
|
||||||
|
libxml2.xpathParserContext() with just a couple more properties including
|
||||||
|
the possibility to look up the XSLT transformation context from the XPath
|
||||||
|
context.
|
||||||
|
<pre>
|
||||||
|
styledoc = libxml2.parseDoc("""
|
||||||
|
<xsl:stylesheet version='1.0'
|
||||||
|
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
|
||||||
|
xmlns:foo='http://example.com/foo'
|
||||||
|
xsl:exclude-result-prefixes='foo'>
|
||||||
|
|
||||||
|
<xsl:param name='bar'>failure</xsl:param>
|
||||||
|
<xsl:template match='/'>
|
||||||
|
<article><xsl:value-of select='foo:foo($bar)'/></article>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
""")</pre>
|
||||||
|
<p> Here is a simple example of how to read an XML document from a python
|
||||||
|
string with libxml2. Note how this stylesheet:
|
||||||
|
<ul>
|
||||||
|
<li> Uses a global parameter <code>bar</code>
|
||||||
|
<li> Reference the extension function f
|
||||||
|
<li> how the Namespace name "http://example.com/foo" has to be bound to
|
||||||
|
a prefix
|
||||||
|
<li> how that prefix is excluded from the output
|
||||||
|
<li> how the function is called from the select
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<pre>style = libxslt.parseStylesheetDoc(styledoc)
|
||||||
|
doc = libxml2.parseDoc("<doc/>")
|
||||||
|
result = style.applyStylesheet(doc, { "bar": "'success'" })
|
||||||
|
style.freeStylesheet()
|
||||||
|
doc.freeDoc()</pre>
|
||||||
|
<p> that part is identical, to the basic example except that the
|
||||||
|
transformation is passed a dictionnary of parameters. Note that the
|
||||||
|
string passed "success" had to be quoted, otherwise it is interpreted
|
||||||
|
as an XPath query for the childs of root named "success".
|
||||||
|
<pre>
|
||||||
|
root = result.children
|
||||||
|
if root.name != "article":
|
||||||
|
print "Unexpected root node name"
|
||||||
|
sys.exit(1)
|
||||||
|
if root.content != "SUCCESS":
|
||||||
|
print "Unexpected root node content, extension function failed"
|
||||||
|
sys.exit(1)
|
||||||
|
if nodeName != 'article':
|
||||||
|
print "The function callback failed to access its context"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
result.freeDoc()
|
||||||
|
</pre>
|
||||||
|
<p> That part just verifies that the transformation worked, that the parameter
|
||||||
|
got properly passed to the engine, that the function f() got called and that
|
||||||
|
it properly accessed the context to find the name of the insertion node.
|
||||||
|
|
||||||
|
<h3>pyxsltproc.py:</h3>
|
||||||
|
<p> this module is a bit too long to be described there but it is basically
|
||||||
|
a rewrite of the xsltproc command line interface of libxslt in Python. It
|
||||||
|
provides nearly all the functionalities of xsltproc and can be used as a base
|
||||||
|
module to write Python customized XSLT processors. One of the thing
|
||||||
|
to notice are:
|
||||||
|
<pre>libxml2.lineNumbersDefault(1)
|
||||||
|
libxml2.substituteEntitiesDefault(1)
|
||||||
|
</pre>
|
||||||
|
<p> those two calls in the main() function are needed to force the libxml2
|
||||||
|
processor to generate DOM trees compliant with the XPath data model.
|
||||||
|
|
||||||
<h2><a name="Internals">Library internals</a></h2>
|
<h2><a name="Internals">Library internals</a></h2>
|
||||||
|
|
||||||
<h3>Table of contents</h3>
|
<h3>Table of contents</h3>
|
||||||
|
@@ -38,6 +38,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||||
<li><a href="docbook.html">DocBook</a></li>
|
<li><a href="docbook.html">DocBook</a></li>
|
||||||
<li><a href="API.html">The programming API</a></li>
|
<li><a href="API.html">The programming API</a></li>
|
||||||
|
<li><a href="python.html">Python and bindings</a></li>
|
||||||
<li><a href="internals.html">Library internals</a></li>
|
<li><a href="internals.html">Library internals</a></li>
|
||||||
<li><a href="extensions.html">Writing extensions</a></li>
|
<li><a href="extensions.html">Writing extensions</a></li>
|
||||||
<li><a href="contribs.html">Contributions</a></li>
|
<li><a href="contribs.html">Contributions</a></li>
|
||||||
|
@@ -90,8 +90,7 @@ void xsltShutdownCtxtExts (xsltTransformContextPtr ctxt);
|
|||||||
|
|
||||||
void xsltShutdownExts (xsltStylesheetPtr style);
|
void xsltShutdownExts (xsltStylesheetPtr style);
|
||||||
|
|
||||||
xsltTransformContextPtr
|
xsltTransformContextPtr xsltXPathGetTransformContext
|
||||||
xsltXPathGetTransformContext
|
|
||||||
(xmlXPathParserContextPtr ctxt);
|
(xmlXPathParserContextPtr ctxt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -113,13 +112,12 @@ int xsltUnregisterExtModuleFunction (const xmlChar *name,
|
|||||||
/*
|
/*
|
||||||
* extension elements
|
* extension elements
|
||||||
*/
|
*/
|
||||||
typedef xsltElemPreCompPtr
|
typedef xsltElemPreCompPtr (*xsltPreComputeFunction)
|
||||||
(*xsltPreComputeFunction) (xsltStylesheetPtr style,
|
(xsltStylesheetPtr style,
|
||||||
xmlNodePtr inst,
|
xmlNodePtr inst,
|
||||||
xsltTransformFunction function);
|
xsltTransformFunction function);
|
||||||
|
|
||||||
xsltElemPreCompPtr
|
xsltElemPreCompPtr xsltNewElemPreComp (xsltStylesheetPtr style,
|
||||||
xsltNewElemPreComp (xsltStylesheetPtr style,
|
|
||||||
xmlNodePtr inst,
|
xmlNodePtr inst,
|
||||||
xsltTransformFunction function);
|
xsltTransformFunction function);
|
||||||
void xsltInitElemPreComp (xsltElemPreCompPtr comp,
|
void xsltInitElemPreComp (xsltElemPreCompPtr comp,
|
||||||
@@ -132,16 +130,12 @@ int xsltRegisterExtModuleElement (const xmlChar *name,
|
|||||||
const xmlChar *URI,
|
const xmlChar *URI,
|
||||||
xsltPreComputeFunction precomp,
|
xsltPreComputeFunction precomp,
|
||||||
xsltTransformFunction transform);
|
xsltTransformFunction transform);
|
||||||
xsltTransformFunction
|
xsltTransformFunction xsltExtElementLookup(xsltTransformContextPtr ctxt,
|
||||||
xsltExtElementLookup (xsltTransformContextPtr ctxt,
|
|
||||||
const xmlChar *name,
|
const xmlChar *name,
|
||||||
const xmlChar *URI);
|
const xmlChar *URI);
|
||||||
xsltTransformFunction
|
xsltTransformFunction xsltExtModuleElementLookup(const xmlChar *name,
|
||||||
xsltExtModuleElementLookup (const xmlChar *name,
|
|
||||||
const xmlChar *URI);
|
const xmlChar *URI);
|
||||||
xsltPreComputeFunction
|
xsltPreComputeFunction xsltExtModuleElementPreComputeLookup (const xmlChar *name,
|
||||||
xsltExtModuleElementPreComputeLookup
|
|
||||||
(const xmlChar *name,
|
|
||||||
const xmlChar *URI);
|
const xmlChar *URI);
|
||||||
int xsltUnregisterExtModuleElement (const xmlChar *name,
|
int xsltUnregisterExtModuleElement (const xmlChar *name,
|
||||||
const xmlChar *URI);
|
const xmlChar *URI);
|
||||||
@@ -171,7 +165,7 @@ int xsltRegisterExtElement (xsltTransformContextPtr ctxt,
|
|||||||
const xmlChar *URI,
|
const xmlChar *URI,
|
||||||
xsltTransformFunction function);
|
xsltTransformFunction function);
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* Extension Prefix handling API
|
* Extension Prefix handling API
|
||||||
* Those are used by the XSLT (pre)processor.
|
* Those are used by the XSLT (pre)processor.
|
||||||
*/
|
*/
|
||||||
@@ -185,8 +179,7 @@ int xsltInitCtxtExts (xsltTransformContextPtr ctxt);
|
|||||||
void xsltFreeCtxtExts (xsltTransformContextPtr ctxt);
|
void xsltFreeCtxtExts (xsltTransformContextPtr ctxt);
|
||||||
void xsltFreeExts (xsltStylesheetPtr style);
|
void xsltFreeExts (xsltStylesheetPtr style);
|
||||||
|
|
||||||
xsltElemPreCompPtr
|
xsltElemPreCompPtr xsltPreComputeExtModuleElement(xsltStylesheetPtr style,
|
||||||
xsltPreComputeExtModuleElement (xsltStylesheetPtr style,
|
|
||||||
xmlNodePtr inst);
|
xmlNodePtr inst);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -21,8 +21,7 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
extern const xmlChar *xsltExtMarker;
|
extern const xmlChar *xsltExtMarker;
|
||||||
|
|
||||||
xsltElemPreCompPtr
|
xsltElemPreCompPtr xsltDocumentComp (xsltStylesheetPtr style,
|
||||||
xsltDocumentComp (xsltStylesheetPtr style,
|
|
||||||
xmlNodePtr inst,
|
xmlNodePtr inst,
|
||||||
xsltTransformFunction function);
|
xsltTransformFunction function);
|
||||||
|
|
||||||
|
@@ -2021,7 +2021,7 @@ xsltParseStylesheetFile(const xmlChar* filename) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* xsltParseStylesheetPI:
|
* xsltParseStylesheetPI:
|
||||||
* value: the value of the PI
|
* @value: the value of the PI
|
||||||
*
|
*
|
||||||
* This function checks that the type is text/xml and extracts
|
* This function checks that the type is text/xml and extracts
|
||||||
* the URI-Reference for the stylesheet
|
* the URI-Reference for the stylesheet
|
||||||
@@ -2107,7 +2107,7 @@ xsltParseStylesheetPI(const xmlChar *value) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* xsltLoadStylesheetPI:
|
* xsltLoadStylesheetPI:
|
||||||
* doc: a document to process
|
* @doc: a document to process
|
||||||
*
|
*
|
||||||
* This function tries to locate the stylesheet PI in the given document
|
* This function tries to locate the stylesheet PI in the given document
|
||||||
* If found, and if contained within the document, it will extract
|
* If found, and if contained within the document, it will extract
|
||||||
|
@@ -201,7 +201,9 @@ struct _xsltElemPreComp {
|
|||||||
* precomputed data.
|
* precomputed data.
|
||||||
*/
|
*/
|
||||||
typedef struct _xsltStylePreComp xsltStylePreComp;
|
typedef struct _xsltStylePreComp xsltStylePreComp;
|
||||||
|
|
||||||
typedef xsltStylePreComp *xsltStylePreCompPtr;
|
typedef xsltStylePreComp *xsltStylePreCompPtr;
|
||||||
|
|
||||||
struct _xsltStylePreComp {
|
struct _xsltStylePreComp {
|
||||||
xsltElemPreCompPtr next; /* chained list */
|
xsltElemPreCompPtr next; /* chained list */
|
||||||
xsltStyleType type; /* type of the element */
|
xsltStyleType type; /* type of the element */
|
||||||
|
Reference in New Issue
Block a user