XSLT:属性中的'xsl:value-of'

时间:2011-09-02 23:28:05

标签: xml xslt

我有以下XSL转换:

<xsl:for-each select="refsect1[@id = 'seealso']/para/citerefentry">
  /// <seealso cref=""/>
  <xsl:value-of select="refentrytitle" />
</xsl:for-each>

如何将 refentrytitle 的值放在模板中 seealso 标记的cref属性中?

2 个答案:

答案 0 :(得分:5)

  

我不明白如何将refentrytitle的值放在cref中   模板中seealso标签的属性。

只需将表达式放在大括号内(这称为Attribute Value Templates或简称为AVT语法),如下所示:

<seealso cref="{refentrytitle}"/>

答案 1 :(得分:3)

你可以这样做:

<xsl:for-each select="refsect1[@id = 'seealso']/para/citerefentry">
  /// <xsl:element name="seealso">
    <xsl:attribute name="cref">
      <xsl:value-of select="refentrytitle" />
    </xsl:attribute>
  </xsl:element>
</xsl:for-each>

或者你可能只是这样做:

<xsl:for-each select="refsect1[@id = 'seealso']/para/citerefentry">
  /// <seealso cref="{refentrytitle}" />
</xsl:for-each>