Content deleted Content added
+QuiXProc from Innovimax |
m WP:CHECKWIKI error fixes + general fixes using AWB (7754) |
||
Line 1:
In [[software]], an '''XML Pipeline''' is formed when [[XML]] (Extensible Markup Language) processes, especially [[XML transformation language|XML transformations]] and [[XML validation]]s, are connected together.
For instance, given two transformations T<sub>1</sub> and T<sub>2</sub>, the two can be connected together so that an input XML document is transformed by T<sub>1</sub> and then the output of T<sub>1</sub> is fed as input document to T<sub>2</sub>. Simple pipelines like the one described above are called ''linear''; a single input document always goes through the same sequence of transformations to produce a single output document.
== Linear Operations ==
Linear operations can be divided in at least two parts
=== Micro-operations ===
They operate at the inner document level
Line 13 ⟶ 14:
* '''Wrap''' - wraps elements with additional elements
* '''Reorder''' - changes the order of elements
=== Document operations ===
They take the input document as a whole
Line 19 ⟶ 21:
* '''Transform''' - execute a transform on the input file using a specified [[XSLT]] file. Version 1.0 or 2.0 should be specified.
* '''Split''' - take a single XML document and split it into distinct documents
=== Sequence operations ===
They are mainly introduced in [[XProc]] and help to handle the sequence of document as a whole
Line 33 ⟶ 36:
* '''Loops''' — where a transformation is executed on each node of a node set selected from a document or a transformation is executed until a condition evaluates to false
* '''Tees''' — where a document is fed to multiple transformations potentially happening in parallel
* '''Aggregations''' — where multiple documents are aggregated into a single document
* '''Exception Handling''' — where failures in processing can result an alternate pipeline being processed
Line 41 ⟶ 44:
XML pipeline languages are used to define pipelines. A program written with an XML pipeline language is implemented by software known as an XML pipeline engine, which creates processes, connects them together and finally executes the pipeline. Existing XML pipeline languages include:
=== Standards ===
* '''[[XProc|XProc: An XML Pipeline Language]]''' is a W3C Recommendation [http://www.w3.org/TR/xproc] for defining linear and non-linear XML pipelines.
=== Product-specific ===
* '''W3C XML Pipeline Definition Language''' is specified in a W3C Note and Sun provides an implementation.{{
* '''W3C XML Pipeline Language (XPL) Version 1.0 (Draft) [http://www.w3.org/Submission/xpl/] [http://www.w3.org/TR/xml-pipeline/]''' is specified in a W3C Submission and a component of Orbeon Presentation Server OPS (now called Orbeon Forms). This specification provides an implementation of an earlier version of the language. XPL allows the declaration of complex pipelines with conditionals, loops, tees, aggregations, and sub-pipelines.
* '''[[Apache Cocoon|Cocoon]] sitemaps''' allow, among other functionality, the declaration of XML pipelines. Cocoon sitemaps are one of the earliest implementations of the concept of XML pipeline.
Line 86 ⟶ 91:
==== Recommandations ====
* [http://www.w3.org/TR/xproc/ XProc: An XML Pipeline Language], W3C Recommendation 11 May 2010
==== Working drafts ====
* [http://www.w3.org/XML/Processing/ W3C XML Processing Model Working Group]
* [http://www.w3.org/TR/xml-pipeline/ W3C XML Pipeline Definition Language Note]
* [http://www.w3.org/Submission/xpl/ W3C XML Pipeline Language (XPL) Version 1.0 (Draft) Submission]
=== Product specific ===
* [http://www.oracle.com/technology/tech/xml/xdkhome.html Oracle's XML Pipeline Definition Language Controller Implementation] ''Part of XML Developer's kit, no individual download''
Line 109 ⟶ 116:
* [https://community.emc.com/community/edn/xmltech/ Calumet] is an XProc implementation from EMC
* [http://code.google.com/p/quixproc QuiXProc] is an XProc implementation of Innovimax
{{DEFAULTSORT:Xml Pipeline}}
[[Category:XML-based standards]]
[[Category:Inter-process communication]]
|