I have the following XSL transformation:
<xsl:for-each select="refsect1[@id = 'seealso']/para/citerefentry">
/// <seealso cref=""/>
<xsl:value-of select="refentrytitle" />
</xsl:for-each>
我该如何将refentrytitle的值放在模板中seealso标签的cref属性中?
我不明白如何将refentrytitle的值放置在模板中seealso标记的cref属性中。
只需将表达式放在花括号中(这称为属性值模板或简称AVT语法),像这样:
<seealso cref="{refentrytitle}"/>
<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>
{string-length(refentrytitle)}
。通常情况下,您可以像在xsl:value-of select
中一样使用XPath函数。 - Grzegorz Szpetkowski