diff options
author | Daniel Veillard <veillard@src.gnome.org> | 2002-05-16 17:33:29 +0000 |
---|---|---|
committer | Daniel Veillard <veillard@src.gnome.org> | 2002-05-16 17:33:29 +0000 |
commit | 0f879dd4f2c764171adf0ee75277f51226971585 (patch) | |
tree | d5921c3825416b2ab54eac60dc502afb4a9bc230 | |
parent | 5ea5f8bad0d9348cb6445d50a0b3b43d33e307fb (diff) | |
download | libxslt-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-- | ChangeLog | 7 | ||||
-rw-r--r-- | doc/APIchunk0.html | 2 | ||||
-rw-r--r-- | doc/APIchunk1.html | 4 | ||||
-rw-r--r-- | doc/APIchunk2.html | 6 | ||||
-rw-r--r-- | doc/APIchunk3.html | 2 | ||||
-rw-r--r-- | doc/APIchunk4.html | 1 | ||||
-rw-r--r-- | doc/APIchunk5.html | 1 | ||||
-rw-r--r-- | doc/APIchunk6.html | 14 | ||||
-rw-r--r-- | doc/APIfiles.html | 1 | ||||
-rw-r--r-- | doc/APIfunctions.html | 1 | ||||
-rw-r--r-- | doc/libxslt-api.xml | 15 | ||||
-rw-r--r-- | doc/libxslt-decl.txt | 9 | ||||
-rw-r--r-- | doc/libxslt-refs.xml | 37 | ||||
-rw-r--r-- | doc/xsltproc.xml | 12 | ||||
-rw-r--r-- | libxslt/extensions.c | 34 | ||||
-rw-r--r-- | libxslt/extensions.h | 2 | ||||
-rw-r--r-- | python/libxsltclass.txt | 1 | ||||
-rw-r--r-- | win32/libxslt.def.src | 1 | ||||
-rw-r--r-- | xsltproc/xsltproc.c | 12 |
19 files changed, 150 insertions, 12 deletions
@@ -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 'ret' 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(); |