Contents
- Summary
- Bibliographic Information
- From the W3C Team Comment
- About W3C Member Submissions
- Principal References
W3C has acknowledged receipt of a Member Submission for the draft XML Pipeline Language (XPL) Version 1.0 specification from Orbeon, Inc. The XPL XML Pipeline Language defines an XML vocabulary for describing a processing model for XML components, particularly with respect to XML Infosets.
The purpose of Orbeon's XPL submission is described as an attempt "to advance work around an XML pipeline language, also known as XML processing model." It responds especially to two W3C Notes previously published in 2002 and 2004. The specification as submitted lists a number of open issues, some of which are raised in the W3C XML Processing Model Requirements Note of 05-April-2004.
An XPL program or program in the XPL language "is a well-formed XML document whose syntax is well-formed XML conforming to the Namespaces in XML Recommendation. An XPL program defines orchestrated sequences of operations on XML Information Sets (Infosets). Individual operations are encapsulated within components called XML processors. Operations include production, consumption, and transformation of XML Infosets. An XPL program supports unconditional operations, and may support as well conditions, loops, and change of control following runtime errors."
Motivation for XPL's design comes from a desire to address interoperability: "A growing number of specifications describe operations on XML documents. The best-known specification is XSLT, a language designed to transform XML documents into other XML documents. There are other such specifications, including XQuery, validation languages like RELAX NG and XML Schema. No current specification adequately addresses the interoperability of those specifications from the point of view of the XML Infosets they produce or consume, [and] XPL addresses this problem."
The XML Pipeline Language, as summarized in the W3C Staff Comment, is a systematic attempt to address the well-recognized need for a way of specifying XML processing as an orchestrated connection of simple processing steps. It consists of an XML language for specifying a configuration of infoset creation, processing and serialization steps, in terms of their identity and the connection of their input(s) and output(s). Configuration options are straight-line sequences, choices and for-each iteration, the latter two controlled by XPath expressions."
An XPL "XML processor is composed of: (1) A set of inputs and outputs, defining how the XML processor interfaces with an XPL program; (2) A behavior, defining tasks performed by the XML processor during the execution of an XPL program. Inputs and outputs connect an XML processor instance to the rest of the pipeline. Each input may provide an XML Infoset to the XML processor instance. Each output may provide an XML Infoset produced by the processor instance."
Processing Model: "The XPL processing model is based on declarative and lazy evaluation models. This means that unlike most imperative programming languages, processing order is determined by first considering the results to be produced, and then walking down a chain of dependencies to determine what statements must be executed. The benefit of lazy evaluation and declarative programming is that they have more potential for allowing implementations with different levels of optimization."
Inclusions: "XPL does not have any particular construct for inclusions or imports. However, a compliant XPL implementation may support a subset of XInclude. If it does, it should support at a minimum the xi:include element with the parse attribute either missing or set to xml, and without any other attributes. Whether the XPL implementation itself supports XInclude or not, it must allow xml:base attributes on any of its elements, and resolve relative URLs according to the XML Base specification."
XML pipeline processing is attracting increased interest, including use in Part 10 (Validation Management) of the ISO/IEC 19757 project on Document Schema Definition Languages (DSDL). A recently published draft (PDTR) presents three candidate technologies based upon pipelining techniques for use in DSDL validation manangement.
Bibliographic Information
XML Pipeline Language (XPL) Version 1.0. By Erik Bruchez (Orbeon, Inc) and Alessandro Vernet (Orbeon, Inc). W3C Member Submission. 11-April-2005. Version URL: http://www.w3.org/Submission/2005/SUBM-xpl-20050411/. Latest version URL: http://www.w3.org/Submission/xpl/.
Related: XML Processing Model Requirements. W3C Working Group Note. April 05, 2004. Edited by Dmitry Lenkov (Oracle Corporation) and Norman Walsh (Sun Microsystems, Inc). Version URL: http://www.w3.org/TR/2004/NOTE-proc-model-req-20040405/. Latest version URL: http://www.w3.org/TR/proc-model-req/. "This document contains requirements for the development of XML Processing Model and Language, which are intended to describe and specify the processing relationships between XML resources."
From the W3C Team Comment
Henry S. Thompson, W3C staff contact for the XML Core Working Group, provided the following comment on the XML Pipeline Language (XPL) Version 1.0 Submission:
Relationship to W3C Work: The submission makes extensive use of the XML Infoset and XPath, both the existing version 1.0 Recommendation and the forthcoming version 2.0, in ways which are consistent with those specifications.
The submission correctly points out its relationship with two existing Notes: XML Pipeline Definition Language Version 1.0 and XML Processing Model Requirements.
Next Steps: A possible next step would be the creation of an XML Processing Model Working Group. If such a Group is created, then this submission would be brought to their attention. Otherwise, some determination will have to be made as to where responsibility for XML processing model issues resides within the W3C.
W3C members with an interest in XML processing model issues and supportive of the creation of a Processing Model Working Group may wish to discuss the issue with other Advisory Council members..."
About W3C Member Submissions
Member Submissions, in addition to Team Submissions to W3C, are acknowledged by W3C upon receipt, but acknowledgment of a Submission request does not imply that any action will be taken. The W3C Member Submission process "allows Members to propose technology or other ideas for consideration by the Team. After review, the Team may publish the material at the W3C Web site. The formal process affords Members a record of their contribution and gives them a mechanism for disclosing the details of the transaction with the Team (including IPR claims). The Team also publishes review comments on the Submitted materials for W3C Members, the public, and the media..."
Other W3C Member submissions from 2005 include Timesheets: XML Timing Language, submitted by Helsinki University of Technology); Semantic Web Rule Language First-Order Logic (SWRL FOL), submitted by National Research Council of Canada, Network Inference, and Stanford University; Web Forms 2.0, submitted by Opera Software ASA and Mozilla Foundation; XML Japanese Profile (Second Edition), submitted by Xerox, Panasonic, Toshiba, GLOCOM, Academia Sinica, and Alis Technologies.
Principal References
- XML Pipeline Language (XPL) Version 1.0 Submission request. Submitted by Omar Tazi, February 14, 2005.
- XML Pipeline Language (XPL) Version 1.0. W3C Member Submission.
- W3C Team Comment on XML Pipeline Language (XPL) Version 1.0 Submission. By Henry S. Thompson.
- Contact: Inquiries about the Orbeon submission should be directed to Erik Bruchez.
- Orbeon Inc.. Orbeon is an "XML Service Company providing XML training and XML consulting, as well as professional production support for PresentationServer, an open-source product. Training and consulting is provided by the same XML specialists who created PresentationServer. Orbeon PresentationServer (OPS) is an open source J2EE-based platform for XML-centric web applications. OPS is built around XHTML, XForms, XSLT, XML pipelines, and Web Services, which makes it ideal for applications that capture, process and present XML data..."
- XPL on the ObjectWeb wiki
- Acknowledged Member Submissions to W3C
- Related resources on (XML) pipelines:
- XML pipelines projects. From "XML Processing Model Working Group," by Norm Walsh. Blog Volume 8, Issue 138 (Octpber 27, 2005, modified 17 Nov 2005 or later).
- "Markup Technology has designed an innovative extensible framework, MT Pipeline, for the pervasive use of XML both inside and outside the enterprise. The Markup Technology XML Pipeline Framework is a new enterprise-class XML application development and execution framework. It supports a high performance approach to combining XML data collection, transformation and distribution to implement applications and provide web services. By addressing the need for XML processing it provides the key enabling technology for the next phase of development of XML. MT Pipeline is equally at home providing information integration within the enterprise (XML-based EAI) or providing XML-defined services outside the enterprise (Web Services)." On May 25, 2005 at XML Europe (XTech), Henry Thompson presented "MT Pipeline: A Public Service and a New Product" in a product presentation. The showcase server is a free public XML transformation server, supporting pipelines for versioning and robust XInclude processing. It allows you to access schema-validation-based information in subsequent stages of processing... [for example,] one pipeline does absolutisation of relative URIs located via schema validation. The important point from the user perspective about these pipelines is that they require no programming — all the functionality is available from pre-built components." Other details: "Showcase of Useful Pipelines from Markup Technology."
- XML Pipeline Definition Language Version 1.0. W3C Note. 28-February-2002. By Norman Walsh and Eve Maler (Sun Microsystems, Inc). See also the news story "W3C Publishes XML Pipeline Definition Language Version 1.0" and Henry Thompson's paper "Re-Interpreting the XML Pipeline Note: Adding Streaming and On-Demand Invocation."
- "Sun Releases XML Pipeline Definition Language Controller Implementation." News story 2002-03-12.
- XPipe: Towards the industrialization of XML processing. SourceForge Project. Latest (?) version 0.6, February 3, 2002.
- Smallx XML Infoset and Pipelining Technology. Alex Milowski. java-net Project. April 2005. "Smallx is a library and set of tools that is being developed to process XML infosets. It has two distinct features in that the infoset implementation allows streaming of documents and that processing of infosets can be accomplished using a concept called pipelines. The library contains a full compliment of technologies, including XPath and XSLT. Pipelines provide the ability to chain together different components that perform different tasks to process a XML document. Some of these tasks might be decision points in the processing while other might transform the input (e.g. XSLT). All components in the pipeline have the ability to stream the infoset it they so choose..." See the Release 2005-3 of May 24, 2005, and the XML Pipelines Version 1.0 Working Draft specification.
- "XML Pipelining with Ant." By Michael Fitzgerald. From XML.com (January 28, 2003).
- SXPipe: Simple XML Pipelines. By Norm Walsh. June 20, 2004; modified 18 Feb 2005. "SXPipe is a language for building Simple XML Pipelines and a Java toolkit that implements it. This is hardly a new idea; a quick web search will turn up a number of similar projects..." See also "Why Pipelines?" and the java.net Project web site.
- Jakarta Jelly XML Pipelines. "Rather like the Cocoon project, Jelly also supports the concept of XML pipelines. The idea in an XML pipeline is for XML events to be created by some generator and then flow through multiple filters, transformers or processors to some ultimate output..."
- Document Schema Definition Languages (DSDL) — Part 10: Validation Management. Committee Draft Technical Report. ISO/IEC PDTR 19757-10. Working Draft Status (only), for review and comment. Copyright (c) ISO/IEC 2005. 20 pages. The documents combines the three submissions on the subject of using pipelining techniques to tackle Validation Management, released in the form of a Preliminary Draft Technical Report, to use as the basis for a discussion on the potential role of pipelining techniques for validation manangement at the SC34/WG1 meeting of 2005-05 Amsterdam. See also the main reference to DSDL Part 10.
- 1060 NetKernel. Originally from HP, NetKernel "offers a coherent operating abstraction which is the convergence of core ideas of both the Web and Unix; it provides a straightforward generalization of the Web architecture, but directed inwards at the finer granularity of systems development." See the XML.com article "Introducing NetKernel," by Peter Rodgers.
- DPML. Declarative Process Markup Language (DPML) is "a declarative XML processing language that is itself XML. It is more than a simple transform pipelining language as it allows conditional processing, loops, sub-routines, and exception handling. It considers XML documents as the basic data quantum and URIs as the method of addressing them."
- "XML Pipelines: What, Why, Where, How?" - "Employing a pipeline approach to processing XML is increasingly regarded as a robust and flexible design pattern for XML systems. This guide presents an interactive discussion of the flexible ways in which XML pipelines may be developed on NetKernel - it offers a horizontal slice across a number of NetKernel technologies providing a general introduction within the context of XML pipelines."