将xsl:value-of设置为href属性和XSLT中链接的文本字段

时间:2010-04-01 19:19:25

标签: xml xslt href

如何设置一个href,它既是链接,也有通过XSLT转换的链接文本?这是我到目前为止所做的,它给出了错误“xsl:value-of不能是xsl:text元素的子代”:

<xsl:element name="a">
   <xsl:attribute name="href">
      <xsl:value-of select="actionUrl"/>
   </xsl:attribute>
   <xsl:text><xsl:value-of select="actionUrl"/></xsl:text> 
</xsl:element>

3 个答案:

答案 0 :(得分:40)

<xsl:text>定义XSL文档中的文本部分。只有真实的纯文本可以在这里,而不是XML节点。您只需要<xsl:value-of select="actionUrl"/>,无论如何都会打印文本。

<xsl:element name="a">
    <xsl:attribute name="href">
        <xsl:value-of select="actionUrl"/>
    </xsl:attribute>
    <xsl:value-of select="actionUrl"/>
</xsl:element>

答案 1 :(得分:28)

你也可以这样做:

<a href="{actionUrl}"><xsl:value-of select="actionUrl"/></a>

答案 2 :(得分:4)

您不需要xsl:text元素:

<xsl:element name="a">
  <xsl:attribute name="href">
    <xsl:value-of select="actionUrl"/>
  </xsl:attribute>
  <xsl:value-of select="actionUrl"/>
</xsl:element>