Hi Joseph, On Tue, Sep 12, 2023 at 7:11 PM Joseph Kesselman <[email protected]> wrote:
> When IBM implemented 3.0 we started with the API and data model work needed > to migrate Xalan to the XSLT3 data model rather than from the "what could be > back-ported to 2.0" angle I believe, IBM had produced an XSLT 2.0 processor and not 3.0. Please correct me if I'm wrong. I still do have IBM's XSLT 2.0 implementation binaries with me, having got them from a team member from IBM's XSLT 2.0 team, within the year 2012 I guess. I did work with IBM till 2015 for few years and I've enjoyed those years of my work :) > In addition to new utilities and schema data types, 3.0 changes some > semantics, specifically in removing the distinction between node sets and > temporary trees (which has always been a bit > frustrating). It isn't clear whether we could get away with that one and > still claim 2.0 conformance; negative tests which detect the difference would > fail. Have you been avoiding that (eg > building automatic conversion into your new functions), or are you working to > the 2.0 definitions? Are you referring to XPath 3.1 (data) type promotion (ref, https://www.w3.org/TR/xpath-31/#id-type-promotion-and-operator-mapping), required during evaluations of few XPath operators and for function calls? This has been implemented to a great extent, on XalanJ dev branch repos xalan-j_xslt3.0. > (My own highest architectural priority would be getting us into cursors > rather than DTM iterators, which would give us a path toward 3.0 semantics > and make running over data other than DTM > much simpler... but I'm biased; the cursor cutover was my baby, all those > years ago. And it's not a small change.) Currently, on XalanJ dev repos branch xalan-j_xslt3.0, I'm handling a sequence of XDM items using two data structures together (XNodeSet and ResultSequence). The XalanJ's XSLT 3.0 implementation may be achieved in a simpler way, if we had a single data structure to work with for XDM sequence. I think, we cannot discard XalanJ's XNodeSet, since lot of XalanJ functionality is already using that. And we need to have something else as well, to handle an XDM heterogeneous sequence (having ResultSequence class, helps us achieve that). -- Regards, Mukul Gandhi --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
