Defining the XInclude and cleanup pipeline

This pipeline first performs XInclusion, then discards xml:base attributes (but not [XML base] infoset properties), then schema validates and finally, using the type information from the validation, locates and absolutizes all URIs in attribute values. You can see below both the XML form and a snapshot of the pipeline authoring tool display for this pipeline.

<p:pipeline xmlns:p="http://www.w3.org/2002/02/xml-pipeline"
            xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <p:processdef name="absolutize" definition="MT_Absolutize"/>
 <p:processdef name="eliminate" definition="MT_Eliminate"/>
 <p:processdef name="include" definition="MT_XInclude"/>
 <p:processdef name="validate" definition="MT_W3C_XML_Schema_1.0"/>
 <p:process type="include">
  <p:input label="$IN"/>
  <p:output label="#i2.1"/>
 </p:process>
 <p:process type="eliminate">
  <p:input label="#i2.1"/>
  <p:param name="select" select="@xml:base"/>
  <p:output label="#i4.2"/>
 </p:process>
 <p:process type="validate">
  <p:input label="#i4.2"/>
  <p:input name="schema" label="schemaDoc"/>
  <p:output label="#i6.3"/>
 </p:process>
 <p:process type="absolutize">
  <p:input label="#i6.3"/>
  <p:param name="select" select="attribute(*,xs:anyURI)"/>
  <p:output label="$OUT"/>
 </p:process>
</p:pipeline>
Snapshot of GUI for cleanIncl pipeline