transformation xml/xsd pour une liste

Petit nouveau ! | 1 Messages

15 mai 2009, 12:22

Bonjour à tous,
j'ai un problème concernant la transformation d'un XML afin de le transformer en xsd.
Voila le xsd que j'ai tenté de faire..

Code : Tout sélectionner

<xsd:element name="node" type="s:nodeType"/> <xsd:complexType name="nodeType"> <xsd:sequence> <xsd:element name="source" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="item" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType>
le XML qui va avec..

Code : Tout sélectionner

<node> <source> <item>jean</item> </source> <source> <item>paul</item> </source> <source> <item>mike</item> </source> </node>
jusqu'a là tout fonctionne, le problème que j'ai besoin que mon xml ressemble à ça..

Code : Tout sélectionner

<node> <source> <item>jean</item> <item>paul</item> <item>mike</item> </source> </node>
Avez vous une idée??
merci d'avance.[/code]

Mammouth du PHP | 2937 Messages

15 mai 2009, 14:47

As-tu entendu parler de XSLT ? ;)

C'est le langage de transformation de XML au moyen d'une feuille de style qui permet de faire ce que tu cherches. Si tu ignores tout de XSLT, tu as le tuto XSLT de W3Schools.

De plus, PHP te facilite la tâche de transformation XSLT grâce à l'extension XSL et à sa classe XSLTProcessor. Seul bémol : la version actuelle de XSLT, telle que recommandée par le W3C, est la 2.0, que PHP ne prend pas en charge actuellement ; mais, avec XSLT 1.0, il y a déjà de quoi transformer élégamment tout XML en un autre format.