Bonjour à tous,

Voilà je débute en XSL et je souhaiterais transformer un document XML vers un autre XML.

Voici le XML source :

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 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
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>
Voici le xml de sortie :

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>
Je ne vois pas ce qui coince dans ma feuille XSL. Si quelqu'un peut m'aider ce serait sympa.

Merci