[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: The philosophical implications of an XSLT processo
Actually, I have done an XSD validator in XSLT - I got it to a fairly advanced stage but never released it. It's described here: https://www.saxonica.com/papers/markupuk-2018mhk.pdf XSLT 3.0 gives us most of the data structures needed for this kind of application, but it still has one significant problem which I've tried hard to find ways around, with limited success: making a small change to a large tree is expensive. The techniques used in other functional languages to get around this -- specifically, data structures such as immutable hash tries -- are difficult to apply to XML for two main reasons: (a) the tree model has parent pointers (so children copied to a new parent need to be physically copied), and (b) nodes have identity -- a copy of a node can be distinguished from the original. I think that to get this kind of application up to the speed of equivalents in other languages, we need an XML data model without these expensive properties. And probably without namespaces as well, because namespaces make everything three times as expensive. Michael Kay Saxonica > On 21 May 2020, at 17:19, Roger L Costello costello@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Hi Folks, > > Michael Kay reports that, within a few weeks, Saxonica will be releasing an XSLT processor implemented in XSLT. > > That will be a key event. > > Here is one philosophical implication of that event. > > Philosophical Implication #1 > > Up to this period in time, it has been believed that "system" applications -- such as XSLT processors -- which process XML documents must be written in a non-XML language such as Java, C#, C++, C, or some other imperative language. It was believed that XML languages such as XSLT were not sufficient in speed and/or language facilities to handle the complex processing that is required of a compiler or other system-level application. Those were false beliefs. Saxonica has created a proof by counterexample that they are false beliefs. > > That changes the world. > > So ... it's time to do this: > > - implement an XML Schema validator using XSLT > - implement an RDF ontology tool using XSLT > - implement a DFDL processor using XSLT > - and many others. > > What are the other philosophical implications of an XSLT processor implemented in XSLT? > > /Roger
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|