Journal xslt et le verbe

Posté par (page perso) .
Tags : aucun
0
6
juin
2003
Suite à l'article paru dans le linux mag du mois, j'ai eu envie de tester un peu ce fameux xslt. Comme l'appli sur laquelle je bosse sauvegarde certaines choses en xml, je me suis dit que ça pourrait être intéressant d'essayer.
Outre la verbosité du shmil-blick qui fait un peu peur au premier abord [heureusement emacs est là pour vous seconder], c'est assez déconcertant de facilité. On se dit, et si je fais ça, ça marche. On essaye et outi. trop fort. Au fait, je remerci linuxfr.org pour sa feuille de style que j'ai honteusement pompé ;)

Mais bon, là je cale, je suis tombé sur un os, alors s'il y a des gens qui connaissent un peu, je vais expliquer mon problème.

le fichier xml a cette tronche :
<blockquote>
<Project id="1" oid_count="1035" defaultConfiguration="144">


MAIN
<configuration>22</configuration>


A0530
<configuration>144</configuration>


<configurations>
<Configuration id="22" name="Default"/>
<Configuration id="144" name="VHDL"/>
</configurations>
</blockquote>

et je veux en sortie quelquechose de genre :

Configurations:

  • VHDL
    • main_module = MAIN

  • Default
    • basename = A0530

  • </ul


    donc je fais ce template pour les configurations :
    <xsl:template match="configurations">

    Available configurations :

      <xsl:for-each select="Configuration">
      <xsl:apply-templates select="." />
      <xsl:apply-templates select="/Project/props" >
      <xsl:with-param name="id" select="@id"/>
      </xsl:apply-templates>
      <xsl:value-of select="@id" />
      </xsl:for-each>


    </xsl:template>

    C'est le paramettre id que j'essaye de passer au template props.
    Mais si j'essaye de l'afficher, il me dit qu'il ne le connait pas :

    <xsl:template match="props">
    <xsl:value-of select="$id" />
    </xsl:template>


    Si quelqu'un a une idée ...

    PS : je suis pas sûr que les balises passent bien, et je ne vois plus les boutons preview ...
    Si ça rate, je posterai en commentaires
  • # Re: xslt et le verbe

    Posté par (page perso) . Évalué à 1.

    bon, à part les typos, c'est passé ...
  • # Re: xslt et le verbe

    Posté par . Évalué à 2.

    <xsl:template match="props"> <xsl:param name="id" select="Valeur par defaut du paramètre" /> <xsl:value-of select="$id" /> </xsl:template> Ta variable/parametre doit etre déclarée dans ton template, car le passage de parametre dans un xsl:apply-templates est facultatif. A toi ensuite de faire les vérifications sur le contenu de cette variable.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.