Bonjour,
Je cherche à réaliser un site web à l'aide du couple XML/XSLT.
Une partie de mon fichier XML comporte du formatage HTML, cependant lors de la mise en forme, les balises html sont tout simplement ignorées. J'ai donc trouvé une première solution qui me permet de ne pas ignorer les balises de "premier niveau", cependant il semble impossible de faire du récursif:
Le document XML:Error during XSLT transformation: XSLT Stylesheet (possibly) contains a recursion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="/static/style.xsl" type="text/xsl"?> <documentation> <champ1> <htmlContent> <tr> <td>1</td> <td>2</td> </tr> </htmlContent> </champ1> </documentation>
Que pensez vous de cette méthode, voyez vous un moyen de répondre au problème?
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"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8" standalone="no" media-type="text/html"/> <xsl:template match="htmlContent//*"> <xsl:element name="{name()}" attribute=""> <xsl:for-each select="./@*"> <xsl:attribute name="{name()}"> <xsl:value-of select="." /> </xsl:attribute> </xsl:for-each> <xsl:if test="count(./*) > 0"> <xsl:apply-templates select="."/> </xsl:if> <xsl:if test="count(./*) = 0"> <xsl:value-of select="."/> </xsl:if> </xsl:element> </xsl:template> [ ... ]
Merci d'avance pour vos réponses constructives.
Partager