Questions tagged [xslt-3.0]

Use this tag for questions specific to XSL Transformations version 3.0 and no other version.


News: Since June 8th, 2017, XSLT 3.0 is a W3C Recommendation, implemented by Saxon since the release 9.8 the same week and subsequently by the releases Saxon 9.9 and Saxon 10.8 on the Java and .NET framework platform as well as by the now stable Saxon 11.5 release now available as Saxon Java 11.5 for Java, SaxonC 11.5 for C++/C, Python, PHP and as SaxonCS 11.5 for the .NET Core 6 or 7 platform and finally since 2023 in the latest Saxon 12.0 releases for Java (HE, PE, EE), C/C++, PHP, Python (SaxonC 12.0 HE, PE, EE as well as PyPi packages saxonche, saxoncpe, saxonche). XSLT 3.0 is also largely (except streaming) implemented by the current release of Altova (XMLSpy, Raptor version since 2017 release 3 or any later release).


XSLT 3.0 introduces the following new features via elements, attributes, and expressions:

References

XSLT 3 processors

  • Saxon 9.8, 9.9, 10, 11, 12 by Saxonica, exists in the free, open-source HE edition and the commercial PE and EE editions, for 9.8 all editions are available for Java or .NET framework or C/C++, the current stable releases 10.8 and 11.5 are available for Java and .NET framework; Saxon 11.5 also for as SaxonC 11.5 for C/C++/PHP/Python. The 9.9 release Java has been cross-compiled as Saxon-C 1.2 for C/C++ with bindings to be used as a PHP extension and as a Python 3 module. The latest stable Saxon releases 10 and 11 available for Java and C/C++/Python/PHP as well as via SaxonCS for .NET 5/6/7 make xsl:evaluate and functions expressions and higher-order functions available in all editions. The newest release in 2022 was Saxon 11, the first for .NET Core 5 or .NET 6, using an XSLT 3.0 based transpiler approach to convert the Java code base into C# code to be compiled and built for .NET Core 5. Unfortunately SaxonCS 11 is currently only available as the EE edition. The C/C++/Python/PHP SaxonC 11.5 and the latest Java Saxon 11.5 release have been published in February 2023. The newest release is 12.0 available since January 2023 for Java, .NET 6/7 as SaxonCS, SaxonC for C/C++/PHP/Python as well as on PyPi.org for Python 3.
  • Altova Raptor, Altova XMLSpy (the XSLT 3.0 implementation in Altova products supports the W3C recommendations of XSLT 3.0 and XPath 3.1, except streaming in XSLT 3)
  • Saxon-JS 2 is available for Node.js (npm install saxon-js, npm install xslt3) and the browser
  • Saxon HE 11 Java has also been successfully cross-compiled with the latest IKVM to .NET 6 to be usable from .NET 6 or 7 code

Online Editors

XSLT 3.0 support in editors and IDEs

Tuturials


Online Training

"What's New in XSLT 3.0: Part 1" -- A Pluralsight video-course (5.5h), by Dimitre Novatchev

"The Evolution of XPath: What’s New in XPath 3.0" -- A Pluralsight video-course (4.5h), by Dimitre Novatchev


731 questions
2
votes
1 answer

XSLT 3.0 Json-to-xml with json contain html structure

I have a Json file that contain html markup as well { "process": "Test", "title": "Json2XML_Conversion", "content": "

This need to process as title

This is child text

" } I have…
Rupesh_Kr
  • 3,395
  • 2
  • 17
  • 32
2
votes
3 answers

How to do a case insensitive lookup over a set of nodes in XSLT/XPATH?

Say I have this data: and I have this other data:
toddmo
  • 20,682
  • 14
  • 97
  • 107
2
votes
2 answers

XSLT: Run XSLT transformation within a XSLT file for specific set of nodes

Just Curious, I have two XSLT files, One is the main XSL file used for transformation, and the second has templates for a specific nodeset. Is it possible to run the transformation within another XSL file and get the results for a specific node-set?…
Jason
  • 65
  • 7
2
votes
1 answer

merge two xml files xslt 3 based on the value of common id element

Belgian Waffles $5 Two of our famous Belgian Waffles with plenty of real maple syrup 650 Strawberry Belgian…
mayela
  • 23
  • 3
2
votes
2 answers

Need help converting to XML to TXT, without changing the sequence

I need help converting the XML tree structure to text format using XSLT but without altering the sequence of nodes in the XML Sample XML is as follows XML: A1 B1
dinbo93
  • 35
  • 4
2
votes
2 answers

removing duplicate nodes XML using xslt - multiple records (xslt 2 or 3)

I have an XML with hundreds of records in this format (only 2 shown here) 470 470 015 3.446887644423149 3.446887644423149 4.049357373198344
2
votes
0 answers

XSLT 3.0 Convert String data type to Date type and apply translate to remove characters

Here is my source XML $18600.1299 15-Mar-2022 $3500.99 $670
MAT0718
  • 49
  • 5
2
votes
1 answer

Unable to get the element values dynamically using xslt inside for-each-group , group-starts-with and element name having numbers

Unable to get the values of elements which is having names with numbers in xsl yui yui yui .. …
user3898783
  • 207
  • 1
  • 4
  • 16
2
votes
1 answer

How to use tokenize function in Xpath

can we use tokenize function in XPath The general java code i use to process XSLT and XML files are : XPath xPath = XPathFactory.newInstance().newXPath(); InputSource inputXML = new InputSource(new StringReader(xml)); String expression =…
2
votes
3 answers

XSL xsl:evaluate multiple nodes

How can I make sure, that xsl:evaluate returns a sequence of nodes, in case the xPath matches multiple nodes. Suppose the following input.xml C1 C2
sboti8m
  • 45
  • 4
2
votes
1 answer

Gather all attribute-set in one stylesheet and include from principal.xsl

I will have rather many attribute-sets combinations since I work with a parsed JSON data, with flat hierarchical structure (where I need to build up the attributes content in XSL). Since I have the XSL modularized with the file principal.xsl as…
Toolbox
  • 2,333
  • 12
  • 26
2
votes
2 answers

Prefixed namespace handling in XML and XSL returns error by XML parser

I am trying to process XML/XSL using XSLT. The XML and parts of XSL contains of prefixed namespaces. My understanding is that it is enough to have the namespace declaration(s) in XSL file. The XML file must have namespace prefix, I do not have an…
Toolbox
  • 2,333
  • 12
  • 26
2
votes
2 answers

how to configure wso2esb to use Saxon 9.8 HE

I'm trying to use the XSLT Mediator using XSLT version "3.0".but i can't use following XSLT transformation.
Rest
  • 119
  • 8
2
votes
1 answer

Filter out certain XML nodes and form another XML with these nodes and their ancestors and child nodes

I have below XML data and I need to filter certain XML nodes and form another XML data with those nodes and it's ancestor nodes as well as all of it's child nodes. I am new to XSLT and tried different approach using XSLT but nothing is working. Can…
Nijith
  • 69
  • 6
2
votes
1 answer

XSLT to find all related elements

I am trying to find out if a XSLT can be used to transform the following XML (snippet as it contains more elements) so that the transformed XML only contains the content elements that are specified in the child element.
Roy Tan
  • 25
  • 2
1 2
3
48 49