2009-02-27 6 views
2

Ich habe eine Liste in Sharepoint mit einer Hyperlink-Spalte.xslt-Hyperlink, trennen Sie die URL und die Beschreibung

Ich setze diese Liste in XML und xslt darauf anwenden.

die XML produziert Ausgabe in Form von:

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

wie kann ich diesen Link Xslt mit angezeigt werden?

dank

Antwort

6

Wie wäre:

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

Für 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> 

Obwohl es etwas weniger lesbar macht, wird die erweiterte Syntax als gute Praxis, wenn Sheets groß werden. Literale Ergebniselemente sind nicht so einfach über XPath zu bearbeiten wie xsl: element/xsl: attribut

+0

Enthält xslt 2.0 nicht die abgekürzte Syntax? (per Post) –

+0

Und sollte das nicht ein "Match" sein? (Ich habe 2.0 wirklich nicht angeschaut, also könnte ich mich sehr irren ...) –

+0

Ja. Ich habe den Postknopf nur ein wenig zu spät gedrückt. –

Verwandte Themen