Eléphant du PHP |
81 Messages
04 sept. 2005, 13:10
Le document xml (pour faire le test, j'ai ajouté un élément racine "carnet") :
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<carnet>
<personne>
<nom>DUJNOUX</nom>
<prenom>Paul</prenom>
<age>18</age>
</personne>
<personne>
<nom>BATTONDHCAISE</nom>
<prenom>Jérôme</prenom>
<age>34</age>
</personne>
</carnet>
Le résultat souhaité (exemple très simple) :
Le document xsl :
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:template match="carnet">
<xsl:for-each select="personne">
<xsl:value-of select="nom"/>
<xsl:text> - âge : </xsl:text>
<xsl:value-of select="age"/>
<br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Commentaire :
1. je veux créer un document xml, sans la déclaration <?xml ... ?> (output)
2. Je me positionne au niveau de la racine (template match="racine")
3. Je fais un traitement en boucle pour chaque personne (for-each)
4. Pour chaque personne, je sélectionne son nom (value-of select="nom")
5. Je sépare le nom et l'âge par un court texte.
6. Je sélectionne l'âge
7. je passe à la ligne (<br/>)
Voilà.
J'espère avoir été compréhensible.
Remarque pour le point 1. La librairie de transformation utilisée par php semble avoir un bug : la déclaration n'est pas omise.
Reste à demander à php d'appeler le document xml, le document xsl, à effectuer la transformation et à afficher le résultat.
Jean-Marie Hoornaert - h2o
Aide au développement et formation FileMaker, xml et AppleScript