J'ai deux fichiers XML:
je voulais savoir comment faire pour parcourir deux fichiers XML à l'aide d'une même feuille de style
Mon but serait de parcourir mon premier fichier et à chaque élement récupérer son type contenu dans le
second fichier (dans Doc/TYPE/TResources/Attributes) puis à l'aide de cet attribut récupérer son type(Doc/TYPE).
exemple
----------
on aura alors a l'affichage
PModule
Type=String
Value=Module.xml
j'espère mettre bien exprimer et que quelqu'un peux m'éclairer.je suis en stage et ca bloque mon travail.
fichier1.xml
--------------------------------------------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <Value> <PResources> <PModule Value="Module.xml"/> <PReference Value="RefFile.xml"/> <PTarget Value="RefTarget.xml"/> <PTolerance> <PPourcentageTolerance Value="5"/> <PToleranceMin Value="30"/> <PToleranceMax Value="80"/> <PPourcentageTolTemps Value="15"/> </PTolerance> </PResources> </Value>
fichier2.xml
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <Doc> <TYPE> <TModule Type="String" Default="DicoMresIDataEn.xml"/> <TReference Type="String" Default="RefFileTransmitter.xml"/> <TTarget Type="String" Default="RefFileTarget.xml"/> <TPourcentageTolerance Type="Double" Default="1.0" /> <TPourcentageTolTemps Type="Double" Default="2.0" /> <TToleranceMax Type="Double" Default="8" /> <TToleranceMin Type="Double" Default="35" /> <TTolerance Type="Struct" > <attributes> <PPourcentageTolerance Type="TPourcentageTolerance"/> <PToleranceMin Type="TToleranceMin"/> <PToleranceMax Type="TToleranceMax"/> <PPourcentageTolTemps Type="TPourcentageTolTemps"/> </Attributes> </TTolerance> <TResources Type="Struct" Label="Ressources"> <attributes> <PModule Type="TModule"/> <PReference Type="TReference"/> <PTarget Type="TTarget"/> <PTolerance Type="TTolerance"/> </Attributes> </TResources> </TYPE> <VAR> <PResources Type="TResources"/> </VAR> </Doc>
voila ce que j'ai essayé de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <xsl:variable name="dico" select="document('fichier2.xml')"/> <xsl:for-each select="Value//*"> <xsl:variable name="p" select="name()"/> <xsl:value-of select ="$p"/> <br></br> <xsl:for-each select="$dico/Dico/TYPEDEF/TResources/Attributes//*"> <xsl:value-of select ="name()"/> <xsl:variable name="t" select="name()"/> <xsl:for-each select="@*"> </xsl:for-each> <xsl:value-of select ="$t"/> <xsl:if test="'$t'='$p'"> ... </xsl:if> </xsl:for-each> </xsl:for-each> </xsl:template> </xsl:stylesheet>
Partager