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>Je souhaite ajouter sur chaque ligne de résultat un nom de groupe qu'il faut aller chercher dans une autre balise.
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 ...
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 [XSL CODE] ?Merci d'avance pour votre aide sur ce sujet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [RESULT] host_name;host_ip;host_netmask;host_group
Cdt
Breizho
Partager