Problème avec XSLT et du XML contenant des balises HTML
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:
Citation:
Error during XSLT transformation: XSLT Stylesheet (possibly) contains a recursion.
Le document XML:
Code:
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> |
Code:
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>
[ ... ] |
Que pensez vous de cette méthode, voyez vous un moyen de répondre au problème?
Merci d'avance pour vos réponses constructives.