xslt гиперссылка, разделите URL-адрес и описание

У меня есть список в sharepoint со столбцом гиперссылок.

Я помещаю этот список в xml и применяю к нему xslt.

xml производит вывод в виде:

<link>http://www.foo.com, http://www.foo.com</link>

как я могу отобразить эту ссылку с помощью xslt?

Благодарность

Ответов (2)

Решение

Как насчет:

<xsl:template match="link">
  <a href="{substring-before(.,',')}">
    <xsl:value-of select="substring-after(.,',')"/>
  </a>
</xsl:template>

Для XSLT 2.0

<xsl:template match="link">
    <xsl:element name="a">
      <xsl:attribute name="href">
         <xsl:value-of select="substring-before(.,',')"/>
      </xsl:attribute>
         <xsl:value-of select="substring-after(.,',')"/>
     </xsl:element>
 </xsl:template>

Хотя это делает его немного менее читабельным, расширенный синтаксис считается хорошей практикой, когда таблицы стилей становятся большими. Литеральными элементами результата не так просто манипулировать через XPath, как xsl: element / xsl: attribute