Comments on XPath Streamable Subset

  These are comments on

http://www.w3.org/TR/2010/WD-xmldsig-xpath-20100831/

XML Signature Streaming Profile of XPath 1.0

As I'm sure you are aware, you are not the only people interested in 
streamed processing of XPath expressions. For example, XML Schema 1.0 
also defined a subset of XPath 1.0 for use in XSD integrity constraints, 
and the major factor influencing the design of this subset was 
streamability. (The other factor was perhaps perceived cost of 
implementation.)

In a sense, the XSLT "match pattern" syntax, another simple subset of 
XPath, was also designed with similar factors in mind, though it 
actually allows the use of unconstrained XPath expressions in predicates 
and is therefore not fully streamable.

The XSL WG has been working for the last couple of years on streaming 
facilities for XSLT, which of course includes streamable XPath 
expressions and streamable XSLT match patterns within the language.

Clearly there is a great deal of commonality in all these different 
efforts, but also a large number of arbitrary differences in the solutions.

I haven't fully understood the rationale behind some of the choices you 
have made, such as allowing the following and following-sibling axes 
while disallowing preceding and preceding-sibling; or why you allow the 
abbreviated step ".." but not the explicit use of the parent axis. 
Perhaps this indicates that you have a processing model in mind that 
hasn't been clearly articulated.

But the main substance of my comment (endorsed by the XQuery and XSL 
WGs) is not on the technical detail, but on the procedural question: W3C 
is producing far too many specifications that contain a variant, subset, 
or profile of XPath, and this cannot be in the interests of the user or 
the implementor, both of whom are typically working with many products 
and many specifications at the same time. So this is a plea for 
coordination.

Michael Kay

Received on Tuesday, 5 October 2010 14:46:51 UTC