- From: Sharon Adler <sca@us.ibm.com>
- Date: Thu, 25 Oct 2007 14:01:51 -0400
- To: public-xml-processing-model-comments@w3.org
- Message-ID: <OFEF6063EA.ABEE8E3E-ON8525737F.00606F49-8525737F.00630C67@us.ibm.com>
To: XML Processing Model WG: From: XSLT WG Subject: XSLT Comments on XProc: An XML Pipeline Language - http://www.w3.org/TR/xproc/ The XSLT WG has agreed that the following comments represent the position of the WG on the XProc: An XML Pipeline Language Last Call document. 1. In using full XPath 1.0 (or 2.0) the XProc specification has some of the same problems with large documents regarding streaming as we have seen with with XSLT. Streaming is an important use case for XML processing in general and in specific any pipeline language should make some provision for streamability. We also suggest that you consider adding an indication for each step specifying whether the step is streamable or not. 2. The "Required Steps" in the "Standard Step Library" includes a large number of specific tasks that typically have been addressed by XSLT: For example: - rename namespaces - compare --> two documents - insert --> insert data before/after some nodes - delete --> a subtree - rename --> a node - replace --> replace a subtree with another subtree - pack --> aka. merge two documents - set attributes --> attributes manipulation We note that one of the Required Steps also performs an XSLT Transformation. The XSL WG has grave concerns about the duplication of functionality. The WG would be extremely disappointed if this were the start of yet another transformation language. We are not sure how these constructs would interact with XSLT. We could understand if the tasks overlapping with XSLT functionality would have guaranteed streamability; however this is not the case. For example, in section 7.1.18 Rename, "match" is an XSLT MatchPattern that, in the general case, is not streamable. 3. The XProc specification does not make it clear if parallel executions are handled. (Currently there is implicit parallelism based on connection between steps.) This would be a problem for any task involving multiple processing steps on top of streams. 4. We think it's shortsighted to be using XPath 1.0 rather than 2.0. At the very least, using XPath 2.0 should not be non-conformant. 5. We think it's wrong that support for XSLT 1.0 should be mandatory and XSLT 2.0 optional. We would suggest that XProc processors be required to support at least one XSLT version without specifying which one. As currently specified, XProc is storing up a problem for itself in the future when XSLT 1.0 starts to fade into obsolescence. 6. Having two separate tasks (step types?) for XSLT 1.0 and XSLT 2.0 suggests a poorly thought-out strategy for versioning. Version control surely affects processors other than XSLT? A more general mechanism might be to have standard attributes of a task/step that determine the version of the specification and/or implementation required for execution of this step (allowing users to take the default if they don't care). Thank you for giving us the opportunity to comment on your specification. We are anxious to work with you all to resolve these concerns. Sharon C. Adler Senior Manager, Extensible Technologies IBM Research PO Box 704, Yorktown Heights, NY 10598 tel: 914-784-6411 t/l 863 fax: 914-784-6324
Received on Thursday, 25 October 2007 18:02:18 UTC