2009-02-27 7 views
2

J'ai une liste dans sharepoint avec une colonne de lien hypertexte.xl lien hypertexte, séparer l'URL et la descente

Je mets cette liste dans xml et j'y applique xslt.

le xml est produit de sortie sous la forme de:

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

Comment puis-je afficher ce lien en utilisant xslt?

grâce

Répondre

6

Que diriez-vous:

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

Pour 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> 

Bien qu'il rend un peu moins lisible, la syntaxe étendue est considérée comme une bonne pratique lorsque les feuilles de style deviennent grandes. Les éléments de résultat littéraux ne sont pas aussi faciles à manipuler via XPath que xsl: element/xsl: attribute

+0

Est-ce que xslt 2.0 n'inclut pas la syntaxe abrégée? (par mon poste) –

+0

Et cela ne devrait-il pas être un "match"? (Je n'ai vraiment pas regardé 2.0, donc je peux me tromper ...) –

+0

Oui. J'ai juste appuyé sur le bouton post un peu trop tard. –

Questions connexes