XProc/多重 XSLT 管道
外觀
< XProc
以下管道使用一系列三個不同的變換,每個後續的 XSLT 變換使用前一個變換的結果。每個樣式表都在一個 pipeline/xslt 元素中指定,該元素至少包含一個 stylesheet 輸入,其中 stylesheet 在 input/document/@href 中指定。
<?xml version="1.0"?>
<p:pipeline version="1.0" xmlns:p="http://www.w3.org/ns/xproc">
<p:xslt>
<p:input port="stylesheet">
<p:document href="first.xsl"/>
</p:input>
</p:xslt>
<p:xslt>
<p:input port="stylesheet">
<p:document href="second.xsl"/>
</p:input>
</p:xslt>
<p:xslt>
<p:input port="stylesheet">
<p:document href="third.xsl"/>
</p:input>
</p:xslt>
</p:pipeline>
要將引數從 XProc 指令碼傳遞到樣式表中,請使用 with-param 元素。在以下示例中,第一個和第三個樣式表都有一個名為“foo”的引數。在第一個樣式表中,希望“foo”引數的值為“one”。在第三個樣式表中,希望將“foo”引數設定為“three”。
<?xml version="1.0"?>
<p:pipeline version="1.0" xmlns:p="http://www.w3.org/ns/xproc">
<p:xslt>
<p:input port="stylesheet">
<p:document href="first.xsl"/>
</p:input>
<p:with-param name="foo" select="'one'"/>
</p:xslt>
<p:xslt>
<p:input port="stylesheet">
<p:document href="second.xsl"/>
</p:input>
</p:xslt>
<p:xslt>
<p:input port="stylesheet">
<p:document href="third.xsl"/>
</p:input>
<p:with-param name="foo" select="'three'"/>
</p:xslt>
</p:pipeline>