probleme XML avec PHP DOMXML - XML/XSL - Programmation
Marsh Posté le 26-05-2005 à 15:24:04
autant que je sache, tes 2 ecritures sont equivalentes.
pour les voir imbriquees selon le premier schema, ca veut dire que ton document est comme ca:
<balise1 attribut="123">
<balise2 attribut="123">
</balise>
</balise>
ca veut dire aussi qu'il comprend de maniere implicite l'ordre des end-tags, puisque tu precise pas le numero.
a part ca, je vois pas ou est le probleme, desole!
Marsh Posté le 26-05-2005 à 15:26:49
bah le probleme c'est que je veux pas que mes balises soient imbriquées comme ça :
<document>
<balise1 attribut="123">texte1
<balise2 attribut="123">texte2
</balise2>
</balise1>
</document>
je veux qu'elles soient comme ça :
<document>
<balise1 attribut="123">texte1</balise1>
<balise2 attribut="123">texte2</balise2>
</document>
Marsh Posté le 26-05-2005 à 15:39:36
bah oui, on est d'accord.
c'est pour toi ou c'est pour un projet?
tu peux pas passer a php5? paske il gere le xml les doigt dans le zen...
je connais pas domxml, j'utilise que php5.
t'as pas une fonction equivalente a appendChild (rattacher fils en francais)?
Marsh Posté le 26-05-2005 à 15:44:05
non mon serveur est en PHP4, l'herbergeur a bien voulu installer l'extension DOMXML c deja bien ! lol
à priori j'ai toutes les fonctions necessaires pour construire mon fichier.. Mais peut etre que je m'y prends mal... Voici un bout de code :
Code :
|
Marsh Posté le 26-05-2005 à 15:52:38
en resumé...
j'ai créé une premiere balise "document" (firstchildName)
avec ma fonction "CreateDOMTextElement" j'ajoute mes elements un par un avec DOM->append_child(); au noeud (dont le nom est le second attribut de la fonction CreateDOMTextElement)
... logiquement ça fait bien un
<document>
<balise1>texte</balise1>
<balise2>texte</balise2>
<balise3>texte</balise3>
</document>
... mais c pas le cas !
Marsh Posté le 26-05-2005 à 16:04:07
Pour un truc comme ça :
<document> |
Faut faire comme ça :
$xml_doc =& domxml_new_doc('1.0'); |
Marsh Posté le 26-05-2005 à 16:22:47
ah !! ya du mieux !!
Code :
|
mais à quoi sert le & ???
et avec set_content je peux refermer ma baliser </DOCUMENT> ?
Marsh Posté le 26-05-2005 à 16:33:09
Y'a pas de balise document à refermer, tout ça est gérer par le create_element. Et le set_content revient à créer un textnode et à l'appender à un élément.
Pour le &, documente-toi sur PHP et les référence
Marsh Posté le 26-05-2005 à 16:40:13
bon j'ai toujours une erreur mais là je crois que c un probleme d'encodage ou je ne sais quoi...
Citation : |
Marsh Posté le 26-05-2005 à 16:49:45
La structure d'un doc XML doit avoir cette tronche :
<pouet> |
Donc tout dans un seul élément. T'as pas le droit d'avoir genre :
<pouet> |
Marsh Posté le 26-05-2005 à 16:51:20
oui c bien ce que j'ai compris.. c ma balise <document> qui n'est pas fermée qui fait iech !!! lol
Marsh Posté le 26-05-2005 à 16:55:47
à mon avis c mon get_element_by_tag_name qui gene
il me retourne un array alors que je veux un object
Marsh Posté le 26-05-2005 à 16:56:32
avec des fonctions DOMXML, c'est fait automatiquement, ça... Oublie pas de faire un append_child de ton élément document sur le document xml
Marsh Posté le 26-05-2005 à 16:58:50
bah c ce que je fais....
Code :
|
Citation : |
Marsh Posté le 26-05-2005 à 17:02:41
Sauf que get_elements_by_tagname renvoi un tableau d'éléments, donc c'est :
$parentNode[0]->append_child($newNode); |
Marsh Posté le 26-05-2005 à 17:05:40
yess c ça...
mais c toujours erroné pour le doc !
Code :
|
Marsh Posté le 26-05-2005 à 17:11:03
Là ça veut dire que les autres éléments ne sont pas ajoutés dans document (document est vide dans ton cas, cf. /> ), faut chercher ailleurs...
Marsh Posté le 26-05-2005 à 17:27:14
question....
peut on passer un objet dans les attributs d'une fonction ??
Marsh Posté le 26-05-2005 à 17:41:23
oh tiens !! d'un coup ça marche !!!! je sais pas pourquoi j'ai rien changé ! WERK !!!!!
http://www.clonecopy.net/php/ezdocs/essai.xml
Code :
|
Marsh Posté le 26-05-2005 à 17:46:21
pratique les fonctions... j'avais pas envie de me taper toutes les lignes à la main ! (avec toutes les erreurs qui vont avec)
thanx a lot !
Marsh Posté le 26-05-2005 à 23:53:06
Great. Maintenant tu peux passer au XSL pour transformer ça en autre chose
Marsh Posté le 27-05-2005 à 00:13:01
bah pas pour cette fois car là ça servait juste pour memoriser les parametres et informations destinées à la construction d'un fichier PDF (avec EZPDF, j'ai deja fait une sorte de moteur... Mais là je m'emmelais les crayons avec les variables... c pourquoi j'ai fait un systeme avec XML)
... je pense pas qu'un XSL soit necessaire... à moins que ce soit vraiment magique et qu'on peut transformer un XML+XSL en PDF super top graphique etc etc... mais j'en doute !
Marsh Posté le 27-05-2005 à 00:19:02
Je crois qu'il y a un truc comme ça justement, je vais me renseigner
Marsh Posté le 27-05-2005 à 00:25:21
http://www.netmag.co.uk/tutorials/ [...] tionid=183
Avec XSL-FO... A voir maintenant si c'est faisable via PHP...
Marsh Posté le 27-05-2005 à 00:38:15
interessant... Mais est-ce que c'est capable de positionner les elements de façon precise avec des parametres ?
Marsh Posté le 27-05-2005 à 00:40:06
ouai je vois le genre... mais je sens la galere avec les polices etc etc coté serveur ! avec ezpdf j'avais trouvé une solution plutot sympa pour les polices
Marsh Posté le 26-05-2005 à 15:11:16
mon programme génère une page xml visiblement erronnée... pourquoi ?
http://www.clonecopy.net/php/ezdocs/essai.xml
quelqu'un connait l'extension DOMXML de PHP ?
j'arrive pas à imbriquer mes balises correctement... elles se forment toutes sous la forme
<balise1 attribut="123"/>
<balise2 attribut="123"/>
au lieu de
<balise1 attribut="123">
</balise>
<balise2 attribut="123">
</balise>
resultat... le DOM inspector de firefox les voit toutes imbriquées les unes dans les autres :
document
|____balise1
|____balise2
au lieu de
document
|___balise1
|___balise2
comment je peux faire ?