XPath, XSLT and XQuery 4 - What’s in it for me?
As active members of the QT4 community group we would like to show and explain new important key concepts as well as smaller quality of life changes coming with XPath, XSLT and XQuery 4.0.
The session will be include hands-on tutorials in order to further familiarise with the above.
We will likely prepare small examples that can run in “fiddles” to illustrate the most important parts. This will also allow us to gather some feedback.
To give you some idea what this might entail (given we have enough time).
For XSLT
- Simple syntactic sugar additions
xsl:if/(@then|@else),(xsl:when|xsl:otherwise)/@select,xsl:chooseetc.- Enclosed modes
- Declared item types
- Map and array construction
- Record types and xsl:record
- Templates with map and array type matching
For XPath / XQuery
- Additions to conditional syntax (
otherwise,ifwithoutelse) - String templates (not string constructors)
- Additions to
letand for - Option arguments
- Context value
- The pipeline and the “arrowbang” operator
- Generalised nodes and lookup operators (JNodes)
- Additions to the type system:
recordandenum - Explain map key order
- Destructuring statements
- New higher-order functions (
do-until, partial-apply) - JSON and CSV support
- New map and array functions
fn:apply-templates
Juri Leino is a software gardener from Berlin with over 15 years of experience in web development. In most recent years he has joined the exist-db project as a core developer focussing on the XQuery runtime. Next to consulting for exist-solutions and jinntec he also maintains and develops node-exist and gulp-exist and created XQuery libraries like xbow, exist-jwt and dicey.
A Cambridge engineer by background, John Lumley spent the
majority of his career as one of the founding members of HPLabs
Bristol. Latterly he specialised in XSLT-based document
engineering, in which he subsequently gained a PhD in early
retirement. Rarely happier than when writing XSLT to write XSLT,
he spent the next several years helping Saxonica, including
developing the XSLT-based XSLT compiler now used in SaxonJS. Now
in proper retirement he still likes to 'potter' with XSLT and is
currently an active member of both the QT4 and the Invisible XML
Community Groups.