2012-11-02 3 views
0

Après avoir appliqué le XSLT au XML, je veux afficher le nom et la description de l'article à partir du XML, je n'ai que les en-têtes de tableau, le nom et la description du XML ne sont pas récupérés. Quelque chose à faire avec l'espace de noms "tns:"? Merci!!Pourquoi ce XSLT ne renvoie rien pour les valeurs XML?

Voici le XML

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="./LittleStore.xsl"?> 
<tns:store xmlns:tns="http://www.example.org/LittleStore/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/LittleStore/ LittleStore.xsd "> 

    <tns:item> 

    <name>Warm Hat</name> 
    <description>This hat is warm and will mike you stand out from the crowd.</description> 

    </tns:item> 

    <tns:manufacturer> 
    <manu_id>4234</manu_id> 
    <name>Toy Co.</name> 
    </tns:manufacturer> 

</tns:store> 

Et voici le XSLT:

<?xml version="1.0" encoding="UTF-8"?> 

<xsl:stylesheet version="1.0" xmlns:tns="http://www.example.org/LittleStore/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="/"> 
    <html> 
    <body> 
    <h2>Store Catalog</h2> 
    <table border="1"> 
    <tr bgcolor="#9acd32"> 
     <th>Item Name</th> 
     <th>Description</th> 
    </tr> 
    <xsl:for-each select="store/item"> 
    <tr> 
     <td><xsl:value-of select="name"/></td> 
     <td><xsl:value-of select="description"/></td> 
    </tr> 
    </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 
</xsl:stylesheet> 
+0

Avez-vous essayé d'ajouter l'espace de noms? Comme 'tns: store/tns: item' et' tns: name'? (Vous avez déjà fait allusion à l'espace de noms dans la question ..) –

+0

Great! Ça fonctionne maintenant! Je vous remercie. J'ai ajouté tns: store/tns: item. En passant, si j'ajoute tns: name ou tns: description, cela donne des cellules vides pour la table. Quoi qu'il en soit, merci beaucoup. – eastboundr

Répondre

0

La solution: j'ai ajouté tns: magasin/tns: article. A propos, si j'ajoute tns: name ou tns: description, cela donne des cellules vides pour la table.