Установка xsl: value-of в атрибут href и текстовое поле ссылки в XSLT - PullRequest
34 голосов
/ 01 апреля 2010

Как я могу установить 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 ]

40 голосов
/ 01 апреля 2010

<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>
28 голосов
/ 01 апреля 2010

Вы также можете сделать:

<a href="{actionUrl}"><xsl:value-of select="actionUrl"/></a>
4 голосов
/ 01 апреля 2010

Вам не нужен элемент xsl:text:

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