Changes

Jump to navigation Jump to search
117 bytes added ,  14:20, 20 July 2022
no edit summary
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Code|'''xslt:processor'''() as xs:string}}<br />
|-valign="top"
| '''Summary'''
|Returns the name of the applied XSLT processor, or the path to a custom implementation (currently: "Java", "Saxon EE", "Saxon PE", or "Saxon HE").<br />
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Code|'''xslt:version'''() as xs:string}}<br />
|-valign="top"
| '''Summary'''
|Returns the supported XSLT version (currently: "1.0" or "3.0"). "Unknown" is returned if a custom implementation was chosen.<br />
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|xslt:transform|$input as item(), $stylesheet as item()|node()}}<br />{{Func|xslt:transform|$input as item(), $stylesheet as item(), $params as map(*)?|node()}}<br />{{Func|xslt:transform|$input as item(), $stylesheet as item(), $args as map(*)?, $options as map(*)?|node()}}
|-valign="top"
| '''Summary'''
|Transforms the document specified by {{Code|$input}}, using the XSLT template specified by {{Code|$stylesheet}}, and returns the result as node. {{Code|$input}} and {{Code|$stylesheet}} can be specified as<br />
[[Catalog Resolver|XML Catalog files]] will be considered when resolving URIs. Variables can be bound to a stylesheet via {{Code|$args}} (only strings are supported when using XSLT 3.0 and Saxon). The following {{Code|$options}} are available:
* {{Code|cache}}: cache XSLT transformer (speeds up repeated transformations, but increases memory consumption)
|-valign="top"
| '''Error'''
|{{Error|error|#Errors}} an error occurred during the transformation process.
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|xslt:transform-text|$input as item(), $stylesheet as item()|xs:string}}<br />{{Func|xslt:transform-text|$input as item(), $stylesheet as item(), $params as map(*)?|xs:string}}<br />{{Func|xslt:transform-text|$input as item(), $stylesheet as item(), $params as map(*)?, $options as map(*)?|xs:string}}
|-valign="top"
| '''Summary'''
|Transforms the document specified by {{Code|$input}}, using the XSLT template specified by {{Code|$stylesheet}}, and returns the result as string. The semantics of {{Code|$params}} and {{Code|$options}} is the same as for [[#xslt:transform{{Function||xslt:transform]]}}.<br />|-valign="top"
| '''Error'''
|{{Error|error|#Errors}} an error occurred during the transformation process.
==xslt:transform-report==
 
{{Mark|Introduced with Version 10.0:}}
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|xslt:transform-report|$input as item(), $stylesheet as item()|xs:string}}<br />{{Func|xslt:transform-report|$input as item(), $stylesheet as item(), $params as map(*)?|xs:string}}<br />{{Func|xslt:transform-report|$input as item(), $stylesheet as item(), $params as map(*)?, $options as map(*)?|xs:string}}
|-valign="top"
| '''Summary'''
|Transforms the document specified by {{Code|$input}}, using the XSLT template specified by {{Code|$stylesheet}}, and returns the result a map with the following keys:* {{Code|result}}: The transformation result: A One or more document node nodes, or (if the result cannot be converted to XML) an item of type {{Code|xs:untypedAtomic}}.* {{Code|error}} (optional): An error string.* {{Code|messages}}: Info Informational output generated with the by {{Code|xsl:message}} elementelements: A sequence of arrays. The arrays consist of XML elements, containing the or (for those messages as that cannot be converted to XML elements or ) items of type {{Code|xs:untypedAtomic}}.The semantics of {{Code|$params}} and {{Code|$options}} is the same as for [[#xslt:transform{{Function||xslt:transform]]}}.<br />For the moment, messages can only be returned with recent versions of Saxon.|-| '''Error'''|* {{ErrorCode|error|#Errors}} (optional): An error string, which would be raised as an error occurred during by the transformation processother functions of this module.
|}
==Examples==
'''Example 1: Basic XSL transformation , with dummy document XML and without parameters''' '''Query:'''<syntaxhighlight lang="xquery">xslt:transform-report(<dummy/>, 'basic.xslt')</syntaxhighlight> '''basic.xslt'''<syntaxhighlight lang="xml"><xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="/">123</xsl:template></xsl:stylesheet></syntaxhighlight> '''Result:'''<syntaxhighlight lang="xml">123</syntaxhighlight> '''Example 2: XSLT transformation of an input documentsupplied as nodes'''
'''Query:'''
(: Outputs the result as html. :)
declare option output:method 'html';
(: Turn whitespace chopping off. :)
declare option db:chop 'no';
let $in :=
</syntaxhighlight>
'''Example 2: Textual XSL transformation''' '''Query:'''<syntaxhighlight lang="xquery">xslt:transform-text(<dummy/>, 'basic.xslt')</syntaxhighlight> '''basic.xslt'''<syntaxhighlight lang="xml"><xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="/">123</xsl:template></xsl:stylesheet></syntaxhighlight> '''Result:'''<syntaxhighlight lang="xml">123</syntaxhighlight> '''Example 3: Assigning a XSL transformation with variable to an XSLT stylesheetassignment'''
'''Query:'''
! width="110"|Code
|Description
|-valign="top"
|{{Code|error}}
| An error occurred during the transformation process.
=Changelog=
;Version 109.07* Added: [[#xslt:transform-report{{Function||xslt:transform-report]]}}
;Version 9.2
;Version 9.0
* Updated: [[#xslt:transform{{Function||xslt:transform]]}}, [[#xslt:transform-text{{Function||xslt:transform-text]]}}: {{Code|$options}} argument added.
* Updated: error codes updated; errors now use the module namespace
;Version 7.6
* Added: [[#xslt:transform-text{{Function||xslt:transform-text]]}}* Updated: [[#xslt:transform{{Function||xslt:transform]] }} returned error code
;Version 7.3
* Updated: $xslt:processor → [[#xslt:processor{{Function||xslt:processor]]}}, $xslt:version → [[#xslt:version{{Function||xslt:version]]}}
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu