Bonjour à tous,
Mon problème est le suivant :
J'ai un document XML à trnasformer à l'aide d'une feuile XSL. Dans cette feuille XSL j'ai uue variable à incrémenter pour connaître la profondeur à laquelle je suis dans l'arbre. Quand j'utilise with-param et xsltproc, aucun problem, mais dès que je fais la transformation en java, j'ai une erreur comme quoi mon paramètre n'exsite pas :
Code :
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output
- method="html"
- encoding="ISO-8859-1"
- doctype-public="-//W3C//DTD HTML 4.01//EN"
- indent="yes" />
- <xsl:template match="/">
- <xsl:apply-templates select="cell">
- <xsl:with-param name="level" select="0"/>
- </xsl:apply-templates>
- </xsl:template>
- <xsl:template match="cell">
- <xsl:value-of select="$level"/>
- <xsl:apply-templates select="childrens">
- <xsl:with-param name="level" select="$level + 1"/> </xsl:apply-templates>
- </xsl:template>
- </xsl:stylesheet>
|
J'ai aussi essayé ça, je n'ai plus d'erreur, mais mon paramètre est maintenant vide dans le contexte "cell" :
Code :
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output
- method="html"
- encoding="ISO-8859-1"
- doctype-public="-//W3C//DTD HTML 4.01//EN"
- indent="yes" />
- <xsl:template match="/">
- <xsl:apply-templates select="cell">
- <xsl:with-param name="level" select="0"/>
- </xsl:apply-templates>
- </xsl:template>
- <xsl:template match="cell">
- <xsl:param name="level"/>
- <xsl:value-of select="$level"/>
- <xsl:apply-templates select="childrens">
- <xsl:with-param name="level" select="$level + 1"/>
- </xsl:apply-templates>
- </xsl:template>
- </xsl:stylesheet>
|