XSLT:将节点作为参数传递给with-param

时间:2012-04-18 22:44:43

标签: xslt

我有一个命名模板

<xsl:call-template name="species-and-location2">
    <xsl:with-param name="species" select="pb:species"/>
    <xsl:with-param name="location" select="pb:location"/>
</xsl:call-template>  

可以工作并生成一些标记,例如

  <inline xmlns="http://www.w3.org/1999/XSL/Format" ... >Cygnus olor</inline>
  <fo:block/>
  <inline xmlns="http://www.w3.org/1999/XSL/Format" ... >Sarnico, Italia</inline>

(当然......只是为了避免上面的一些无用的细节,XSL:FO是有效的。)

现在我想将它作为参数传递给另一个命名模板:

<xsl:call-template name="page-template-white">
    <xsl:with-param name="contents">
        <xsl:call-template name="species-and-location2">
            <xsl:with-param name="species" select="pb:species"/>
            <xsl:with-param name="location" select="pb:location"/>
        </xsl:call-template>                
    </xsl:with-param>
</xsl:call-template>        

命名模板“page-template-white”产生一些标记,然后在其中使用:

<xsl:value-of select="$contents"/>

但我只得到原始块的文本部分:

Cygnus olor Sarnico, Italia

(与一些换行符混合)。我正在使用Apache Xalan,XSLT 1.0。如何解决?感谢。

0 个答案:

没有答案