0

我有一个变量,其中包含要应用的样式表的名称。

这不起作用:

<p:variable name="filename" select="'/home/stylesheets/indent.xsl'"/>

<p:xslt>
   <p:input port="stylesheet">
       <p:document href="{$filename}"/>
   </p:input>
</p:xslt>

我想我必须在 上做某种 URI 或 IRI 函数$filename,但我无法弄清楚。

更新:我去了 grtjn 提供的链接并解除了<p:declare-step type="ut:xslt" name="current">包装。

现在从变量应用 href 非常容易:

<ut:xslt>
    <p:with-option name="href" select="$filename" />
</ut:xslt>
4

1 回答 1

3

IMO 不可能在 href 属性中使用变量。我使用<p:load>类似的步骤解决了它

<p:load name="xslt_from_variable">
  <p:with-option name="href" select="$filename" /> 
</p:load>

<p:xslt>我将它绑定到“xslt_from_variable”结果端口,比如

<p:xslt name="xslt_step">
    <p:input port="source">
        <p:pipe step="xslt_from_variable" port="result" /> 
    </p:input>
    ...
</p:xslt>

我希望这次尝试对你和我都有效。

于 2014-05-18T17:50:27.197 回答