... Et qu'est-ce qui ne va pas ? Il faudra que ce soit quoi, le résultat ?
... Et qu'est-ce qui ne va pas ? Il faudra que ce soit quoi, le résultat ?
Salut Thelvin, tout d'accord merci d'accorder ton temps pour mon problème. Alors le résultat que je veux ce qu'il y ait un seul fichier release-notes.xml qui contiendrai ses infos d'origine ainsi que les infos qui proviennent du fichier navigator-clirr-result.xml du genre:
Et au lieu ça avec mon code xslt il efface les infos de release-notes.xml origine et affiche seulement celles de navigator-clirr-result.xml dans mon fichier release-notes.xml. C'est ça mon problème.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104 <?xml version="1.0" encoding="UTF-8"?> <release-note> <date> 2011-04-22 </date> <info> <module-name>epg-core</module-name> <module-version>1.6-SNAPSHOT</module-version> <build-context> <mvm-version>1.0.72</mvm-version> <msc-version>MHAP-1.0.61-2</msc-version> <xapi-version>MHAP-1.0.28-1</xapi-version> </build-context> <baseline-compare baseline="EPG_CORE_20110422112406" previous="EPG_CORE_1.5"/> </info> <tasks> <task> <id> PRD_FR#6670 </id> <release> EPG_CORE/MAIN </release> <completed> 2011-04-21 </completed> <resolver> fda </resolver> <synopsis> add ErrorModel in Core </synopsis> <description> The ErrorModel framework is now added in Epg_core </description> <pcrs/> <objects> <object> <name> ErrorMessage.java </name> <version> 1 </version> </object> <object> <name> ErrorModel.java </name> <version> 1 </version> </object> <object> <name> MessageEvent.java </name> <version> 1 </version> </object> <object> <name> error </name> <version> 1 </version> </object> <object> <name> platform </name> <version> 4 </version> </object> <object> <name> stb </name> <version> 1 </version> </object> </objects> </task> </tasks> </release-note> <diffreport> <difference binseverity="INFO" srcseverity="INFO" class="mhepg.platform.util.MonoThreadTimer" method="protected long getExpirationTime()">Method 'protected long getExpirationTime()' has been added</difference> <difference binseverity="INFO" srcseverity="INFO" class="mhepg.platform.util.MonoThreadTimer" method="protected mhepg.platform.util.MonoThreadTimer getNextTimer()">Method 'protected mhepg.platform.util.MonoThreadTimer getNextTimer()' has been added</difference> <difference binseverity="INFO" srcseverity="INFO" class="mhepg.platform.util.MonoThreadTimer" method="protected boolean getRunning()">Method 'protected boolean getRunning()' has been added</difference> <difference binseverity="INFO" srcseverity="INFO" class="mhepg.platform.util.MonoThreadTimer" method="protected void setExpirationTime(long)">Method 'protected void setExpirationTime(long)' has been added</difference> <difference binseverity="INFO" srcseverity="INFO" class="mhepg.platform.util.MonoThreadTimer" method="protected void setNextTimer(mhepg.platform.util.MonoThreadTimer)">Method 'protected void setNextTimer(mhepg.platform.util.MonoThreadTimer)' has been added</difference> <difference binseverity="INFO" srcseverity="INFO" class="mhepg.platform.util.MonoThreadTimer" method="protected void setRunning(boolean)">Method 'protected void setRunning(boolean)' has been added</difference> <difference binseverity="INFO" srcseverity="INFO" class="mhepg.platform.util.ProgramEventManager">Class mhepg.platform.util.ProgramEventManager added</difference> <difference binseverity="INFO" srcseverity="INFO" class="mhepgp.platform.boot.BootManager">Class mhepgp.platform.boot.BootManager added</difference> <difference binseverity="INFO" srcseverity="INFO" class="mhepgp.platform.boot.BootProcess">Class mhepgp.platform.boot.BootProcess added</difference> <difference binseverity="INFO" srcseverity="INFO" class="mhepgp.platform.boot.BootProcessManager">Class mhepgp.platform.boot.BootProcessManager added</difference> <difference binseverity="INFO" srcseverity="INFO" class="mhepgp.platform.util.DefaultProgramEventManager">Class mhepgp.platform.util.DefaultProgramEventManager added</difference> </diffreport>
Oui je sais que ton fichier XSLT est mal utilisé, mais on verra ça après.
Ce que tu cherches à faire est impossible. Un fichier XML a exactement un élément racine.
Si tu mets deux documents XML l'un à la suite de l'autre, ça fait deux éléments racines. Dans ton cas <release-note> et <diffreport>. Pas faisable. Il faut étudier comment fusionner ça en un seul document. Une possibilité est de placer les deux sous une seule balise <racine>, par exemple.
Salut Thevin, merci pour ton idée j'ai résolu mon problème. Pour ceux qui seront intéressés:
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 <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes"/> <xsl:param name="clirr.result.xml.file"></xsl:param> <xsl:variable name="doc.var" select="document($clirr.result.xml.file)" /> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="release-note"> <xsl:copy> <clirr-report> <diffreport> <xsl:copy-of select="$doc.var/diffreport//*"/> </diffreport> </clirr-report> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager