Bonjour je voudrai afficher un fichier en XML à l'aide de XSL voila le code:

code 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="../styles/named.xsl"?>
 
<named>
 
<commentaire1>//named.conf for Red Hat caching-nameserver</commentaire1>
 
<zone1>
	<zone>zone</zone>
	<serveur>"gallimedia.org."</serveur>
	<dom>IN</dom>
	<ouv_parent>{</ouv_parent>
	<type>type</type>
	<type_serveur>master;</type_serveur>
	<file>file</file>
	<nom_fichier>"gallimedia.org.db";</nom_fichier>
	<ferm_parent>}</ferm_parent>
	<fin_zone>;</fin_zone>
</zone1>
 
<zone1>
	<zone>zone</zone>
	<serveur>"2.168.192.IN-ADDR.ARPA."</serveur>
	<dom>IN</dom>
	<ouv_parent>{</ouv_parent>
	<type>type</type>
	<type_serveur>master;</type_serveur>
	<file>file</file>
	<nom_fichier>"gallimedia.org.ptr";</nom_fichier>
	<ferm_parent>}</ferm_parent>
	<fin_zone>;</fin_zone>
</zone1>
 
<zone1>
	<zone>zone</zone>
	<serveur>"."</serveur>
	<dom>IN</dom>
	<ouv_parent>{</ouv_parent>
	<type>type</type>
	<type_serveur>hint;</type_serveur>
	<file>file</file>
	<nom_fichier>"named.ca";</nom_fichier>
	<ferm_parent>}</ferm_parent>
	<fin_zone>;</fin_zone>
</zone1>
 
<include>include "/etc/rndc.key";</include>
 
</named>
et voici le code XSL:

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
<xsl:transform
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 version="2.0"
>
 
<xsl:template match="/">
 
<xsl:text>
</xsl:text>
<xsl:value-of select="named/commentaire1"/><xsl:text>
 
</xsl:text>
 
<!-- zone1 -->
<xsl:value-of select="named/zone1/zone"/><xsl:text>&#x20;</xsl:text> 		
<xsl:value-of select="named/zone1/serveur"/><xsl:text>&#x20;</xsl:text> 	
<xsl:value-of select="named/zone1/dom"/><xsl:text>&#x20;</xsl:text> 		
<xsl:value-of select="named/zone1/ouv_parent"/><xsl:text>
	</xsl:text> 		
<xsl:value-of select="named/zone1/type"/><xsl:text>&#x20;</xsl:text> 
<xsl:value-of select="named/zone1/type_serveur"/><xsl:text>
	</xsl:text> 
<xsl:value-of select="named/zone1/file"/><xsl:text>&#x20;</xsl:text> 
<xsl:value-of select="named/zone1/nom_fichier"/><xsl:text>
</xsl:text> 
<xsl:value-of select="named/zone1/ferm_parent"/> 
<xsl:value-of select="named/zone1/fin_zone"/><xsl:text>
 
</xsl:text> 
 
<xsl:value-of select="named/include"/> 	
 
 
 
</xsl:template>
</xsl:transform>
Lorsque je fusionne les 2 fichiers à l'aide de SAXON :

les elements sont imbriqués!!

au lieu d'afficher ceci :

zone "gallimedia.org." IN {
type master;
file "gallimedia.org.db";
};

zone "2.168.192.IN-ADDR.ARPA." IN {
type master;
file "gallimedia.org.ptr";
};

zone "." IN {
type hint;
file "named.ca";
};
Il m'affiche ceci:

zone zone zone "gallimedia.org." "2.168.192.IN-ADDR.ARPA." "." IN IN IN { { {
type type type master; master; hint;
file file file "gallimedia.org.db"; "gallimedia.org.ptr"; "named.ca";
} } }; ; ;
voila mon problème merci !!!