You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by Shane Curcuru <sh...@yahoo.com> on 2003/02/21 01:04:28 UTC
[xslt20][xpath] Overview of upcoming XPath AST work
[Note: the xslt20 branch is *not* the main trunk code that's going forward
to the 2.4.x builds, so if you're only concerned with the current work, you
can ignore most "[xslt20]" messages]
This is just a heads up to Xalanites watching the xslt20 branch (which is
future code for our implementation of the XSLT 2.0 and XPath 2.0 specs),
about our work on the stylesheet construction end of Xalan. Namely, we're
working on getting the code in the xpath_rwapi area more complete, and then
will plan to use that as the base for our XSLT and XPath building in Xalan
in the future. I'll outline the very basic plan now, and you'll be hearing
a lot more from us soon on xalan-dev.
---- Task scope ----
Implement new Stylesheet parsing and construction engine for both XSLTC and
Xalan, using a common Abstract Syntax Tree to represent the
stylesheet. Provide tooling API's to manipulate the AST itself. Integrate
all of this into the Xalan and XSLTC runtimes in the xslt20 branch (only).
---- Lead Developers ----
- Shane_Curcuru@yahoo.com working on Xalan integration, testing, coordination.
- Santiago.PericasGeertsen@sun.com working on XSLTC integration and design
merging.
- Lionel Villard <vi...@us.ibm.com>, created the original rwapi_xpath
implementation, focusing on AST and tooling needs.
- Ramesh.Mandava@sun.com, working on XSLTC side and other spec integration.
And of course the unseen hand of Scott (Boag), as always.
---- Current Status ----
The xpath_rwapi directory includes a prototype implementation of an XPath
2.0 parser and AST based on a draft of the XPath 2.0 specification. It is
generated from the actual grammar in the spec by a system of stylesheets
and a combination of jtree and javacc. It is not complete, but you can
construct XPath AST's in a limited way and we even have an automated test
running (...qetest.rwapi.XPathASTTestlet on main trunk).
We're both planning our overall work and continuing to implement the
complete XPath 2.0 AST now (well, as complete as the draft of the spec we
have, of course). We're also working out some design issues so that we can
end up sharing the same interfaces, and hopefully partial implementations,
of this in both XSLTC and Xalan.
We'll also be working on combining the Stylesheet or XSLT construction to
also use a common AST with XPaths, so that we can represent the semantic
meaning of a stylesheet in a single way at construction time. Obviously
the runtime implementations are different - either translet classes or
interpreted code - but we hope to take this opportunity to share much much
more code between the two halves of our project.
Hopefully we can do much of this work happily in parallel with other major
changes on the xslt20 branch... although at some point, we may need a
period of integration.
Comments welcome of course; I'll have some more detailed
questions available in a few days including some specific 'user polls'
about how folks use extensions and what-not in the current Xalan. Two
areas we may need to change designs on are how we handle namespaces
internally and what root classes the AST derives from (Xalan uses the w3c
Node; XSLTC uses it's own generic Node-like stuff).
Reminder: this work only affects the xslt20 branch, not the main
development trunk or any 2.x builds.
- Shane