Bonjour,
Je cherche à gérer automatiquement le retrait des espaces qui se trouvent dans l'url se trouvant dans un fichier xml. Évidemment, ces espaces rendent l'url invalides, mais nous souhaitons gérer ce cas sans corriger à la source. Je n'arrive pas à afficher correctement le lien au format html dans la balise <a href="... > ... </a>. Voir le template 'liensimple' tout en bas.
Je vous remercie de votre aide.
Voici un extrait du système :
XML :XSLT :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="UTF-8"?> <note id="no23"> <no>23</no> <alinea>Voir « Le bon usage : morceaux choisis », en ligne : <liensimple id="ls1" href="http://abc.blog. ca/2001/01/le-bon-usage-morceaux.html">http://abc.blog. ca/2001/01/le-bon-usage-morceaux.html </liensimple> (page consultée le 8 janvier 2001). </alinea> </note>
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 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>Test note</h2> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="note"> <p> <xsl:apply-templates select="no"/> <xsl:apply-templates select="alinea"/> </p> </xsl:template> <xsl:template match="no"> No: <span style="color:#ff0000"> <xsl:value-of select="."/></span> <br /> </xsl:template> <xsl:template match="alinea"> Alinea: <span style="color:#00ff00"> <!-- <xsl:value-of select="."/> --> <xsl:if test="//liensimple"> <xsl:apply-templates select="liensimple"/> </xsl:if> </span> <br /> </xsl:template> <xsl:template match="liensimple"> <xsl:attribute name="href"> <a href="{translate(., ' ','')}"> <xsl:value-of select="translate(normalize-space(.),' ','')"/> </a> </xsl:attribute> </xsl:template> </xsl:stylesheet>
Partager