diff options
author | Daniel Veillard <veillard@src.gnome.org> | 2003-12-21 12:21:17 +0000 |
---|---|---|
committer | Daniel Veillard <veillard@src.gnome.org> | 2003-12-21 12:21:17 +0000 |
commit | 6d8811b0de03cc931435c6a4b0a15ea2fb86c1ea (patch) | |
tree | d2d0b75f9d874879287dfa083f00f10f82875536 /doc/extensions.html | |
parent | de541422eb6b8b196538e367fd9d140b9b9829d5 (diff) | |
download | libxslt-6d8811b0de03cc931435c6a4b0a15ea2fb86c1ea.tar.gz libxslt-6d8811b0de03cc931435c6a4b0a15ea2fb86c1ea.tar.bz2 libxslt-6d8811b0de03cc931435c6a4b0a15ea2fb86c1ea.zip |
fixed #129327 make sure parser flags get transmitted to the transformation
* xsltproc.c: fixed #129327 make sure parser flags get transmitted to
the transformation context
* libxslt/documents.c libxslt/transform.c libxslt/xsltInternals.h
libxslt/xsltutils.c libxslt/xsltutils.h: add a new call
xsltSetCtxtParseOptions() to update parsing options in document()
Daniel
Diffstat (limited to 'doc/extensions.html')
-rw-r--r-- | doc/extensions.html | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/doc/extensions.html b/doc/extensions.html index a77bcf02..31f67b24 100644 --- a/doc/extensions.html +++ b/doc/extensions.html @@ -37,11 +37,11 @@ two <a href="http://www.w3.org/TR/xslt">ways to extend an XSLT engine</a>:</p><u </ul><p>In both cases the extensions need to be associated to a new namespace, i.e. an URI used as the name for the extension's namespace (there is no need to have a resource there for this to work).</p><p>libxslt provides a few extensions itself, either in libxslt namespace -"http://xmlsoft.org/XSLT/" or in other namespace for well known extensions +"http://xmlsoft.org/XSLT/" or in other namespace for well known extensions provided by other XSLT processors like Saxon, Xalan or XT.</p><h3><a name="Keep" id="Keep">Extension modules</a></h3><p>Since extensions are bound to a namespace name, usually sets of extensions coming from a given source are using the same namespace name defining in practice a group of extensions providing elements, functions or both. From -libxslt point of view those are considered as an "extension module", and most +libxslt point of view those are considered as an "extension module", and most of the APIs work at a module point of view.</p><p>Registration of new functions or elements are bound to the activation of the module, this is currently done by declaring the namespace as an extension by using the attribute <code>extension-element-prefixes</code> on the @@ -156,18 +156,18 @@ xsltExtFunctionTest(xmlXPathParserContextPtr ctxt, int nargs) tctxt = xsltXPathGetTransformContext(ctxt); if (tctxt == NULL) { xsltGenericError(xsltGenericErrorContext, - "xsltExtFunctionTest: failed to get the transformation context\n"); + "xsltExtFunctionTest: failed to get the transformation context\n"); return; } data = xsltGetExtData(tctxt, (const xmlChar *) XSLT_DEFAULT_URL); if (data == NULL) { xsltGenericError(xsltGenericErrorContext, - "xsltExtFunctionTest: failed to get module data\n"); + "xsltExtFunctionTest: failed to get module data\n"); return; } #ifdef WITH_XSLT_DEBUG_FUNCTION xsltGenericDebug(xsltGenericDebugContext, - "libxslt:test() called with %d args\n", nargs); + "libxslt:test() called with %d args\n", nargs); #endif }</pre><h3><a name="Registerin2" id="Registerin2">Registering an extension element</a></h3><p>There is a single call to do this registration:</p><pre>int xsltRegisterExtElement(xsltTransformContextPtr ctxt, const xmlChar *name, @@ -230,27 +230,27 @@ xsltExtElementTest(xsltTransformContextPtr ctxt, xmlNodePtr node, if (ctxt == NULL) { xsltGenericError(xsltGenericErrorContext, - "xsltExtElementTest: no transformation context\n"); + "xsltExtElementTest: no transformation context\n"); return; } if (node == NULL) { xsltGenericError(xsltGenericErrorContext, - "xsltExtElementTest: no current node\n"); + "xsltExtElementTest: no current node\n"); return; } if (inst == NULL) { xsltGenericError(xsltGenericErrorContext, - "xsltExtElementTest: no instruction\n"); + "xsltExtElementTest: no instruction\n"); return; } if (ctxt->insert == NULL) { xsltGenericError(xsltGenericErrorContext, - "xsltExtElementTest: no insertion point\n"); + "xsltExtElementTest: no insertion point\n"); return; } comment = xmlNewComment((const xmlChar *) - "libxslt:test element test worked"); + "libxslt:test element test worked"); xmlAddChild(ctxt->insert, comment); }</pre><h3><a name="shutdown" id="shutdown">The shutdown of a module</a></h3><p>When the XSLT processor ends a transformation, the shutdown function (if it exists) of all the modules initialized are called.The |