Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

xml tech : Technologies XML

[xml-tech] Re: Correspondance entre noeuds de 2 xml

[xml-tech] Re: Correspondance entre noeuds de 2 xml

Auteur: Matthieu Ricaud <matthieu.ricaud@cned.fr>
Date: 08/04/2005 - 16:41
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)

merci à nouveau Eric,

à priori même si le processeurs RELAX NG créera un element vide, ça n'est
pas un problème vu que je n'utiliserai pas de processeurs RELAX NG mais une
simple transformation xsl...(me trompe-je ?) mais puisqu'il y a d'autres
solutions comme tu me le montre et qu'il faut mieux voir à long terme (je
serai peut être amener à en utiliser un par la suite) et puis tant qu'a
utiliser des standards autant rester standard !

tiens au passage, à titre d'info à tu une idée d'où vienne ces nom d'élément
foo, bar etc que les developpeur xml utilise toujours dans les exemple ?

Sinon à propos de ma lecture de ton livre sur Relax NG, je me rend compte
que ça ressemble beaucoup à mon schéma maison (cool!) et ça parait en effet
beaucoup plus intuitif que les dtd ou schema w3c.
par contre je n'ai pas très bien compris pourquoi la syntaxe n'utilise pas
minOccurs et maxOccurs qui me parait tellement plus simple que onOrMore
etc... mais bon faut que je lise jusqu'au bout !
très fort l'utilisation des <ref name="element-title"/> et la récursivité !
Ca complique un peu les choses au niveau de ma xsl qui génère la xsl de
saisie mais après tout rien ne m'empêche de recréer l'arbre du schema sans
ref (par "concaténation") ou bien en implémentant les ref directement ...
est-ce (entre autre) ce que tu sous-entendais lorsque tu disais qu'il me
fallait utiliser un schema très simplifié ?

Sinon qq autres coquilles décellées à la lecture :
http://books.xmlschemata.org/relaxng/ch05s02.html : "It would mot make a
difference if we had written"

http://books.xmlschemata.org/relaxng/RngBookNonXmlSyntax.html : "The compact
syntax is extremely easy to use, especially (but not only if you've ever
worked with DTDs."

Je voulais mettre ceci en annotation du livre mais apparament il faut des
droits ?

Je lis, je me documente et je réfléchis. en tout cas tu m'as ouvert des
perspectives très interessantes !
je reviens prochainement avec certainement un tas de questions ;)

bon we,
Matthieu.

-----Message d'origine-----
De : xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org]De la
part de Eric van der Vlist
Envoyé : vendredi 8 avril 2005 10:13
À : xml-tech@xmlfr.org
Objet : [xml-tech] Re: Correspondance entre noeuds de 2 xml

Bonjour,

On jeu, 2005-04-07 at 18:42 +0200, Matthieu Ricaud wrote:
> je ne suis pas sous .Net mais du vieux asp....
> enfin je vais garder la 1er solution de toute façon.
>
> Donc générer ma xsl de saisie à partir d'un schéma en xml.
> je n'avais jusqu'alors fait de transformation xml==>xsl mais c'est
> l'occasion !

Oui, cela ouvre beaucoup de possibilités!

> cette phase supplémentaire n'est pas problèmatique au final car elle
> n'arrivera qu'une seule fois (pour chaque nouvelle interface d'édition
d'un
> nouveau type de fichier xml).
> Par contre c'est au niveau du développement et du debbugage que ça risque
> d'être un peu lourd... pour tester il va falloir à chaque fois que je
génère
> la xsl ?

Oui.

> je devrais pouvoir automatiser cela dans un script, enfin je verrai
>
> Ensuite quant au choix du schema, je découvre relax ng à la lecture de ton
> livre et je suis assez convaincu :)... comment ne pas l'être !
> tiens au passage un coquille dans la page
> http://books.xmlschemata.org/relaxng/ch04s02.html : "id and this
attribute's
> content must must match this specific rule...". (2 fois must)
> by the way, I would be pleased to translate a part of your book, but not
the
> whole, and even i m not sure i'm good enough technically speaking...
> enfin pour l'instant je vais lire et tacher d'appliquer ce schema à mon
> projet.
> Ah oui il y a une chose que je n'avais pas mentionnée dans mon premier
post
> :
> dans mon schema maison j'avais aussi l'intention de faire de regroupement
de
> plusieurs noeuds : c'est à dire les englober dans un noeud
> <groupeAediterEn1fois> qui permettrait d'éditer un groupe de noeud dans un
> même formulaire avec des bouton javascript pour ajouter/supprimer des
neouds
> (visuellement) et après effectuer en 1 fois les modif dans le fichier xml
> plutot que d'éditer noeud par noeud et d'actualiser le fichier xml à
chaque
> manip.
> Au dela des attribut "perso" peut-on avec relax ng englober un groupe de
> neouds dans un noeud perso ?

Non, cela poserait problème.

Les processeurs RELAX NG appliquent une "simplification" aux schéma
qu'ils lisent
(http://books.xmlschemata.org/relaxng/RngBookRestrictions.html) et une
des premières étapes dans cette simplification consiste à enlever
purement et simplement tout élément et attribut qui n'appartient pas à
l'espace de noms RELAX NG.

Si tu écris :

<element name="foo">
  <an:groupeAediterEn1fois>
    <element name="bar">.../...</element>
    <element name="baz">.../...</element>
  </an:groupeAediterEn1fois>
</element>

La simplification va te transformer cela en :

<element name="foo">
</element>

Ce qui n'est pas ce que tu souhaites obtenir puisque c'est une erreur de
syntaxe (les contenus vides doivent être exprimés explicitement avec le
pattern "<empty/>").

Pour contourner cela, tu pourrais rajouter une annotation au pattern
"group" qui est implicite dans notre cas, par exemple :

<element name="foo">
  <group an:aEditerEn1fois="true">
    <element name="bar">.../...</element>
    <element name="baz">.../...</element>
  </group>
</element>

Cordialement,

Eric van der Vlist

--
Le premier annuaire des apiculteurs 100% XML!
                                                http://apiculteurs.info/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de 
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant 
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Fri Apr 8 18:36:46 2005

Archive générée par hypermail 2.1.8 le 30/04/2005 - 15:12 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement