XSL with-param & Jave

XSL with-param & Jave - Java - Programmation

Marsh Posté le 24-05-2004 à 11:33:13    

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 :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:output
  4.   method="html"
  5.   encoding="ISO-8859-1"
  6.   doctype-public="-//W3C//DTD HTML 4.01//EN"
  7.   indent="yes" />
  8. <xsl:template match="/">
  9. <xsl:apply-templates select="cell">
  10.  <xsl:with-param name="level" select="0"/>
  11. </xsl:apply-templates>
  12. </xsl:template>
  13. <xsl:template match="cell">
  14. <xsl:value-of select="$level"/>
  15. <xsl:apply-templates select="childrens">
  16.  <xsl:with-param name="level" select="$level + 1"/>   </xsl:apply-templates>
  17. </xsl:template>
  18. </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 :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:output
  4.   method="html"
  5.   encoding="ISO-8859-1"
  6.   doctype-public="-//W3C//DTD HTML 4.01//EN"
  7.   indent="yes" />
  8. <xsl:template match="/">
  9. <xsl:apply-templates select="cell">
  10.  <xsl:with-param name="level" select="0"/>
  11. </xsl:apply-templates>
  12. </xsl:template>
  13. <xsl:template match="cell">
  14. <xsl:param name="level"/>
  15. <xsl:value-of select="$level"/>
  16. <xsl:apply-templates select="childrens">
  17.  <xsl:with-param name="level" select="$level + 1"/>
  18. </xsl:apply-templates>
  19. </xsl:template>
  20. </xsl:stylesheet>

Reply

Marsh Posté le 24-05-2004 à 11:33:13   

Reply

Marsh Posté le 24-05-2004 à 17:02:44    

Au lieu de ça

Code :
  1. <xsl:with-param name="level" select="0"/>


essaye :

Code :
  1. <xsl:with-param name="level">0</xsl:with-param>


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed