The purpose of this document is to express the requirements of the XPath data model in Eiffel terms. This makes it easier to see what is needed, and whether compatibility with the exisiting tree structure can be maintained.
I have written a class skeleton for each of the seven XPath node types. In addition, I have factored commonalities out into separate classes. These may or may not form a basis for implementation classes. I am thinking of copying Saxon's tinytree which implements the flyweight design pattern.
Note that this is not user documentation. That is yet to be written.
Need to write an whitespace stripper filter.
The following infoset items must be creatable from the events:
In many cases, types are tentative:.
A lot of the above is out of date - most of the information is now in the implementation.
XPath 2.0 deprecates the namespace axis, and XQuery does not support it at all. Implementations are allowed to drop support for the namespace axis. I have never seen it used, and indeed DocBook does not make use of it, so let us drop it.
Allows id function in basic mode?DTD Validation
Do not support disable output escaping (it's evil).
Basic XSLT processor - otherwise need to process XML Schemas
Support serialization option.
Retain original namespace prefix.