2010-11-08 9 views
1

J'essaie d'afficher un attribut de balise XML via xslt mais je n'arrive pas à le trouver.Affichage des attributs de balises xml avec xslt

Mon fichier xml ressemble à ceci:

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="results.xsl"?> 
<search command="grep -n -i -I htm C:\firebreath\*"> 
<match number="1"> 
    <filename>C:\firebreath\CMakeLists.txt </filename> 
    <linenum>10 </linenum> 
    <matchstring>#   http://www.gnu.org/licenses/lgpl-2.1.html</matchstring> 
</match> 
</search> 

Et mon fichier XSLT ressemble à ceci:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
<html> 
<body> 
<h2>grep matches </h2> 
<table border="1"> 
    <tr bgcolor="#9acd32"> 
    <th>filename</th> 
    <th>line number</th> 
    <th>match string</th> 
    </tr> 
    <xsl:for-each select="search/match"> 
    <tr> 
    <td><xsl:value-of select="filename"/></td> 
    <td><xsl:value-of select="linenum"/></td> 
    <td><xsl:value-of select="matchstring"/></td> 
    </tr> 
    </xsl:for-each> 
</table> 
</body> 
</html> 

Je veux afficher la partie de commande de la balise de recherche avant que je commence à analyser le reste. Y a-t-il un moyen de le faire? Si c'est le cas, comment? Une recherche ne se est pas tout particulièrement pertinent ...

+0

Bonne question, +1. Voir ma réponse pour une solution complète et courte. :) –

Répondre

3

Je veux afficher la partie de commande de la balise de recherche avant que je commence à parse le reste.

Lisez à propos de l'instruction XSLT <xsl:value-of>.

Et:

<xsl:value-of select="/search/@command"/> 
+0

Merci pour la réponse rapide. Je suppose que mon problème a dû faire face au chrome, car il ne veut pas afficher d'attributs du tout. – basil

+0

@ user483281: cela ne devrait pas avoir d'importance, tant que vous n'exécutez pas la valeur de @command en tant qu'attribut. Si vous utilisez '', vous l'affichez en tant que chaîne. Je n'ai pas entendu parler de Chrome ne voulant pas afficher les attributs btw ... voulez-vous dire Google Chrome ou Mozilla chrome? – LarsH

Questions connexes