Tout d'abord bonjour à tous,
Je suis nouveau sur le forum donc je me présente,je suis étudiant en informatique et je recherche des informations qui pourrait m'aider à continuer un travail.
J'ai recherché d'abord sur le forum si il n'y avait pas de sujet équivalent et je n'ai trouvé que des réponses qui ne correpondent pas exactement à mes questions.
Voilà je vous expose mon probleme,j'ai un fichier XML du genre:
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 <?xml version="1.0" encoding="UTF-8"?><tmx version="1.0"><header creationtoolversion=".." datatype="text" segtype="sentence" adminlang="EN-US" srclang="en" o-tmf="unknow" creationtool=".."></header> <body> <tu> <tuv xml:lang="en"><prop type="data:type"> source </prop><prop type="ID">0:Title</prop> <seg>English sentence 1</seg> </tuv> <tuv xml:lang="fr"><prop type="data:type"> source </prop><prop type="ID">0:Title</prop> <seg>Phrase Francaise 1</seg> </tuv></tu> <tu> <tuv xml:lang="en"><prop type="data:type"> source </prop><prop type="ID">1:Title</prop> <seg>English sentence 2</seg> </tuv> <tuv xml:lang="fr"><prop type="data:type"> source </prop><prop type="ID">1:Title</prop> <seg>Phrase Francaise 2</seg> </tuv></tu> </body></tmx>
En un fichier XML comme celà:
Les <![CDATA[..]]> , c'est pour pouvoir lire les effets visuels mais ce n'est pas tres important pour l'instant.
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 <?xml version="1.0" encoding="UTF-8"?> <rows> <row id="0"> <cell xml:lang="en"><![CDATA[English sentence 1]]></cell> <cell xml:lang="fr"><![CDATA[Phrase Francaise 1]]></cell> </row> <row id="1"> <cell xml:lang="en"><![CDATA[English sentence 2]]></cell> <cell xml:lang="fr"><![CDATA[Phrase Francaise 2]]></cell> </row> </rows>
Donc voilà,j'ai lu qu'il me faudrait utiliser un fichier XSL donc j'ai crée un fichier XSL que voilà:
Et donc ce fichier xsl me creer (avec une fonction php),un fichier xml comme celà:
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 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="UTF-8" indent="yes" /> <xsl:template match="body"> <rows> <xsl:apply-templates select="tu" /> </rows> </xsl:template> <xsl:template match="tu"> <xsl:param name="a" select="0" /> <row id="0"> <xsl:apply-templates select="tuv" /> </row> </xsl:template> <xsl:template match="tuv"> <xsl:variable name="xml:lang"><xsl:value-of select="@xml:lang" /></xsl:variable> <cell xml:lang='$xml:lang'> <!--<xsl:value-of select="@xml:lang" />--> <!--<xsl:apply-templates select="prop" />--> <xsl:apply-templates select="seg" /> </cell> </xsl:template> <xsl:template match="prop"> <!--<xsl:if test="type='ID'">--> <xsl:value-of select="." /> <!--</xsl:if>--> </xsl:template> <xsl:template match="seg"> <xsl:value-of select="." /> </xsl:template> </xsl:stylesheet>
Ce qui est proche de ce que je veux mais j'ai deux petit probleme:
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 <?xml version="1.0" encoding="UTF-8"?> <rows> <row id="0"> <cell xml:lang="$xml:lang">English sentence 1</cell> <cell xml:lang="$xml:lang">Phrase Francaise 1</cell> </row> <row id="0"> <cell xml:lang="$xml:lang">English sentence 2</cell> <cell xml:lang="$xml:lang">Phrase Francaise 2</cell> </row> </rows>
Il faudrait que j'arrive à incrémenter mon "id",car la je l'ai mis à 0 pour avoir l'idée mais je n'arrive pas à l'incrémenter et ensuite meme genre de probleme,j'ai essayer de définir une variable xml:lang mais lorsque je veux insérer la variable dans mon fichier,elle n'est pas prise comme une variable mais une chaine de caractere...donc elle ne peut pas etre modifiée.
Voilà je vais continuer à rechercher mais si quelqu'un savait ou voyait comment faire celà m'aiderait grandement.
Merci de vos réponses
Partager