Aventure XML – Part4 (Problème de balise)

Guillaume Kulakowski par Guillaume Kulakowski dans php 1 février 2005 1
Tags : PHP XML XSL
php

L’XML/XSL est un langage à balise tout comme l’HTML, mais là où l’HTML s’arrête à du texte pur, l’XSL permet de faire des boucles, des tests, etc… Arrêtons nous justement sur ces tests et plus particulièrement les tests de supériorité et d’infériorité…

Dans la plupart des langages, nous avons :

2 > 1
1 < 2

Mais le problème de l’XSL est que les signes < et > sont déjà utilisés par les balises… Ainsi on peut faire des tests avec > mais pas avec <
Ainsi on ce retrouve donc dans la situation absurde de pouvoir faire des tests de supériorité mais pas d’infériorité… L’astuce revient alors à faire des tests de non supériorité 🙂 .

Un petit exemple du parcours d’un fichier XML :

<xsl:for-each select="image [(position() >= $img_begin) and not (position() > $img_end)]">>

Alors que la logique voudrait :

<xsl:for-each select="image [(position() >= $img_begin) and (position() < $img_end)]">

Commentaires

Damien

De Damien le 1 février 2005

Il suffit de remplace les < par &lt; et personnellement histoire d'être cohérent, je remplace aussi les > par des &gt; mais ce n'est pas obligatoire.

Les commentaires pour ce poste sont fermés.