summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2002-05-16 17:33:29 +0000
committerDaniel Veillard <veillard@src.gnome.org>2002-05-16 17:33:29 +0000
commit0f879dd4f2c764171adf0ee75277f51226971585 (patch)
treed5921c3825416b2ab54eac60dc502afb4a9bc230
parent5ea5f8bad0d9348cb6445d50a0b3b43d33e307fb (diff)
downloadlibxslt-0f879dd4f2c764171adf0ee75277f51226971585.tar.gz
libxslt-0f879dd4f2c764171adf0ee75277f51226971585.tar.bz2
libxslt-0f879dd4f2c764171adf0ee75277f51226971585.zip
Applied Mark Vakoc patch to show registered extensions in xsltproc rebuilt
* libxslt/extensions.[ch] xsltproc/xsltproc.c win32/libxslt.def.src: Applied Mark Vakoc patch to show registered extensions in xsltproc * doc/*: rebuilt the API, docs and website * python/libxsltclass.txt: this added an entry point Daniel
-rw-r--r--ChangeLog7
-rw-r--r--doc/APIchunk0.html2
-rw-r--r--doc/APIchunk1.html4
-rw-r--r--doc/APIchunk2.html6
-rw-r--r--doc/APIchunk3.html2
-rw-r--r--doc/APIchunk4.html1
-rw-r--r--doc/APIchunk5.html1
-rw-r--r--doc/APIchunk6.html14
-rw-r--r--doc/APIfiles.html1
-rw-r--r--doc/APIfunctions.html1
-rw-r--r--doc/libxslt-api.xml15
-rw-r--r--doc/libxslt-decl.txt9
-rw-r--r--doc/libxslt-refs.xml37
-rw-r--r--doc/xsltproc.xml12
-rw-r--r--libxslt/extensions.c34
-rw-r--r--libxslt/extensions.h2
-rw-r--r--python/libxsltclass.txt1
-rw-r--r--win32/libxslt.def.src1
-rw-r--r--xsltproc/xsltproc.c12
19 files changed, 150 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 62b740f2..32102e72 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Thu May 16 19:31:35 CEST 2002 Daniel Veillard <daniel@veillard.com>
+
+ * libxslt/extensions.[ch] xsltproc/xsltproc.c win32/libxslt.def.src:
+ Applied Mark Vakoc patch to show registered extensions in xsltproc
+ * doc/*: rebuilt the API, docs and website
+ * python/libxsltclass.txt: this added an entry point
+
Wed May 15 00:20:10 CEST 2002 Igor Zlatkovic <igor@stud.fh-frankfurt.de>
* libxslt/xslt.c: xsl:include crash fix
diff --git a/doc/APIchunk0.html b/doc/APIchunk0.html
index 13648164..7a78eb24 100644
--- a/doc/APIchunk0.html
+++ b/doc/APIchunk0.html
@@ -499,6 +499,8 @@ A:link, A:visited, A:active { text-decoration: underline }
<dt>Returns</dt>
<dd>
<a href="html/libxslt-imports.html#XSLTNEEDELEMSPACEHANDLING">xsltNeedElemSpaceHandling</a>
+<a href="html/libxslt-imports.html#XSLTPARSESTYLESHEETIMPORT">xsltParseStylesheetImport</a>
+<a href="html/libxslt-imports.html#XSLTPARSESTYLESHEETINCLUDE">xsltParseStylesheetInclude</a>
<a href="html/libxslt-extensions.html#XSLTXPATHGETTRANSFORMCONTEXT">xsltXPathGetTransformContext</a>
</dd>
</dl>
diff --git a/doc/APIchunk1.html b/doc/APIchunk1.html
index ea12f190..61cbb0cf 100644
--- a/doc/APIchunk1.html
+++ b/doc/APIchunk1.html
@@ -292,6 +292,10 @@ A:link, A:visited, A:active { text-decoration: underline }
<dd>
<a href="html/libxslt-xsltutils.html#XSLTGETQNAMEURI">xsltGetQNameURI</a>
</dd>
+<dt>amiss</dt>
+<dd>
+<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETPROCESS">xsltParseStylesheetProcess</a>
+</dd>
<dt>analyzes</dt>
<dd>
<a href="html/libxslt-xsltutils.html#XSLTGETQNAMEURI">xsltGetQNameURI</a>
diff --git a/doc/APIchunk2.html b/doc/APIchunk2.html
index c9cc4265..dad48353 100644
--- a/doc/APIchunk2.html
+++ b/doc/APIchunk2.html
@@ -546,6 +546,11 @@ A:link, A:visited, A:active { text-decoration: underline }
<a href="html/libxslt-transform.html#XSLTREGISTERALLELEMENT">xsltRegisterAllElement</a>
<a href="html/libxslt-xsltinternals.html#XSLTTRANSFORMFUNCTION">xsltTransformFunction</a>
</dd>
+<dt>else</dt>
+<dd>
+<a href="html/libxslt-imports.html#XSLTPARSESTYLESHEETIMPORT">xsltParseStylesheetImport</a>
+<a href="html/libxslt-imports.html#XSLTPARSESTYLESHEETINCLUDE">xsltParseStylesheetInclude</a>
+</dd>
<dt>emitted</dt>
<dd>
<a href="html/libxslt-xsltutils.html#XSLTSETGENERICDEBUGFUNC">xsltSetGenericDebugFunc</a>
@@ -575,6 +580,7 @@ A:link, A:visited, A:active { text-decoration: underline }
<dt>everything</dt>
<dd>
<a href="html/libxslt-imports.html#XSLTFINDELEMSPACEHANDLING">xsltFindElemSpaceHandling</a>
+<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETPROCESS">xsltParseStylesheetProcess</a>
</dd>
<dt>example</dt>
<dd>
diff --git a/doc/APIchunk3.html b/doc/APIchunk3.html
index f485c4ad..ea5694d1 100644
--- a/doc/APIchunk3.html
+++ b/doc/APIchunk3.html
@@ -96,6 +96,8 @@ A:link, A:visited, A:active { text-decoration: underline }
<a href="html/libxslt-keys.html#XSLTADDKEY">xsltAddKey</a>
<a href="html/libxslt-variables.html#XSLTADDSTACKELEMLIST">xsltAddStackElemList</a>
<a href="html/libxslt-pattern.html#XSLTCOMPILEPATTERN">xsltCompilePattern</a>
+<a href="html/libxslt-imports.html#XSLTPARSESTYLESHEETIMPORT">xsltParseStylesheetImport</a>
+<a href="html/libxslt-imports.html#XSLTPARSESTYLESHEETINCLUDE">xsltParseStylesheetInclude</a>
<a href="html/libxslt-extensions.html#XSLTREGISTEREXTELEMENT">xsltRegisterExtElement</a>
<a href="html/libxslt-extensions.html#XSLTREGISTEREXTFUNCTION">xsltRegisterExtFunction</a>
<a href="html/libxslt-extensions.html#XSLTREGISTEREXTPREFIX">xsltRegisterExtPrefix</a>
diff --git a/doc/APIchunk4.html b/doc/APIchunk4.html
index f9057ff2..d84bba26 100644
--- a/doc/APIchunk4.html
+++ b/doc/APIchunk4.html
@@ -393,7 +393,6 @@ A:link, A:visited, A:active { text-decoration: underline }
<a href="html/libxslt-transform.html#XSLTNEWTRANSFORMCONTEXT">xsltNewTransformContext</a>
<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETDOC">xsltParseStylesheetDoc</a>
<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETFILE">xsltParseStylesheetFile</a>
-<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETPROCESS">xsltParseStylesheetProcess</a>
<a href="html/libxslt-xsltutils.html#XSLTSETGENERICDEBUGFUNC">xsltSetGenericDebugFunc</a>
<a href="html/libxslt-xsltutils.html#XSLTSETGENERICERRORFUNC">xsltSetGenericErrorFunc</a>
<a href="html/libxslt-templates.html#XSLTTEMPLATEPROCESS">xsltTemplateProcess</a>
diff --git a/doc/APIchunk5.html b/doc/APIchunk5.html
index fbca2bd3..c4fdf562 100644
--- a/doc/APIchunk5.html
+++ b/doc/APIchunk5.html
@@ -201,6 +201,7 @@ A:link, A:visited, A:active { text-decoration: underline }
<dt>parameter</dt>
<dd>
<a href="html/libxslt-variables.html#XSLTEVALONEUSERPARAM">xsltEvalOneUserParam</a>
+<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETPROCESS">xsltParseStylesheetProcess</a>
<a href="html/libxslt-variables.html#XSLTQUOTEONEUSERPARAM">xsltQuoteOneUserParam</a>
</dd>
<dt>parameters</dt>
diff --git a/doc/APIchunk6.html b/doc/APIchunk6.html
index 54e669af..2fdc639f 100644
--- a/doc/APIchunk6.html
+++ b/doc/APIchunk6.html
@@ -219,6 +219,10 @@ A:link, A:visited, A:active { text-decoration: underline }
<dd>
<a href="html/libxslt-xsltinternals.html#XSLTPARSETEMPLATECONTENT">xsltParseTemplateContent</a>
</dd>
+<dt>ret</dt>
+<dd>
+<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETPROCESS">xsltParseStylesheetProcess</a>
+</dd>
<dt>retrieve</dt>
<dd>
<a href="html/libxslt-extensions.html#XSLTXPATHGETTRANSFORMCONTEXT">xsltXPathGetTransformContext</a>
@@ -246,6 +250,7 @@ A:link, A:visited, A:active { text-decoration: underline }
<dd>
<a href="html/libxslt-namespaces.html#XSLTGETNAMESPACE">xsltGetNamespace</a>
<a href="html/libxslt-namespaces.html#XSLTGETSPECIALNAMESPACE">xsltGetSpecialNamespace</a>
+<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETPROCESS">xsltParseStylesheetProcess</a>
</dd>
<dt>rule</dt>
<dd>
@@ -367,6 +372,12 @@ A:link, A:visited, A:active { text-decoration: underline }
<a href="html/libxslt-xsltinternals.html#XSLTALLOCATEEXTRA">xsltAllocateExtra</a>
<a href="html/libxslt-xsltinternals.html#XSLTALLOCATEEXTRACTXT">xsltAllocateExtraCtxt</a>
</dd>
+<dt>something</dt>
+<dd>
+<a href="html/libxslt-imports.html#XSLTPARSESTYLESHEETIMPORT">xsltParseStylesheetImport</a>
+<a href="html/libxslt-imports.html#XSLTPARSESTYLESHEETINCLUDE">xsltParseStylesheetInclude</a>
+<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETPROCESS">xsltParseStylesheetProcess</a>
+</dd>
<dt>sort</dt>
<dd>
<a href="html/libxslt-xsltutils.html#XSLTDOSORTFUNCTION">xsltDoSortFunction</a>
@@ -485,7 +496,6 @@ A:link, A:visited, A:active { text-decoration: underline }
<a href="html/libxslt-xsltinternals.html#XSLTLOADSTYLESHEETPI">xsltLoadStylesheetPI</a>
<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETDOC">xsltParseStylesheetDoc</a>
<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETFILE">xsltParseStylesheetFile</a>
-<a href="html/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETPROCESS">xsltParseStylesheetProcess</a>
<a href="html/libxslt-xsltinternals.html#XSLTSTYLEPRECOMP">xsltStylePreComp</a>
<a href="html/libxslt-xsltinternals.html#XSLTTEMPLATE">xsltTemplate</a>
</dd>
@@ -533,6 +543,8 @@ A:link, A:visited, A:active { text-decoration: underline }
<a href="html/libxslt-variables.html#XSLTEVALGLOBALVARIABLES">xsltEvalGlobalVariables</a>
<a href="html/libxslt-variables.html#XSLTEVALONEUSERPARAM">xsltEvalOneUserParam</a>
<a href="html/libxslt-variables.html#XSLTEVALUSERPARAMS">xsltEvalUserParams</a>
+<a href="html/libxslt-imports.html#XSLTPARSESTYLESHEETIMPORT">xsltParseStylesheetImport</a>
+<a href="html/libxslt-imports.html#XSLTPARSESTYLESHEETINCLUDE">xsltParseStylesheetInclude</a>
<a href="html/libxslt-variables.html#XSLTQUOTEONEUSERPARAM">xsltQuoteOneUserParam</a>
<a href="html/libxslt-variables.html#XSLTQUOTEUSERPARAMS">xsltQuoteUserParams</a>
<a href="html/libxslt-extensions.html#XSLTREGISTEREXTELEMENT">xsltRegisterExtElement</a>
diff --git a/doc/APIfiles.html b/doc/APIfiles.html
index 65dd02a1..8cfdd031 100644
--- a/doc/APIfiles.html
+++ b/doc/APIfiles.html
@@ -130,6 +130,7 @@ A:link, A:visited, A:active { text-decoration: underline }
<a href="html/libxslt-extensions.html#XSLTFREEEXTS">xsltFreeExts</a>
<a href="html/libxslt-extensions.html#XSLTPRECOMPUTEEXTMODULEELEMENT">xsltPreComputeExtModuleElement</a>
<a href="html/libxslt-extensions.html#XSLTREGISTERTESTMODULE">xsltRegisterTestModule</a>
+<a href="">xsltDebugDumpExtensions</a>
</p>
<h2>Module extra:</h2>
<p>
diff --git a/doc/APIfunctions.html b/doc/APIfunctions.html
index 6782cf48..10bb252a 100644
--- a/doc/APIfunctions.html
+++ b/doc/APIfunctions.html
@@ -77,6 +77,7 @@ A:link, A:visited, A:active { text-decoration: underline }
<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">
<h2>Type FILE *:</h2>
<p>
+<a href="">xsltDebugDumpExtensions</a>
<a href="html/libxslt-transform.html#XSLTAPPLYSTYLESHEETUSER">xsltApplyStylesheetUser</a>
<a href="html/libxslt-transform.html#XSLTPROFILESTYLESHEET">xsltProfileStylesheet</a>
<a href="html/libxslt-transform.html#XSLTRUNSTYLESHEETUSER">xsltRunStylesheetUser</a>
diff --git a/doc/libxslt-api.xml b/doc/libxslt-api.xml
index fa259338..fbdabe3c 100644
--- a/doc/libxslt-api.xml
+++ b/doc/libxslt-api.xml
@@ -91,6 +91,7 @@
<exports symbol='xsltFreeExts'/>
<exports symbol='xsltPreComputeExtModuleElement'/>
<exports symbol='xsltRegisterTestModule'/>
+ <exports symbol='xsltDebugDumpExtensions'/>
</file>
<file name='attributes'>
<exports symbol='xsltParseStylesheetAttributeSet'/>
@@ -666,6 +667,10 @@
<arg name='inst' type='xmlNodePtr' info='the instruction in the stylesheet '/>
<arg name='comp' type='xsltStylePreCompPtr' info='precomputed informations '/>
</function>
+ <function name='xsltDebugDumpExtensions' file='extensions'>
+ <return type='void'/>
+ <arg name='output' type='FILE *'/>
+ </function>
<enum name='xsltDebugStatusCodes' file='xsltutils'/>
<struct name='xsltDecimalFormat' file='xsltInternals' info='Data structure of decimal-format.'/>
<function name='xsltDecimalFormatGetByName' file='xsltInternals'>
@@ -1204,14 +1209,14 @@
<arg name='filename' type='const xmlChar*' info='the filename/URL to the stylesheet '/>
</function>
<function name='xsltParseStylesheetImport' file='imports'>
- <info>parse an XSLT stylesheet strip-space element and record elements needing stripping</info>
- <return type='void'/>
+ <info>parse an XSLT stylesheet strip-space element and record elements needing stripping. Returns zero on success and something else on failure.</info>
+ <return type='int'/>
<arg name='style' type='xsltStylesheetPtr' info='the XSLT stylesheet '/>
<arg name='cur' type='xmlNodePtr'/>
</function>
<function name='xsltParseStylesheetInclude' file='imports'>
- <info>parse an XSLT stylesheet strip-space element and record elements needing stripping</info>
- <return type='void'/>
+ <info>parse an XSLT stylesheet strip-space element and record elements needing stripping. Returns zero on success, something else on failure.</info>
+ <return type='int'/>
<arg name='style' type='xsltStylesheetPtr' info='the XSLT stylesheet '/>
<arg name='cur' type='xmlNodePtr'/>
</function>
@@ -1229,7 +1234,7 @@
</function>
<function name='xsltParseStylesheetProcess' file='xsltInternals'>
<info>parse an XSLT stylesheet adding the associated structures</info>
- <return type='xsltStylesheetPtr' info='a new XSLT stylesheet structure. '/>
+ <return type='xsltStylesheetPtr' info='the value of the &apos;ret&apos; parameter if everything went right, NULL if something went amiss. '/>
<arg name='ret' type='xsltStylesheetPtr' info='the XSLT stylesheet '/>
<arg name='doc' type='xmlDocPtr' info='and xmlDoc parsed XML '/>
</function>
diff --git a/doc/libxslt-decl.txt b/doc/libxslt-decl.txt
index 2650259a..3375b912 100644
--- a/doc/libxslt-decl.txt
+++ b/doc/libxslt-decl.txt
@@ -326,6 +326,11 @@ xsltStylesheetPtr style,xmlNodePtr inst
<RETURNS>void </RETURNS>
void
</FUNCTION>
+<FUNCTION>
+<NAME>xsltDebugDumpExtensions</NAME>
+<RETURNS>void </RETURNS>
+FILE * output
+</FUNCTION>
<MACRO>
<NAME>XSLT_REGISTER_FUNCTION_LOOKUP</NAME>
#define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt) \
@@ -405,12 +410,12 @@ xmlXPathContextPtr ctxt
</MACRO>
<FUNCTION>
<NAME>xsltParseStylesheetImport</NAME>
-<RETURNS>void </RETURNS>
+<RETURNS>int </RETURNS>
xsltStylesheetPtr style,xmlNodePtr cur
</FUNCTION>
<FUNCTION>
<NAME>xsltParseStylesheetInclude</NAME>
-<RETURNS>void </RETURNS>
+<RETURNS>int </RETURNS>
xsltStylesheetPtr style,xmlNodePtr cur
</FUNCTION>
<FUNCTION>
diff --git a/doc/libxslt-refs.xml b/doc/libxslt-refs.xml
index b563630f..2448e00c 100644
--- a/doc/libxslt-refs.xml
+++ b/doc/libxslt-refs.xml
@@ -607,6 +607,7 @@
</constructors>
<functions>
<type name='FILE *'>
+ <ref name='xsltDebugDumpExtensions'/>
<ref name='xsltApplyStylesheetUser'/>
<ref name='xsltProfileStylesheet'/>
<ref name='xsltRunStylesheetUser'/>
@@ -1173,6 +1174,7 @@
<ref name='xsltFreeExts'/>
<ref name='xsltPreComputeExtModuleElement'/>
<ref name='xsltRegisterTestModule'/>
+ <ref name='xsltDebugDumpExtensions'/>
</file>
<file name='extra'>
<ref name='XSLT_LIBXSLT_NAMESPACE'/>
@@ -1748,6 +1750,8 @@
</word>
<word name='Returns'>
<ref name='xsltNeedElemSpaceHandling'/>
+ <ref name='xsltParseStylesheetImport'/>
+ <ref name='xsltParseStylesheetInclude'/>
<ref name='xsltXPathGetTransformContext'/>
</word>
</letter>
@@ -2015,6 +2019,9 @@
<word name='also'>
<ref name='xsltGetQNameURI'/>
</word>
+ <word name='amiss'>
+ <ref name='xsltParseStylesheetProcess'/>
+ </word>
<word name='analyzes'>
<ref name='xsltGetQNameURI'/>
</word>
@@ -2610,6 +2617,10 @@
<ref name='xsltRegisterAllElement'/>
<ref name='xsltTransformFunction'/>
</word>
+ <word name='else'>
+ <ref name='xsltParseStylesheetImport'/>
+ <ref name='xsltParseStylesheetInclude'/>
+ </word>
<word name='emitted'>
<ref name='xsltSetGenericDebugFunc'/>
<ref name='xsltSetGenericErrorFunc'/>
@@ -2632,6 +2643,7 @@
</word>
<word name='everything'>
<ref name='xsltFindElemSpaceHandling'/>
+ <ref name='xsltParseStylesheetProcess'/>
</word>
<word name='example'>
<ref name='xsltEvalTemplateString'/>
@@ -2703,6 +2715,8 @@
<ref name='xsltAddKey'/>
<ref name='xsltAddStackElemList'/>
<ref name='xsltCompilePattern'/>
+ <ref name='xsltParseStylesheetImport'/>
+ <ref name='xsltParseStylesheetInclude'/>
<ref name='xsltRegisterExtElement'/>
<ref name='xsltRegisterExtFunction'/>
<ref name='xsltRegisterExtPrefix'/>
@@ -3298,7 +3312,6 @@
<ref name='xsltNewTransformContext'/>
<ref name='xsltParseStylesheetDoc'/>
<ref name='xsltParseStylesheetFile'/>
- <ref name='xsltParseStylesheetProcess'/>
<ref name='xsltSetGenericDebugFunc'/>
<ref name='xsltSetGenericErrorFunc'/>
<ref name='xsltTemplateProcess'/>
@@ -3501,6 +3514,7 @@
</word>
<word name='parameter'>
<ref name='xsltEvalOneUserParam'/>
+ <ref name='xsltParseStylesheetProcess'/>
<ref name='xsltQuoteOneUserParam'/>
</word>
<word name='parameters'>
@@ -3879,6 +3893,9 @@
<word name='results'>
<ref name='xsltParseTemplateContent'/>
</word>
+ <word name='ret'>
+ <ref name='xsltParseStylesheetProcess'/>
+ </word>
<word name='retrieve'>
<ref name='xsltXPathGetTransformContext'/>
</word>
@@ -3901,6 +3918,7 @@
<word name='right'>
<ref name='xsltGetNamespace'/>
<ref name='xsltGetSpecialNamespace'/>
+ <ref name='xsltParseStylesheetProcess'/>
</word>
<word name='rule'>
<ref name='xsltFindTemplate'/>
@@ -4000,6 +4018,11 @@
<ref name='xsltAllocateExtra'/>
<ref name='xsltAllocateExtraCtxt'/>
</word>
+ <word name='something'>
+ <ref name='xsltParseStylesheetImport'/>
+ <ref name='xsltParseStylesheetInclude'/>
+ <ref name='xsltParseStylesheetProcess'/>
+ </word>
<word name='sort'>
<ref name='xsltDoSortFunction'/>
<ref name='xsltSort'/>
@@ -4095,7 +4118,6 @@
<ref name='xsltLoadStylesheetPI'/>
<ref name='xsltParseStylesheetDoc'/>
<ref name='xsltParseStylesheetFile'/>
- <ref name='xsltParseStylesheetProcess'/>
<ref name='xsltStylePreComp'/>
<ref name='xsltTemplate'/>
</word>
@@ -4135,6 +4157,8 @@
<ref name='xsltEvalGlobalVariables'/>
<ref name='xsltEvalOneUserParam'/>
<ref name='xsltEvalUserParams'/>
+ <ref name='xsltParseStylesheetImport'/>
+ <ref name='xsltParseStylesheetInclude'/>
<ref name='xsltQuoteOneUserParam'/>
<ref name='xsltQuoteUserParams'/>
<ref name='xsltRegisterExtElement'/>
@@ -4468,6 +4492,9 @@
<word name='well'>
<ref name='xsltNamespaceAlias'/>
</word>
+ <word name='went'>
+ <ref name='xsltParseStylesheetProcess'/>
+ </word>
<word name='wether'>
<ref name='xsltTestCompMatchList'/>
</word>
@@ -4643,6 +4670,12 @@
<ref name='xsltRunStylesheetUser'/>
</word>
</letter>
+ <letter name='z'>
+ <word name='zero'>
+ <ref name='xsltParseStylesheetImport'/>
+ <ref name='xsltParseStylesheetInclude'/>
+ </word>
+ </letter>
</chunk>
<chunks>
<chunk name='chunk0' start='A' end='T'/>
diff --git a/doc/xsltproc.xml b/doc/xsltproc.xml
index 04a6a0f3..6807aa6c 100644
--- a/doc/xsltproc.xml
+++ b/doc/xsltproc.xml
@@ -50,6 +50,7 @@
<arg>--catalogs</arg>
<arg>--xinclude</arg>
<arg>--profile</arg>
+ <arg>--dumpextensions</arg>
</group>
<arg><option><replaceable>stylesheet</replaceable></option></arg>
<arg><replaceable>file1</replaceable></arg>
@@ -300,6 +301,17 @@
</simpara>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>--dumpextensions</option></term>
+ <listitem>
+ <simpara>Dumps the list of all registered extensions on stdout.
+ </simpara>
+ </listitem>
+ </varlistentry>
+
+
</variablelist>
</refsect1>
diff --git a/libxslt/extensions.c b/libxslt/extensions.c
index cfd9d760..befd8aff 100644
--- a/libxslt/extensions.c
+++ b/libxslt/extensions.c
@@ -1587,3 +1587,37 @@ xsltCleanupGlobals(void)
xsltUnregisterAllExtModuleTopLevel();
}
+static void
+xsltDebugDumpExtensionsCallback(void* function, FILE *output, const xmlChar* name, const xmlChar* URI, const xmlChar* not_used) {
+ if (!name||!URI)
+ return;
+ fprintf(output,"{%s}%s\n",URI,name);
+}
+
+/**
+ * xsltDebugDumpExtensions:
+ * @output: the FILE * for the output, if NULL stdout is used
+ *
+ * Dumps a list of the registered XSLT extension functions and elements
+ */
+void
+xsltDebugDumpExtensions(FILE * output)
+{
+ if (output == NULL)
+ output = stdout;
+ fprintf(output,"Registered XSLT Extensions\n--------------------------\n");
+ if (!xsltFunctionsHash)
+ fprintf(output,"No registered extension functions\n");
+ else {
+ fprintf(output,"Registered Extension Functions:\n");
+ xmlHashScanFull(xsltFunctionsHash,(xmlHashScannerFull)xsltDebugDumpExtensionsCallback,output);
+ }
+ if (!xsltElementsHash)
+ fprintf(output,"\nNo registered extension elements\n");
+ else {
+ fprintf(output,"\nRegistered Extension Elements:\n");
+ xmlHashScanFull(xsltElementsHash,(xmlHashScannerFull)xsltDebugDumpExtensionsCallback,output);
+ }
+
+}
+
diff --git a/libxslt/extensions.h b/libxslt/extensions.h
index bad3bff7..01f04733 100644
--- a/libxslt/extensions.h
+++ b/libxslt/extensions.h
@@ -186,6 +186,8 @@ xsltElemPreCompPtr xsltPreComputeExtModuleElement(xsltStylesheetPtr style,
* Test module http://xmlsoft.org/XSLT/
*/
void xsltRegisterTestModule (void);
+void xsltDebugDumpExtensions(FILE * output);
+
#ifdef __cplusplus
}
diff --git a/python/libxsltclass.txt b/python/libxsltclass.txt
index fb320166..ec10e7f7 100644
--- a/python/libxsltclass.txt
+++ b/python/libxsltclass.txt
@@ -6,6 +6,7 @@
# functions from module extensions
+debugDumpExtensions()
registerTestModule()
unregisterExtModule()
unregisterExtModuleElement()
diff --git a/win32/libxslt.def.src b/win32/libxslt.def.src
index 5687cc53..42298b5f 100644
--- a/win32/libxslt.def.src
+++ b/win32/libxslt.def.src
@@ -83,6 +83,7 @@ EXPORTS
/* Test module http://xmlsoft.org/XSLT/ */
xsltRegisterTestModule
+ xsltDebugDumpExtensions
/* extra.h
diff --git a/xsltproc/xsltproc.c b/xsltproc/xsltproc.c
index 69a6702a..3fff5a87 100644
--- a/xsltproc/xsltproc.c
+++ b/xsltproc/xsltproc.c
@@ -88,6 +88,7 @@ xmlParserInputPtr xmlNoNetExternalEntityLoader(const char *URL,
static int debug = 0;
static int repeat = 0;
static int timing = 0;
+static int dumpextensions = 0;
static int novalid = 0;
static int noout = 0;
#ifdef LIBXML_DOCB_ENABLED
@@ -236,6 +237,7 @@ static void
xsltProcess(xmlDocPtr doc, xsltStylesheetPtr cur, const char *filename) {
xmlDocPtr res;
xsltTransformContextPtr ctxt;
+
#ifdef LIBXML_XINCLUDE_ENABLED
if (xinclude) {
@@ -363,6 +365,7 @@ static void usage(const char *name) {
printf("\t--timing: display the time used\n");
printf("\t--repeat: run the transformation 20 times\n");
printf("\t--debug: dump the tree of the result instead\n");
+ printf("\t--dumpextensions: dump the registered extension elements and functions to stdout\n");
printf("\t--novalid skip the Dtd loading phase\n");
printf("\t--noout: do not dump the result\n");
printf("\t--maxdepth val : increase the maximum depth\n");
@@ -542,7 +545,11 @@ main(int argc, char **argv)
if (value > 0)
xsltMaxDepth = value;
}
- } else {
+ } else if ((!strcmp(argv[i],"-dumpextensions"))||
+ (!strcmp(argv[i],"--dumpextensions"))) {
+ dumpextensions++;
+
+ } else {
fprintf(stderr, "Unknown option %s\n", argv[i]);
usage(argv[0]);
return (3);
@@ -587,6 +594,9 @@ main(int argc, char **argv)
i += 2;
continue;
}
+ if (dumpextensions)
+ xsltDebugDumpExtensions(NULL);
+
if ((argv[i][0] != '-') || (strcmp(argv[i], "-") == 0)) {
if (timing)
startTimer();