2013-09-21 5 views
0

que je fais ce XSLT simple:XSLT ne rendant pas

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl ="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"> 
    <xsl:template match="/"> 
    <h1>El meu primer document XSLT</h1> 
    <xsl:for-each select="pisos/pis"> 
     <strong>id:</strong> 
     <xsl:value-of select="id"/> 
    </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 

Et voici mon fichier XML:

<Stock_pisos> 
<pisos> 
    <pis> 
     <id>1</id> 
    </pis> 
    </pisos> 
</Stock_pisos> 

Cependant, le document rend juste le titre H1.

Un conseil?

Répondre

2

Vous devez sélectionner l'élément racine première:

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl ="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"> 
    <xsl:template match="/"> 
    <h1>El meu primer document XSLT</h1> 
     <xsl:for-each select="Stock_pisos/pisos/pis"> 
     <strong>id:</strong> 
     <xsl:value-of select="id"/> 
    </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 
+3

En termes du code publié votre suggestion est correcte, mais la terminologie « ' de node' racine » est faux dans le contexte de XSLT/XPath comme http://www.w3.org/TR/xpath/#root-node est sélectionné par '/' et désigne le noeud du document et non l'élément racine. Donc je pense que vous voulez dire "sélectionnez l'élément racine" ". –

Questions connexes