XProc Unit Test: insert001

Inputs

Port=source:

<p:pipeline name="pipeline" xmlns:p="http://www.w3.org/2007/03/xproc">
<p:input port="source"/>
<p:output port="result"/>

<p:insert>
  <p:input port="source">
    <p:pipe step="pipeline" port="source"/>
  </p:input>
  <p:input port="inserted-at-start">
    <p:inline> 
      <inserted/>
    </p:inline>
  </p:input>
  <p:option name="target" value="p:input"/>
</p:insert>

<p:insert>
  <p:input port="source">
    <p:pipe step="pipeline" port="source"/>
  </p:input>
  <p:input port="inserted-at-end">
    <p:inline> 
      <inserted/>
    </p:inline>
  </p:input>
  <p:option name="target" value="p:input"/>
  <p:option name="at-start" value="no"/>
</p:insert>

</p:pipeline>

Pipeline

pipeline:

<p:pipeline name="pipeline" xmlns:p="http://www.w3.org/2007/03/xproc">
<p:input port="source"/>
<p:output port="result"/>

<p:insert>
  <p:input port="source">
    <p:pipe step="pipeline" port="source"/>
  </p:input>
  <p:input port="insertion">
    <p:inline> <inserted-at-start/></p:inline>
  </p:input>
  <p:option name="target" value="p:input"/>
</p:insert>

<p:insert>
  <p:input port="insertion">
    <p:inline> <inserted-at-end/></p:inline>
  </p:input>
  <p:option name="target" value="p:input"/>
  <p:option name="at-start" value="no"/>
</p:insert>

</p:pipeline>

Outputs

Port=result:

<p:pipeline xmlns:p="http://www.w3.org/2007/03/xproc" name="pipeline">
<p:input port="source"><inserted-at-start/><inserted-at-end/></p:input>
<p:output port="result"/>

<p:insert>
  <p:input port="source"><inserted-at-start/>
    <p:pipe step="pipeline" port="source"/>
  <inserted-at-end/></p:input>
  <p:input port="inserted-at-start"><inserted-at-start/>
    <p:inline> 
      <inserted/>
    </p:inline>
  <inserted-at-end/></p:input>
  <p:option value="p:input" name="target"/>
</p:insert>

<p:insert>
  <p:input port="source"><inserted-at-start/>
    <p:pipe step="pipeline" port="source"/>
  <inserted-at-end/></p:input>
  <p:input port="inserted-at-end"><inserted-at-start/>
    <p:inline> 
      <inserted/>
    </p:inline>
  <inserted-at-end/></p:input>
  <p:option value="p:input" name="target"/>
  <p:option value="no" name="at-start"/>
</p:insert>

</p:pipeline>