XProc

XML Processing (XProc) is a language that describes a pipeline of operations to be performed on XML documents. Possible operations include file inclusion, validation, and XSLT transformations. Implementations include Calabash, Calumet, QuiXProc, and Tubular.

The following pipeline includes another document with XInclude, validates the result against an XML Schema, and then applies an XSLT stylesheet.

<pipeline xmlns="http://www.w3.org/ns/xproc">
   <xinclude name="included">
      <input port="source">
         <pipe step="pipeline" port="source"/>
      </input>
   </xinclude>
   <validate-with-xml-schema>
      <input port="schema">
         <document href="http://example.com/schema.xsd"/>
      </input>
   </validate-with-xml-schema>
   <xslt>
      <input port="stylesheet">
         <document href="http://example.com/stylesheet.xsl"/>
      </input>
   </xslt>
</pipeline>