Kurt Cagle: XSLT2 on .Net

XSLT is different from API programming (very true).  XSLT exists in virtually every language. 

He's talking about problems with XSLT v1... ugh!  I'm having painful flashbacks.  Poor string handling, recursion,... ouch!

Saxon (6.5)
Most compliant XSLT 1 compliant.  Java based...

In case you haven't heard EXSLT is an extended XSLT that adds some new functions... it became the basis for the XSLT 1.1 pseudo-spec (it ended up being recalled because it became apparent that they should build a new spec v2).  It's definitely a stop gap.

XSLT 2.0
Expected in a year or more.  Spec probably won't change much...

Here's the problem... “to understand a forest you must understand obviously a tree, but a forest is more than a tree; it is a bunch of living organisms.”  This was the problem.  XPath has flaws which is why they decided to rewrite the spec.  XPath 2.0 implements sequences (a linear collection of objects not necessarily nodes and not necessarily a collection of objects of the same type).  Sequences can be strings, numbers and object references.  They've fixed XPath.  nodeset() function is no longer needed.

You can set up your own list of string values (for instance) sort those values and store the result then use the list to loop through the values and lookup each item in the XML data document and do something with the looked up data.

Regular expressions are supported in both XPath 2 and XSLT 2.  Let's you do split on a string and return a sequence...

[I want this... this is way cool!  Since Rory disappeared for awhile, he missed all the coolness... I bet he's totally lost... of course, if you're not here, it's not as funny.  BTW, I'm recording... now all I need is  destination for the recordings.]

He showed us an example of reading a comma delimited file and producing an XML document.  Cool!

It can be used to read/write SOAP doc and pull/push it from web service. 
Multiple docs can be produced!
Support conditional expressions (IIF in VB and the ?: operator in C#/Java/Javascript/C/etc.)
Build functions in XSLT2
Date functions
Schemas
Set manipulation
String functions

Saxon.Net implements the XSLT2 on .Net... conversion of the Saxon java project. 

Print | posted on Wednesday, October 20, 2004 9:51 PM

Feedback

No comments posted yet.
Title  
Name
Email (never displayed)
Url
Comments   
Please add 1 and 3 and type the answer here: