[xml] XPath 2, XSLT 2
- From: Steve Ball <Steve Ball explain com au>
- To: xml gnome org
- Subject: [xml] XPath 2, XSLT 2
- Date: Wed, 26 Nov 2008 07:01:52 +1100
First the good news: I've started working on implementing XPath 2 in
libxml2 and XSLT 2 in libxslt. The first thing I've tackled in XPath 2
is sequences. The library can now parse the following expressions and
returns the correct result:
count(("a", "b", "c")) := 3
count(("a", 2, 3.0, "d")) := 4
count(/) := 1
count(/*) := 1
count((/*)) := 1
count((/, /*)) := 2
count((//p, //chapter)) := 7
xmlSequence has been added as an object type, in addition to the
existing types, including xmlNodeSet and value tree. The reason for
this is to maintain backward-compatibility (which is require for XSLT
backward-compatible processing mode). The existing XPath APIs
implement XPath 1 syntax and semantics. I've added a new API to create
an XPath parser with XPath 2 syntax. This means that existing
applications will need to be updated to use XPath 2; by default they
will continue to use XPath 1.
On the XSLT 2 front I've started work on implementing xsl:for-each-
group. Of the four grouping algorithms the first to be implemented
will be group-adjacent. From the work I've done with XSLT 2 so far,
this feature is one of the most profound improvements over XSLT 1, so
there will be a lot of bang for the buck.
Now for the not bad, but interesting news! Since no one else is
volunteering their time to do this work, I've decided to see if anyone
will volunteer their money instead. I've setup a project within my
company to undertake this development and to fund it we are offering a
suite of professional services. You can read more details about this
at http://www.explain.com.au/libx/.
When the XPath 2 and XSLT 2 implementation has been completed all of
that code will be contributed back to the Gnome libxml2/libxslt
project. In the meantime, to get early access to the code you can sign-
up for our Professional Developers Programme, see http://www.explain.com.au/libx/programmes.html
. You can join as an individual, or businesses can join up to get
access for multiple employees. The more people and businesses join up,
the more resources I'll have to further work on the XPath 2/XSLT 2
implementation.
Reporting on progress to the general community with messages like this
one will be irregular. However, there will be a regular and detailed
reports to members of the Professional Developers Programme.
Once the implementation is complete I'm planning on going further by
creating a product that offers features beyond those in the XPath and
XSLT standards. This will include transparent features, such as
performance optimisations, as well as custom extensions. I'll know the
code pretty well by then, so providing professional services, such as
support, customisations and application development, won't be too
difficult.
I hope the community finds my approach to funding this work
acceptable. If you don't like it, then feel free to send me a message
(preferably along with an offer to help). If you don't mind it but
don't have the money then feel free to send a message of encouragement
(and tell your friends and neighbours to sign up ;-).
Regards,
Steve Ball
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]