est ce que cette structure XML est valide?

est ce que cette structure XML est valide? - XML/XSL - Programmation

Marsh Posté le 20-01-2012 à 13:17:59    

bonjour tout le monde  
 
en marge de deux sujets deposés dans la section html
 
je souhaiterais que vous puissiez me dire si dans une partie de mon fichier XML, je peux avoir cet arbre:
 
<corps>
      <soustitre></soustitre>
      <txt>
             <intertitre></intertitre>
             <pp></pp>
      </txt>
      <soustitre></soustitre>
      <txt>
             <intertitre></intertitre>
             <pp></pp>
      </txt>
      <soustitre></soustitre>
      <txt>
             <intertitre></intertitre>
             <pp>blabla<image></image>bimbamboum<image></image>toto est dans un bateau</pp>
      </txt>
      <soustitre></soustitre>
      <txt>
             <intertitre></intertitre>
             <pp></pp>
      </txt>
</corps>

Reply

Marsh Posté le 20-01-2012 à 13:17:59   

Reply

Marsh Posté le 20-01-2012 à 14:43:47    

on ne peut pas répondre, la validité s'entendant par rapport a une definition, DTD, ou XSD.
 
En tout cas, il est bien formé [:aloy]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 20-01-2012 à 21:07:54    

merci ok je vois pas trop a quoi correspond le DTD ou XSD
 
en fait je me pose la question suivante
si on regarde la structure de l'arbre: j'ai pas rempli toutes les balises dans cet exemple pour eviter d'alourdir l'exemple, j'ai rempli la où justement j'ai plusieurs doutes
 
en fait si on regarde mon exemple:
   - les feuilles sont ou du texte ou rien entre la balise ouvrante et la fermante
   - le noeud corps a une alternance de fille et de fils (si on veut voir fille comme soustitre et fils comme txt)
   - le 3eme fils (sur les 4) a une lignée différente de ses freres
 
au niveau de son propre petit fils
 
donc les 3 doutes que j'avais sont:
1) est ce un problème sur une même génération de faire cottoyer fils filles chiens chats...
2) est ce un soucis d'avoir des feuilles vides (ou bien dans ce cas je dois pas mettre la balise, je preferais la laisser comme ca c'est prevu si besoin)
3) si on regarde les petits enfants du 3eme fils de corps on en trouve 3
    --- du texte
    --- une balise image ouvrante/fermante (vide ca sera toujours comme ca à priori)
    --- du texte
 
est ce enfin un soucis que les deux textes soient pas eux-même encadrés de balises?
 
je pose ces questions car j'ai ecrit du code javascript qui récupère le fichier xml et via le DOM parcourt entre autre une partie de l'arbre XML (en préfixe) et me les traduit par une chaine de caractères (conforme à du html)
 
et justement le parcours de mon arbre se stoppe justement sur cet element particulier que j'ai soumis dans l'exemple que j'ai donné
 
j'ai beau chercher où peut se cacher l'erreur je trouve pas alors j'en suis venu à penser que ca pouvait justement venir du fichier xml et non du javascript :heink:

Reply

Marsh Posté le 21-01-2012 à 11:12:46    

Javascript ne permet pas de lire facilement les fichiers XML.
Ca peut-être fait, mais difficilement, voir http://forum.webrankinfo.com/lire- [...] 67727.html , voir http://forum.alsacreations.com/top [...] cript.html
 
Alors pourquoi réinventer la roue avec du XML, alors que HTML dispose déjà d'un important jeu de balises qui seraient suffisantes ?
Par exemple,
 au lieu de <corps>, écrire <body> ou <div class="corps"></div>
 au lieu de <txt></txt>, écrire <div>, ou <div class="txt"></div>
 au lieu de <soustitre></soustitre>, écrire <h2></h2>, ou <div class="soustitre"></div>
 au lieu de <intertitre></intertitre>, écrire <h3></h3>, ou <div class="intertitre"></div>
 au lieu de <pp></pp>, écrire <p>, ou <div class="pp"></div>
 au lieu de <image>, écrire <img...>, ou <div class="image"></div>
 
