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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
[RESULT]
host_name;host_ip;host_netmask;host_group
Merci d'avance pour votre aide sur ce sujet.

Cdt

Breizho