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>