PHP [xml]

PHP [xml] - PHP - Programmation

Marsh Posté le 28-08-2003 à 14:26:45    

hello,  
je souhaite me lancer dans le couple PHP/XML.
J'au notamment un site bilingue a faire et je pensais que ca pouvais être l'occasion en partant sur un truc simple.
 
je me penche sur les fonctions XML de PHP ... et je dois avouer que je suis un peu décu ou pour le moins surpris.... c'est très 'bas niveau' quand même :/ ...  
 
 
voilà mon fichier : test.xml
 

Code :
  1. <?xml version="1.0"?>
  2. <document>
  3. <contenu lang="fr">
  4.  <element>
  5.   fr test de la mort element 1
  6.  </element>
  7.  <element>
  8.   fr test de la mort element 2
  9.  </element>
  10.  <element>
  11.   fr test de la mort element 3
  12.  </element>
  13. </contenu>
  14. <contenu lang="gb">
  15.  <element>
  16.   gb test de la mort element 1
  17.  </element>
  18.  <element>
  19.   gb test de la mort element 2
  20.  </element>
  21.  <element>
  22.   gb test de la mort element 3
  23.  </element>
  24. </contenu>
  25. </document>


 
j'ai repris le code que l'on trouve a cette page http://fr.php.net/manual/fr/ref.xml.php pour parser mon document ... et je l'ai analysé ... ok ca fonctionne .. et je comprend le principe ( un peu   :whistle: :o )
 
mais voilà je me demandais s'il n'y a avit des classes d'utilisation me permettant par exemple s'obtenir l'element 3 dans l'element contenu lang="gb" ?
 
je suis en train de faire des recherches sur cette fonction xml_parse_into_struct();
 
si vous avez des élements a m'apporter, n'hesitez pas  :jap:  


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 28-08-2003 à 14:26:45   

Reply

Marsh Posté le 28-08-2003 à 14:39:58    

regarde peut etre du coté d'xpath, il me semble que c implementé en php   (--> "/document/contenu@lang['gb']/element/" qqchose comme ça, je sais plus ça faitlgtps que j'ai pas fait d'xpath :o)
 
cela dit pour du multilingue, l'xml ne me parait pas approprié (je vois pas d'avantage, et ça va certainement alourdir le truc)
 
 
ps: l'abbreviation correcte pour l'anglais est "en", pas gb.
(--> http://ftp.ics.uci.edu/pub/ietf/ht [...] iso639.txt )


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 28-08-2003 à 14:51:20    

the real moins moins a écrit :

regarde peut etre du coté d'xpath, il me semble que c implementé en php   (--> "/document/contenu@lang['gb']/element/" qqchose comme ça, je sais plus ça faitlgtps que j'ai pas fait d'xpath :o)


t'es sûr ? [:meganne] ... je sais a quoi ca ressemble .. en même temps j'en ai jamais fais non plus  :sweat:  
 

the real moins moins a écrit :


cela dit pour du multilingue, l'xml ne me parait pas approprié (je vois pas d'avantage, et ça va certainement alourdir le truc)


entièrement d'accord .. c'est juste pour se faire la main  :)  
 
 

the real moins moins a écrit :


