Bonjour à tous,

Je suis actuellement en train de développer mes premières feuilles de style XSL.
Je me retrouve donc avec ce code XML à transformer, en html :
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
<?xml version="1.0" encoding="UTF-8"?>
<TEI>
    <text>
        <body>
            <div rend="center">
                <p>bienfaits de la mer	1° elle nous fournit la pluie, le poisson, les perles 2° elle nous apporte au moyen de la
                <lb/>navigation les richesses de tous les pays. 3° elle facilite la rapide propagation de la Foi
                <lb/>chez les nations » 52.</p>
                <p>Le soleil	« est l'image de Notre Seigneur qui est sorti du sein de son père.
                <lb/>chaque jour  Dieu lui marque le point où il doit partir &amp; celui où il doit s'arrêter.
                <lb/>55.</p>
                <p>utilité de la Lune.	elle tempère l'obscurité l'obscurité - elle règle les travaux de la Campagne - elle éclaire
                <lb/>l'homme qui a besoin de voyager durant la nuit, &amp; nous révèle à chaque instant la
                <lb/>sagesse du créateur.</p>
                <p>« je remarque sur les Poissons que c'est une merveille qu'ils puissent naître &amp; vivre dans l'eau de la mer, qui est salée !
                <lb/>&amp; que leur race ne soit pas anéantie depuis longtemps.  57.</p>
                <p>utilité des reptiles &amp; des	
                <lb/>animaux sauvages</p>
                <p>ils nous apprennent à respecter &amp; à craindre Dieu
                <lb/>ils nous fournissent aussi de précieuses fourrures -</p>
            </div> 
        </body>
    </text>
</TEI>
En gros je cherche à obtenir une page html de cette forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<html>
	<body>
		<p>blablabla<br /> blablablablablablablablablablablabla </p>
		<p>blablablablablablablablablablablabla<br /> blablablablablablablablablablablabla </p>
	</body>
</html>
Vous noterez que :
la balise <body> du doc XML devient <body>
la balise <p> du doc XML devient <p>
et que la balise <lb/> du doc XML devient <br />

Afin de réaliser cette transformation automatiquement j'ai donc écris cette feuille 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
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output 
        method="html"
        encoding="utf-8"
        doctype-public="-/W3C//DTD XHTML 1.0 Strict//EN"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
        indent="yes" />
 
    <xsl:template match="TEI">
        <html>
            <xsl:apply-templates select="text"/>
        </html>
    </xsl:template>
 
    <xsl:template match="text">
            <xsl:apply-templates select="body"/>
    </xsl:template>
 
    <xsl:template match="body">
        <body>
            <xsl:apply-templates select="div"/>
        </body>
    </xsl:template>
 
    <xsl:template match="div">
        <div>
            <xsl:apply-templates select="p"/>
        </div>
    </xsl:template>  
 
     <!-- C'est ICI que se trouve le problème ! -->
    <xsl:template match="p">
        <p>
            <xsl:value-of select="."/>
            <xsl:apply-templates select="lb"/>
        </p>
    </xsl:template>
 
    <xsl:template match="lb">
        <br />
    </xsl:template>
</xsl:stylesheet>
J'ai indiqué dans feuille XSL à quel niveau se trouve le problème (tout en bas).
Pour expliciter clairement mon problème voici ce qui se passe :
Quand j'applique ma feuille XSL au doc XML : les <lb/> sont bien transformés en <br />
MAIS les <br /> générés se trouvent systématiquement placés en fin de paragraphe (<p>) et non pas à l'endroit où il devrait se trouver, c'est à dire, le plus souvent : au milieu du texte....

Si vous avez des idées à me proposer, pour corriger / améliorer ma feuille XSL et par la même occasion résoudre mon problème....Bah je suis preneur !

Merci d'avance