Subject: Re: [xsl] Obstacles (?) to XSLT 2.0 in C++ From: Steve Ball <Steve.Ball@xxxxxxxxxxxxxx> Date: Wed, 16 Dec 2009 07:55:29 +1100 |
Back in 2008 someone asked on the libxml2 mailing list whether XPath 2.0 and XSLT 2.0 would be supported. Daniel Veillard responded: > Sorry, no support for 2.0 planned, the spec change is far too big and > intrusive. Look at the EXSLT extensions which are supported by libxslt > and xsltproc, they are likely to provide the needed extensions. libxml2/libxslt is a fundamental building block for my software, and XSLT 2.0 is very compelling (a lot of the stylesheets that I write need xsl:for-each-group), so I tried to gather interest in starting a subproject to do the implementation. A few people responded saying that would love to have XSLT 2.0 in libxslt, but didn't have the time to commit to getting it done. After that, I thought if people can't commit their time perhaps they can commit their money. I started the "LIBX" project as a commercial venture to implement XPath 2.0 and XSLT 2.0 and (eventually) merge it in to the core library. LIBX has been setup to sell this as a service, and the plan is to one day produce a product. The grand total of contributions so far is $100.00. With my contracting work, I make that amount of money before I even rub the sleep from my eyes in the morning ;-) Interesting, I only got that contribution because someone asked to provide an up-to-date compilation of libxml2 for the iPhone (the Apple supplied library is a few versions behind). This experience leads to my conclusion that very few, if any, folks are willing to pay for base technology. However, they are willing to pay for "solutions". Accordingly, my current approach is now to develop a product that solves some sort of high-level problem, but that would benefit from having a C-based XPath 2.0 and XSLT 2.0 implementation. This product is Packaged Press - a DIY ePress. What it really is is an XProc pipeline controller, implemented on top of libxml2/libxslt. Currently, the XProc implementation will be restricted to XPath 1.0; of course, the plan is to add XPath 2.0 to libxml2 at some stage in the future. My hope is that sales of the product will fund development of the library changes for XPath 2.0 support. So, Justin, I don't think lack of garbage collection has anything to do with the paucity of implementations in C/C++. As Mike Kay has already said, it has everything to do with commercial realities. In case of libxml2, the people that really matter believe XSLT 1.0 is good enough and there is a strong perception that XSLT 2.0 is too difficult (not a viewpoint I share - but it does involve a non-trivial amount of engineering). Cheers, Steve Ball On 11/12/2009, at 7:12 PM, Justin Johansson wrote: > Hi XSLT people, > > I'm wondering just what exactly-one or more (pun intended) obstacles there are to having XSL-T 2.0, XPath 2.0 and friends implemented in C++. > > (I assert that) It is desirable to be able to manipulate XML in both pull and push fashion. My understanding (please correct me if I am wrong) is that XQuery is as to pull as XSL-T is as to push. Yes there are many XQuery opi in progress for a multitude of platforms including Java, .Net and various FP languages and some with a C/C++ language base. On the other hand, XSL-T 2.0 is as good as still-born (to quote a blog by Elliotte Rusty Harold) given that there are few if any C++ based XSL-T processors that approach anywhere near the Gold Standard XSL-T 2.0 processor that is Saxon for Java (and its .Net translation). > > So just what are the obstacles, impediments, show-stoppers etc. for world-class XSL-T 2.0 processors in the C/C++ space? > > I'm very interested in feedback from this list. Perhaps some plausible issues include: > > - Lack of inbuilt garbage collection in C/C++ (which is very much a requirement when dealing with the list/sequence nature of XPath) makes implementation difficult > > - The spec(s) is(are) difficult to master so no matter what language prospective implementors are reluctant to take on the Gold Standard > > - There are no compelling reasons for business investment in alternative XSL-T implementations > > - XML processing libraries for C/C++ are disparate; where is XOM for C++ for instance? > > - XSL-T 1.0 is sufficient so who cares? > > - I'm clueless; please add your input > > Thanks for all replies, > > Justin Johansson
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Obstacles (?) to XSLT 2.0, Justin Johansson | Thread | RE: [xsl] Obstacles (?) to XSLT 2.0, Michael Kay |
Re: [xsl] extension functions retur, David Carlisle | Date | RE: [xsl] Obstacles (?) to XSLT 2.0, Michael Kay |
Month |