The Cover PagesThe OASIS Cover Pages: The Online Resource for Markup Language Technologies
Advanced Search
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

Cover Stories
Articles & Papers
Press Releases

XML Query

XML Applications
General Apps
Government Apps
Academic Apps

Technology and Society
Tech Topics
Related Standards
Created: April 27, 2005.
News: Cover StoriesPrevious News ItemNext News Item

Orbeon Submits XML Pipeline Language (XPL) Version 1.0 to W3C.


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: Latest version URL:

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: Latest version URL: "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

Hosted By
OASIS - Organization for the Advancement of Structured Information Standards

Sponsored By

IBM Corporation
ISIS Papyrus
Microsoft Corporation
Oracle Corporation


XML Daily Newslink
Receive daily news updates from Managing Editor, Robin Cover.

 Newsletter Subscription
 Newsletter Archives
Bottom Globe Image

Document URI:  —  Legal stuff
Robin Cover, Editor: