Bonjour

Je suis en train de monter un site basé sur XML/XSL. Le mécanisme marche parfaitement bien avec le moteur XSLT de Microsoft. J'exécute en faite dynamiquement l'association de plusieurs XSL sur 1 seul fichier XML coté serveur.

Maintenant je veux rendre compatible mon développement en faisant la même chose simplement en utilisant un processus de transformation (toujours coté serveur) avec le moteur XSLT intégré à PHP 5 (extension php_xsl).

En théorie je ne dois changer que le fichier qui contenait du code ASP par du code PHP mais je ne devrait pas avoir à toucher les XSL. Et ça marche sauf que le processeur XSLT du PHP ne me renvoit pas les mêmes indices de position de tags avec la fonction XSL position() :

1. Ça c'est mon XML :

<ROOT>
<MENU> ... </MENU>
<MENU>... </MENU>
</ROOT>

2. ça c'est le test XSL :

<xsl:template match="MENU">
<xsl:if test="position() = $posMenu">

3. Le problème est :

Avec le moteur XSLT microsoft, la fonction position() me renvoit 1 et 2 pour les tags <MENU> : normal je pense.
Avec le moteur XSLT PHP 5, la fonction position() me renvoit 2 et 4 ?????

Quelqu'un pourait m'éclairer la lanterne ou bien m'indiquer vers où je pourrait trouver plus d'info ???

Merci