Fonction de recherche xsl/xml ?
Bonjour,
je débute totalement en code xml/xsl et j'ai besoin d'extraire des données issues d'un fichier XML.
Plus précisément, je suis parvenu à extraire certaines données comme ci dessous une liste de Hosts (ID, name,@...).
Mais, à présent, j'ai besoin de rechercher dans le même fichier une donnée liée à une référence et d'en sortir une donnée associée.
Voici un exemple de mon code XML, XSL et le résultat:
Code:
1 2 3 4 5 6
|
[XML CODE]
<Host id="id147154X3289" name="193.168.83.227_TEST" comment="" ro="False">
<Interface id="id147156X3289" bridgeport="False" dyn="False" label="" security_level="0" unnum="False" unprotected="False" name="eth0" comment="" ro="False">
<IPv4 id="id147157X3289" name="193.168.83.227_TEST:eth0:ip" comment="" ro="False" address="193.168.83.227" netmask="255.255.255.224"/>
</Interface> |
Code:
1 2 3 4 5 6 7 8 9
|
[XSL CODE]
<xsl:for-each select="FWObjectDatabase/Library/ObjectGroup/ObjectGroup/Host">
<xsl:value-of select="@id"/><xsl:text>|</xsl:text>
<xsl:value-of select="@name"/><xsl:value-of select="$separateur"/>
<xsl:value-of select="Interface/IPv4/@address"/><xsl:value-of select="$separateur"/>
<xsl:value-of select="Interface/IPv4/@netmask"/>
<xsl:value-of select="$newline"/>
</xsl:for-each> |
Code:
1 2 3 4 5
|
[RESULT]
host_name1;host_ip;host_netmask
host_name2;host_ip;host_netmask
... |
Je souhaite ajouter sur chaque ligne de résultat un nom de groupe qu'il faut aller chercher dans une autre balise.
Le groupe contient une liste d'object.
Je dois rechercher la même référence de l'objet Hosts (ID=id147154X3289(variable)) contenu dans une balise GROUP "ObjectRef ref=(variable)" et d'en extraire
le nom de groupe associé "NAME_GROUPE_xxx" (variable)
Voici une partie du code XML de la section GROUP contenant cette information:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
[XML CODE]
<ObjectGroup id="stdidxxxx" name="Groups" comment="" ro="False">
<ObjectGroup id="id154198X31777" name="NAME_GROUPE_1" comment="" ro="False">
<ObjectRef ref="id154181X31777"/>
</ObjectGroup>
<ObjectGroup id="id141136X21781" name="NAME_GROUPE_2" comment="" ro="False">
<ObjectRef ref="id147156X3289"/>
<ObjectRef ref="id141142X21781"/>
</ObjectGroup>
</ObjectGroup>
<ObjectGroup |
Code:
1 2 3
|
[RESULT]
host_name;host_ip;host_netmask;host_group |
Merci d'avance pour votre aide sur ce sujet.
Cdt
Breizho