ps: l'abbreviation correcte pour l'anglais est "en", pas gb.
(--> http://ftp.ics.uci.edu/pub/ietf/ht [...] iso639.txt )


 
done  :D  
 
et merci


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 28-08-2003 à 14:52:15    

[:drapo]
 
Ca m'intéresse, tout ça.
 
J'aurais besoin de tout ça en vu d'une utilisation de l'xml pour du Flash dynamique. Fichier xml qui serait généré par php à partir d'une base mysql...


---------------
W3C : Leading the Web to Its Full Potential... - Membre du W3C l33t club
Reply

Marsh Posté le 28-08-2003 à 14:52:27    

Reply

Marsh Posté le 28-08-2003 à 15:05:44    

merci -- .... :/ duc coup plus j'avance plus je me perds [:arhendal]
 
une autre petite question. Il est pas nécessaire de rattacher mon document xml a un dtd ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 28-08-2003 à 15:08:49    

simogeo a écrit :

merci -- .... :/ duc coup plus j'avance plus je me perds [:arhendal]
 
une autre petite question. Il est pas nécessaire de rattacher mon document xml a un dtd ?

non, c pas necessaire.
ça peut etre interessant si tu vois controler que ton document est valide par rapport à ta dtd. si c'est un doc que tu produits toi meme et qui n'est pas modifié par les utilisateurs à mon avis ça n'a pas gd interet... enfin tout depend du ctx quoi :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 28-08-2003 à 15:16:48    

je sais pas ce qu'exactement tu as besoin de faire mais as-tu jeter un oeil du coté de php+xml&xslt.
Si ça t'interesse deux petits liens:
- http://www.phpindex.com/articles/a [...] lement=301 ( très bon article même s'il date d'un an)
- http://www.neokraft.net/docs/xslt/index.html ( un bon petit tut sur les transformations XML avec XSLT et php)

Reply

Marsh Posté le 28-08-2003 à 15:40:41    

Anapajari a écrit :

je sais pas ce qu'exactement tu as besoin de faire mais as-tu jeter un oeil du coté de php+xml&xslt.
Si ça t'interesse deux petits liens:
- http://www.phpindex.com/articles/a [...] lement=301 ( très bon article même s'il date d'un an)
- http://www.neokraft.net/docs/xslt/index.html ( un bon petit tut sur les transformations XML avec XSLT et php)


très intéressant ....  :jap:  
maintenant il faut que je m'assure ques xslt soit enabled chez ovh ( et que j'essaye aussi  :whistle: )


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 28-08-2003 à 17:03:14    

simogeo a écrit :


très intéressant ....  :jap:  
maintenant il faut que je m'assure ques xslt soit enabled chez ovh ( et que j'essaye aussi  :whistle: )


 
Tu nous diras, ça m'intéresse aussi [:drapo]

Reply

Marsh Posté le 28-08-2003 à 17:03:14   

Reply

Marsh Posté le 28-08-2003 à 21:43:07    

j'ai fais ce que je souhaitais  :)  
disponible ici
 
Je passe donc Par les fonctions XSL de PHP.... pas compliqué et plutôt pas mal. Pour avoir testé sablotron et domxml .... je vous recommande vivement les deuxième. sablotron est effectivement plus long à interpreter les données.
 
 
contenu xsl:

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.   <xsl:output method="xml" encoding="ISO-8859-1" indent="yes" />
  4.   <xsl:param name="lang" />
  5.   <xsl:template match="/">
  6.   <html>
  7.   <head>
  8.   <title>XML -- XSL -- PHP (domxml) roxxor</title>
  9.   </head>
  10.   <body>
  11.   <div>
  12.   langue :
  13.   <xsl:value-of select="$lang" />
  14.   </div>
  15.   <div>
  16.   mon contenu 1 :
  17.   <xsl:value-of select="doc/element[@lang=$lang]/contenu1" />
  18.   </div>
  19.   <div>
  20.   mon contenu 2 :
  21.   <xsl:value-of select="doc/element[@lang=$lang]/contenu2" />
  22.   </div>
  23.   </body>
  24.   </html>
  25.   </xsl:template>
  26.   </xsl:stylesheet>


 
comme vous le voyez, je fais la selection de la langue sur chaque élément. J'aimerai savoir s'il est possible de la selectionner une fois pour toute pour le document.  :)  
 
en espérant que ca puisse vous servir aussi.
 
ah si .... autre question ... peux t'on inclure du PHP dans une feuille xsl ? :/ a priori non


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 28-08-2003 à 21:45:23    

simogeo a écrit :


ah si .... autre question ... peux t'on inclure du PHP dans une feuille xsl ? :/ a priori non

ben tu l'as fait non? ($lang)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 28-08-2003 à 21:48:20    

the real moins moins a écrit :

ben tu l'as fait non? ($lang)


non  :o  
regardes le code  :whistle:  
 
à la rigueur, j'ai une parade pour arranger ca  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed