interface for the XSLT attribute handling
this module handles the specificities of attribute and attribute groups processing.
Daniel Veillard
interface for the document handling
implements document loading and cache (multiple document() reference for the same resources must be equal.
Daniel Veillard
interface for the extension support
This provide the API needed for simple and module extension support.
Daniel Veillard
interface for the non-standard features
implement some extension outside the XSLT namespace but not EXSLT with is in a different library.
Daniel Veillard
interface for the XSLT functions not from XPath
a set of extra functions coming from XSLT but not in XPath
Daniel Veillard and Bjorn Reese <breese@users.sourceforge.net>
interface for the XSLT import support
macros and fuctions needed to implement and access the import tree
Daniel Veillard
interface for the key matching used in key() and template matches.
implementation of the key mechanims.
Daniel Veillard
interface for the XSLT namespace handling
set of function easing the processing and generation of namespace nodes in XSLT.
Daniel Veillard
Implementation of the XSLT number functions
Implementation of the XSLT number functions
Bjorn Reese <breese@users.sourceforge.net> and Daniel Veillard
interface for the pattern matching used in template matches.
the implementation of the lookup of the right template for a given node must be really fast in order to keep decent performances.
Daniel Veillard
precomputing stylesheets
this is the compilation phase, where most of the stylesheet is "compiled" into faster to use data.
Daniel Veillard
interface for the libxslt security framework
the libxslt security framework allow to restrict the access to new resources (file or URL) from the stylesheet at runtime.
Daniel Veillard
interface for the template processing
This set of routine encapsulates XPath calls and Attribute Value Templates evaluation.
Daniel Veillard
the XSLT engine transformation part.
This module implements the bulk of the actual
Daniel Veillard
interface for the variable matching and lookup.
interface for the variable matching and lookup.
Daniel Veillard
Interfaces, constants and types related to the XSLT engine
Interfaces, constants and types related to the XSLT engine
Daniel Veillard
internal data structures, constants and functions
Internal data structures, constants and functions used by the XSLT engine. They are not part of the API or ABI, i.e. they can change without prior notice, use carefully.
Daniel Veillard
macros for marking symbols as exportable/importable.
macros for marking symbols as exportable/importable.
Igor Zlatkovic <igor@zlatkovic.com>
set of utilities for the XSLT engine
interfaces for the utilities module of the XSLT engine. things like message handling, profiling, and other generally useful routines.
Daniel Veillard
Macro to check if the XSLT processing should be stopped. Will return from the function.
Macro to check if the XSLT processing should be stopped. Will return from the function with a 0 value.
Macro to check if the XSLT processing should be stopped. Will goto the error: label.
Checks that the element pertains to XSLT namespace.
Checks the value of an element in XSLT namespace.
Check that a node is a 'real' one: document, element, text or attribute.
The XSLT "vendor" URL for this processor.
The XSLT "vendor" string for this processor.
The default version of XSLT supported.
A macro to import intergers from the stylesheet cascading order.
A macro to import pointers from the stylesheet cascading order.
This is the libxslt namespace for specific extensions.
Max number of specified xsl:sort on an element.
The XSLT specification namespace.
This is Norm's namespace for SAXON extensions.
The set of options to pass to an xmlReadxxx when loading files for XSLT consumption.
Specific value for pattern without priority expressed.
Registering macro, not general purpose at all but used in different modules.
Registering macro, not general purpose at all but used in different modules.
Macro used to define extra information stored in the context
Macro used to free extra information stored in the context
Macro used to access extra information stored in the context
This is Michael Kay's Saxon processor namespace for extensions.
Macro to flag that a problem was detected internally.
Sampling precision for profiling
Macro to flag unimplemented blocks.
Control the type of xsl debugtrace messages emitted.
This is the Apache project XALAN processor namespace for extensions.
This is James Clark's XT processor namespace for extensions.
Add template "call" to call stack
Drop the topmost item off the call stack
If either cur or node are a breakpoint, or xslDebugStatus in state where debugging must occcur at this time then transfer control to the xslDebugBreak function
add a key definition to a stylesheet
add the new element list at this level of the stack.
Register the XSLT pattern associated to @cur
Allocate an extra runtime information slot statically while compiling the stylesheet and return its number
Allocate an extra runtime information slot at run-time and return its number This make sure there is a slot ready in the transformation context
Apply the xsl:use-attribute-sets
Process the xslt apply-imports node on the source node
Process the apply-templates node on the source node, if params are passed they are pushed on the variable stack but not popped, it's left to the caller to handle them after return (they may be reused).
Strip the unwanted ignorable spaces from the input tree
Apply the stylesheet to the document NOTE: This may lead to a non-wellformed output XML wise !
Apply the stylesheet to the document and allow the user to provide its own transformation context.
Process the apply-templates node on the source node
Do a copy of an attribute list with attribute template processing
Process the given attribute and return the new processed copy.
Process the given node and return the new string value.
Process the given string, allowing to pass a namespace mapping context and return the new string value.
Process the xslt attribute node on the source node
Used for to correct the calibration for xsltTimestamp()
Process the xslt call-template node on the source node
Check if the given prefix is one of the declared extensions
Check if the resource is allowed to be read
Check if the resource is allowed to be written, if necessary makes some preliminary work like creating directories
Process the xslt choose node on the source node
Unregister all global variables set up by the XSLT library
Cleanup the state of the templates used by the stylesheet and the ones it imports.
Process the xslt comment node on the source node
Compile the XSLT pattern and generates a list of precompiled form suitable for fast matching. [1] Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern
reorder the current node list accordingly to the set of sorting requirement provided by the array of nodes.
Process the xslt copy node on the source node
Do a copy of an namespace node. If @node is non-NULL the new namespaces are added automatically. This handles namespaces aliases
Do a copy of an namespace list. If @node is non-NULL the new namespaces are added automatically. This handles namespaces aliases
Process the xslt copy-of node on the source node
Create a text node
Create a result value tree
Process an debug node
Dumps a list of the registered XSLT extension functions and elements
Get the current default debug tracing level mask
Set the default debug tracing level mask
Find decimal-format by name
reorder the current node list accordingly to the set of sorting requirement provided by the arry of nodes.
reorder the current node list accordingly to the set of sorting requirement provided by the arry of nodes. This is a wrapper function, the actual function used is specified using xsltSetCtxtSortFunc() to set the context specific sort function, or xsltSetSortFunc() to set the global sort function. If a sort function is set on the context, this will get called. Otherwise the global sort function is called.
Pre process an XSLT-1.1 document element
Process an EXSLT/XSLT-1.1 document element
Implement the document() XSLT function node-set document(object, node-set?)
reorder the current node list @list accordingly to the document order
Deallocates an #xsltElemPreComp structure.
Process the xslt element node on the source node
Implement the element-available() XSLT function boolean element-available(string)
Evaluate a attribute value template, i.e. the attribute value can contain expressions contained in curly braces ({}) and those are substituted by they computed value.
Evaluate the global variables of a stylesheet. This need to be done on parsed stylesheets before starting to apply transformations
This is normally called from xsltEvalUserParams to process a single parameter from a list of parameters. The @value is evaluated as an XPath expression and the result is stored in the context's global variable/parameter hash table. To have a parameter treated literally (not as an XPath expression) use xsltQuoteUserParams (or xsltQuoteOneUserParam). For more details see description of xsltProcessOneUserParamInternal.
Check if an attribute value template has a static value, i.e. the attribute value does not contain expressions contained in curly braces ({})
Evaluate a template string value, i.e. the parent list is interpreter as template content and the resulting tree string value is returned This is needed for example by xsl:comment and xsl:processing-instruction
Evaluate the global variables of a stylesheet. This needs to be done on parsed stylesheets before starting to apply transformations. Each of the parameters is evaluated as an XPath expression and stored in the global variables/parameter hash table. If you want your parameter used literally, use xsltQuoteUserParams.
Process the expression using XPath and evaluate the result as an XPath predicate
Process the expression using XPath and get a string
Process the expression using XPath, allowing to pass a namespace mapping context and get a string
Looks up an extension element. @ctxt can be NULL to search only in module elements.
A function called at initialization time of an XSLT extension module.
Looks up an extension module element
Looks up an extension module element pre-computation function
Looks up an extension module function
Looks up an extension module top-level element
A function called at shutdown time of an XSLT extension module.
Try to find a document within the XSLT transformation context
Find strip-space or preserve-space informations for an element respect the import precedence or the wildcards
Finds the named template, apply import precedence rule.
Process the xslt for-each node on the source node
format-number() uses the JDK 1.1 DecimalFormat class: http://java.sun.com/products/jdk/1.1/docs/api/java.text.DecimalFormat.html Structure: pattern := subpattern{;subpattern} subpattern := {prefix}integer{.fraction}{suffix} prefix := '\\u0000'..'\\uFFFD' - specialCharacters suffix := '\\u0000'..'\\uFFFD' - specialCharacters integer := '#'* '0'* '0' fraction := '0'* '#'* Notation: X* 0 or more instances of X (X | Y) either X or Y. X..Y any character from X up to Y, inclusive. S - T characters in S, except those in T Special Characters: Symbol Meaning 0 a digit # a digit, zero shows as absent . placeholder for decimal separator , placeholder for grouping separator. ; separates formats. - default negative prefix. % multiply by 100 and show as percentage ? multiply by 1000 and show as per mille X any other characters can be used in the prefix or suffix ' used to quote special characters in a prefix or suffix.
Implement the format-number() XSLT function string format-number(number, string, string?)
Free up the memory used by attribute sets
Free up the memory allocated by all the elements of @comp
Free the XSLT extension data
Free the keys associated to a document
Free up all the space used by the loaded documents
Free up the memory used by XSLT extensions in a stylesheet
Free up the data associated to the global variables its value.
Free up the memory used by XSLT keys in a stylesheet
Free up the memory used by namespaces aliases
Free all the registered result value tree of the transformation
Free up a security preference block
Free up the memory allocated by @elem
Free up all the space used by the loaded documents
Free up the memory allocated by all precomputed blocks
Free up the memory allocated by @sheet
Free up the memory used by xsltAddTemplate/xsltGetTemplate mechanism
Free up the memory allocated by @ctxt
Implement the function-available() XSLT function boolean function-available(string)
Implement the node-set() XSLT function node-set node-set(result-tree) This function is available in libxslt, saxon or xt namespace.
Implement the generate-id() XSLT function string generate-id(node-set?)
Get xslDebugStatus.
Get the default security preference application-wide
Retrieve the data associated to the extension module in this given transformation.
looks up URI in extInfos of the stylesheet
Lookup a key
Find the right namespace value for this prefix, if needed create and add a new namespace decalaration on the node Handle namespace aliases
Similar to xmlGetNsProp() but with a slightly different semantic Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified, or has no namespace and the element is in that namespace. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.
This function should be called after the transformation completed to extract template processing profiling informations if availble. The informations are returned as an XML document tree like <?xml version="1.0"?> <profile> <template rank="1" match="*" name="" mode="" calls="6" time="48" average="8"/> <template rank="2" match="item2|item3" name="" mode="" calls="10" time="30" average="3"/> <template rank="3" match="item1" name="" mode="" calls="5" time="17" average="3"/> </profile> The caller will need to free up the returned tree with xmlFreeDoc()
This function analyzes @name, if the name contains a prefix, the function seaches the associated namespace in scope for it. It will also replace @name value with the NCName, the old value being freed. Errors in the prefix lookup are signalled by setting @name to NULL. NOTE: the namespace returned is a pointer to the place where it is defined and hence has the same lifespan as the document holding it.
Lookup the security option to get the callback checking function
Find the right namespace value for this URI, if needed create and add a new namespace decalaration on the node
Finds the template applying to this node, if @style is non-NULL it means one needs to look for the next imported template in scope.
Read one UTF8 Char from @utf Function copied from libxml2 xmlGetUTF8Char() ... to discard ultimately and use the original API
Provides the default state for XInclude processing
Process the xslt if node on the source node
Initialize the set of modules with registered stylesheet data
Computes all the keys tables for the current input document. Should be done before global varibales are initialized.
Initializes an existing #xsltElemPreComp structure. This is usefull when extending an #xsltElemPreComp to store precomputed data. This function MUST be called on any extension element precomputed data struct.
Check if a string is ignorable
Implement the key() XSLT function node-set key(string, object)
Try to load a document (not a stylesheet) within the XSLT transformation context
Try to load a stylesheet document within the XSLT transformation context
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.
Process and xsl:message construct
Read the stylesheet-prefix and result-prefix attributes, register them as well as the corresponding namespace.
Checks whether that stylesheet requires white-space stripping
Register a new document, apply key computations
Creates and initializes an #xsltElemPreComp
Create a new security preference block
Register a new document, apply key computations
Create a new XSLT Stylesheet
Create a new XSLT TransformContext
Find the next stylesheet in import precedence.
This is a hashtable scanner function to normalize the compiled steps of an imported stylesheet.
Process the xslt number node on the source node
Convert one number.
parse an XSLT transformation param declaration and record its value.
parse an XSLT transformation variable declaration and record its value.
parse an XSLT stylesheet attribute-set element
parse an XSLT transformation param declaration, compute its value but doesn't record it.
parse an XSLT stylesheet building the associated structures
Load and parse an XSLT stylesheet
parse an XSLT stylesheet import element
parse an XSLT stylesheet building the associated structures except the processing not needed for imported documents.
parse an XSLT stylesheet include element
parse an XSLT stylesheet output element and record information related to the stylesheet output
parse an XSLT transformation param declaration and record its value.
parse an XSLT stylesheet adding the associated structures
parse an XSLT transformation variable declaration and record its value.
parse a template content-model Clean-up the template content from unwanted ignorable blank nodes and process xslt:text
Precomputes an extension module element
Display the context of an error.
Process the xslt processing-instruction node on the source node
Apply the stylesheet to the document and dump the profiling to the given output.
This is normally called from xsltQuoteUserParams to process a single parameter from a list of parameters. The @value is stored in the context's global variable/parameter hash table.
Similar to xsltEvalUserParams, but the values are treated literally and are * *not* evaluated as XPath expressions. This should be done on parsed stylesheets before starting to apply transformations.
Registers all default XSLT elements in this context
Registers the built-in extensions
Registers all default XSLT functions in this context
Registers an extension element
Registers an extension function
Register an XSLT extension module to the library.
Registers an extension module element.
Register an XSLT extension module to the library.
Registers an extension module function.
Registers an extension module top-level element.
Registers an extension namespace
Registers the built-in extensions. This function is deprecated, use xsltRegisterAllExtras instead.
Register the result value tree for destruction at the end of the processing
Registers the test module
Register the result value tree for destruction at the end of the context
resolve the references between attribute sets.
Apply the stylesheet to the document and generate the output according to @output @SAX and @IObuf. It's an error to specify both @SAX and @IObuf. NOTE: This may lead to a non-wellformed output XML wise ! NOTE: This may also result in multiple files being generated NOTE: using IObuf, the result encoding used will be the one used for creating the output buffer, use the following macro to read it from the stylesheet XSLT_GET_IMPORT_PTR(encoding, style, encoding) NOTE: using SAX, any encoding specified in the stylesheet will be lost since the interface uses only UTF8
Apply the stylesheet to the document and generate the output according to @output @SAX and @IObuf. It's an error to specify both @SAX and @IObuf. NOTE: This may lead to a non-wellformed output XML wise ! NOTE: This may also result in multiple files being generated NOTE: using IObuf, the result encoding used will be the one used for creating the output buffer, use the following macro to read it from the stylesheet XSLT_GET_IMPORT_PTR(encoding, style, encoding) NOTE: using SAX, any encoding specified in the stylesheet will be lost since the interface uses only UTF8
Save the profiling informations on @output
Save the result @result obtained by applying the @style stylesheet to an I/O output channel @buf
Save the result @result obtained by applying the @style stylesheet to an open file descriptor This does not close the descriptor.
Save the result @result obtained by applying the @style stylesheet to an open FILE * I/O. This does not close the FILE @file
Save the result @result obtained by applying the @style stylesheet to a file or @URL
Save the result @result obtained by applying the @style stylesheet to a file or @URL
Function used to always allow an operation
User provided function to check the value of a string like a file path or an URL ...
Function used to always forbid an operation
Change the default parser option passed by the XSLT engine to the parser when using document() loading.
Set the security preference for a specific transformation
Function to set the handler for XSLT sorting for the specified context. If the handler is NULL, then the global sort function will be called
This function allow to plug a debugger into the XSLT library @block points to a block of memory containing the address of @no callback routines.
This function sets the value of xslDebugStatus.
Set the default security preference application-wide
Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing or validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL.
Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL.
Update the security option to use the new callback checking function
Function to reset the global handler for XSLT sorting. If the handler is NULL, the default sort function will be used.
Function to reset the handler and the error context for out of context error messages specific to a given XSLT transromation. This simply means that @handler will be called for subsequent error messages while running the transformation.
Set whether XInclude should be processed on document being loaded by default
Shutdown the set of modules loaded
Shutdown the set of modules loaded
function attached to xsl:sort nodes, but this should not be called directly
Signature of the function to use during sorting
A function called at initialization time of an XSLT extension module.
A function called at shutdown time of an XSLT extension module.
Retrieve the data associated to the extension module in this given stylesheet.
Precompute an XSLT stylesheet element
Implement the system-property() XSLT function object system-property(string)
Process the given node and return the new string value.
Test wether the node matches one of the patterns in the list
Process the xslt text node on the source node
Used for gathering profiling data
Display and format an error messages, gives file, line, position and extra parameters, will use the specific transformation context if available
Signature of the function associated to elements part of the stylesheet language like xsl:if or xsl:apply-templates.
Implement the unparsed-entity-uri() XSLT function string unparsed-entity-uri(string)
Unregister an XSLT extension module from the library.
Unregisters an extension module element
Unregisters an extension module function
Unregisters an extension module top-level element
Process the xslt value-of node on the source node
Search in the Variable array of the context for the given variable value.
This is the entry point when a function is needed by the XPath interpretor.
Provides the XSLT transformation context from the XPath transformation context. This is useful when an XPath function in the extension module is called by the XPath interpreter and that the XSLT context is needed for example to retrieve the associated data pertaining to this XSLT transformation.
This is the entry point when a varibale is needed by the XPath interpretor.