Cela fait trois mois que je vois votre tentative d'insérer un texte enrichi dans une page HTML, et ça me fait mal a coeur de voir que vous n'y arrivez pas, malgré tous vos efforts sincères, parce que vous vous obstinez à ne pas vouloir faire comme tout le monde.

Reply

Marsh Posté le 21-01-2012 à 12:50:12    

tintin34 a écrit :

je souhaiterais que vous puissiez me dire si dans une partie de mon fichier XML, je peux avoir cet arbre:

Soit il y a quelque part quelque chose qui définit une structure à respecter pour les balises (telle balise ne peut figurer que dans telle autre, etc), et ceci au moyen d'une DTD, d'un schéma XML, d'un schéma Relax NG, et en ce cas, il faut le voir pour pouvoir répondre, soit tu n'as rien de cela, et alors, seule la syntaxe XML doit être valide (ie toute balise ouverte doit être fermée, etc), et c'est le cas ici.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 21-01-2012 à 13:51:51    

pour gilouje crois pas qu'il y ait le genre d'obligations indiquées (mise à part qu'à un moment j'avais associé une feuille de style au xml pour voir ce que ca pouvait arranger) - par contre mon test de ce matin est sans équivoque (lire plus loin ;)) sur le noeud qui pose selon moi un soucis justement le texte est pas encapsulé d'une part (de part et d'autre de image), je me trompe? et d'autre part la presence de image dans un seul noeud de cette génération pose soucis visiblement (soit y a une contrainte que vous citée exaustivement que j'aurais grossièrement zappé, soit mon code m'impose en fait de manipuler de la donnée homogène)
 
Sinon
oui j'ai bien compris votre remarque billgatesanonym
apres je sais pas si ca justifie, mais plusieurs personnes interviennent dans les modifications de contenu entre autre (et certaines contraintes me sont imposées.)
 
et leur productions de contenu se coordonnent donc par un fichier au format xml lui même plublié entre autre chez un hébergeur (donc via le web), mais pas uniquement;  donc concernant le html de chez l'hebergeur, dont je m'occupe entre autre du code qui le l'interprete, il doit traduire
 
ce que mon javascript fait exactement ou presque (des fois c'est plus complexe) dans une fonction qu'on associerait à votre terme "au lieu de"
 
du reste ca finit par fonctionner en aillant otté l'erreur de syntaxe, le soucis de portabilité de variables, et enfin un dernier soucis que j'ai vérifié ce matin,
 
la structure de l'arbre xml ne convient pas au script:
sur la sous branche que je soupsonnais (vue qu'elle etait différente) en ré-encapsulant les textes par pp et en supprimant la balise image
 
mon parcours ce met à marcher d'où mes 3 questions du post précédant qui est en train de se résumer en  
 
 
si a une certaine génération d'un noeud du xml son premier enfant a eu des fils et des chiens alors tous ses enfants ne peuvent avoir que des fils et des chiens sans que l'un d'entre eux puisse avoir en plus une fille
 
car visiblement c'est la réponse que donnerait mon test de ce matin en suppriment (pour voir) image en tout cas
 
ce qui m'interpelle sur: que le fait constaté, pourrait etre lié à mon code ou bien à une obligation du xml ou un panaché des deux
 
je vais essayer m'ai a priori mettre au moins une balise image a toute la genération où l'un doit en avoir une devrait normalement solutionner l'affaire
 
:)
 
comme dit le proverbe: "Tout vient à point à qui sait attendre" ou encore "c'est en forgeant qu'on devient forgeron"  
 
et quelques aides permettent d'ecarter certaines pistes de bugs potentiels ce qui m'inspire cette citation du XVIe siecle recement découverte, faite par Machiavel dans un discours sur la premiere decade de tite-live:
"Qu’est-ce que la médecine, si ce n’est l’expérience de médecins anciens, prise pour guide par leurs successeurs?"  
et il me semble que c'est exactement l'esprit de ce genre de forums :) vous n'etes pas d'accord billgatesanonym?
 
en vous souhaitant à tous un bon WE ;)
 
du restes les quelques interventions ont toutes étés benéfiques puisqu'elles m'ont inspirées les chemin à parcourir pour avancer:d


Message édité par tintin34 le 21-01-2012 à 14:08:18
Reply

Sujets relatifs:

Leave a Replay

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