Journal for & while en XSLT

Posté par  .
Étiquettes : aucune
0
22
sept.
2003
bonjour, je suis tombé sur le loop compiler :

http://www.informatik.hu-berlin.de/~obecker/XSLT/loop-compiler/(...)

qui permet d'implementer les boucles en XSLT

il s'agit juste de définition de nouvelles balises a ajouter dans vos feuilles XSL, et d'une feuille XSL qui transforme votre feuille XSL "étendue" en XSL standard (en remplaçant les boucles par du code XSLT compliqué)

voilà
  • # Re: for & while en XSLT

    Posté par  . Évalué à 1.

    Arg ! Trop de sigles, je m'en sors plus !

    Bon le XSL intègre désormais les boucles FOR et WHILE, ce qui au niveau du développement le met sur un pied d'égalité avec MultiDeskOS.
  • # Ca ne va pas plaire aux intaigristes du XML

    Posté par  . Évalué à 1.

    La révolution du XSLT, c'est la syntaxe déclarative de la transformation. On n'écrit pas un programme qui modifie les données, on écrit des relations entre deux formats. C'est une des raisons qui explique que les "variables" XSLT ne peuvent pas être modifiées.

    J'en connais déjà qui ont eu des boutons lorsque les <xsl:for-each>, <xsl:if> et <xsl:choose> ont été acceptés dans la norme alors qu'ils ne respectent pas ce principe.

    Là, j'entends déjà les cris à travers tout l'étage si jamais ils voient ça.
    • [^] # Re: Ca ne va pas plaire aux intaigristes du XML

      Posté par  . Évalué à 1.

      je ne te comprends pas très bien : pourquoi parles-tu de modifier les données ?

      avec xsl:if tu modifies quelles données ?
      • [^] # Re: Ca ne va pas plaire aux intaigristes du XML

        Posté par  . Évalué à 2.

        Il s'agit de deux choses différentes, désolé si mon commentaire est confus.

        En utilisant un <xsl:if test="@col>3"> on tombe dans de la programmation, alors qu'avec un <xsl:template match="table[@col>3]"> on reste complètement déclaratif.

        Pour les "variables", on ne peut pas modifier la valeur d'une variable ou d'un paramêtre, une fois qu'elle est définie, sa valeur est fixée jusqu'à la fin de sa portée. Tout au plus, on peut la masquer par une variable du même nom dans une sous branche.
        Ca permet de certifier qu'un appel de template ne produit pas d'effet de bord en ayant une influence sur les appelants.

Suivre le flux des commentaires

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