Bonjour à tous,
Voilà je débute en XSL et je souhaiterais transformer un document XML vers un autre XML.
Voici le XML source :
Voici le XSL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <par class="LIV">Livre 1<inline class="T">Ceci est un essai</inline></par> <par class="ALNUM" xml:lang="fr"><inline class="NUMGRAS">46.</inline>Ceci est le début d'une phrase.</par>
Voici le xml de sortie :
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 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="*|/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="inline"> <xsl:if test="not(@class='font-style: italic;') and not(@class='vertical-align: super;') and not(@class='font-weight: bold;')"> <xsl:variable name="maVariable4" select="@class"/> <xsl:element name="{$maVariable4}"> <xsl:value-of select="."/> </xsl:element> </xsl:if> <xsl:if test="@class='font-style: italic;'"> <xsl:variable name="maVariable" select="I"/> <xsl:element name="{$maVariable}"> <xsl:value-of select="."/> </xsl:element> </xsl:if> <xsl:if test="@class='vertical-align: super;'"> <xsl:variable name="maVariable2" select="E"/> <xsl:element name="{$maVariable2}"> <xsl:value-of select="."/> </xsl:element> </xsl:if> <xsl:if test="@class='font-weight: bold;'"> <xsl:variable name="maVariable3" select="B"/> <xsl:element name="{$maVariable3}"> <xsl:value-of select="."/> </xsl:element> </xsl:if> </xsl:template> <xsl:template match="par"> <xsl:variable name="maVariable" select="@class"/> <xsl:element name="{$maVariable}"> <xsl:value-of select="."/> <xsl:apply-templates select="inline"/> </xsl:element> </xsl:template> <xsl:template match="style"> </xsl:template> </xsl:stylesheet>
Je ne vois pas ce qui coince dans ma feuille XSL. Si quelqu'un peut m'aider ce serait sympa.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?xml version="1.0" encoding="UTF-16"?><LIV>Livre 1Ceci est un essai<T>Ceci est un essai</T></LIV><ALNUM>46.Ceci est le début d'une phrase.<NUMGRAS>46.</NUMGRAS></ALNUM> En fait je voudrais obtenir ceci : <?xml version="1.0" encoding="UTF-16"?><LIV>Livre 1<T>Ceci est un essai</T></LIV><ALNUM><NUMGRAS>46.<NUMGRAS>Ceci est le début d'une phrase.</ALNUM>
Merci
Partager