Bonjour,
Merci pour ta réponse Eric. impossible de répondre plus tôt j'étais pris sur
autre chose...
Je tavail en asp avec msxml comme parser.
Et j'avoue ne pas trop connaître les autres environnnements...
Apparement Xerces est un parser sous java, je ne connais pas vraiment ce
langage ni ne l'utilise dans mon projet actuel, donc
c'est plutôt vers ta 1ere solution que je m'orienterai.
"La première est de générer à partir de votre schéma la transformation
XSLT qui traitera la saisie du document.
Cela rajoute une phase mais cela simplifie également beaucoup votre
problème puisque vous pouvez générer les expressions XPath qui seront
utilisés dans votre transformation."
"votre schéma", tu parles de mon schéma maison ?
"schéma RELAX NG annoté", je vais me renseigné sur RELAX NG (has your book
online a french version ?)
Mais en tout cas je suis à 100% pour utiliser des formats de schéma existant
plutôt que ma recette maison...
je pensais ne pas avoir le choix compte tenu de ce que je voulais faire mais
d'après ce que je comprend on peut ajouter des paramètre "perso" au schéma
via des annotation ?
Sinon (de manière un peu dogmatique peut-être?) j'aurais préféré utiliser
les schema w3c (le plus stantard qu'il soit je pensais) mais j'imagine qu'il
y a des équivalence (existe-t-il un outil pour passer d'un schema w3c à un
relaxNG et réciproquement?)
enfin je vais me documenter ...
a bientôt donc,
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é : mercredi 6 avril 2005 18:59
À : xml-tech@xmlfr.org
Objet : [xml-tech] Re: Correspondance entre noeuds de 2 xml
Bonsoir,
On mer, 2005-04-06 at 18:16 +0200, Matthieu Ricaud wrote:
.../...
> enfin ceci est un peu résumé évidement mais le principe est là.
>
> J'ai souvent besoin de faire cette correspondance dans ma xsl, j'aimerai
> pouvoir simplifier ceci, par appel d'un template par exmple qui me
> permettrai de passer provisoirement sur le noeud correspondant et revenir
au
> noeud contextuel juste après.
> Ou peut-être utiliser xsl:key pour faire plus facilement cette
correpondance
> assez redondante mais je ne vois pas trop comment...
> Avez vous des idées ?
C'est le type de traitements qui sont assez pénibles à faire avec XSLT
et XPath!
> suggestions et critiques sur le principe sont aussi les bienvenues :) !
Juste deux pistes pour aborder le problème différemment...
La première est de générer à partir de votre schéma la transformation
XSLT qui traitera la saisie du document.
Cela rajoute une phase mais cela simplifie également beaucoup votre
problème puisque vous pouvez générer les expressions XPath qui seront
utilisés dans votre transformation.
La deuxième (si votre environnement le permet) serait de faire cela en
DOM en s'appuyant sur la capacité de Xerces d'accéder au PSVI associé à
un document pendant sa validation.
Pour cela, il faudrait que vous utilisiez un schéma W3C XML Schema en
rajoutant les informations qui vous manquent dans le langage dans des
annotations.
Après parsing du document en mode validation, Xerces vous donne accès
aux définitions W3C XML Schema décrivant chacun des noeuds.
A priori, personnellement je choisirais (par goût) la première solution
en me basant sur un schéma RELAX NG annoté plutôt que sur un vocabulaire
maison, mais la seconde peut également être intéressante :-) ...
Cordialement,
Eric van der Vlist
--
Curious about Relax NG? Read my book online.
http://books.xmlschemata.org/relaxng/
------------------------------------------------------------------------
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 Thu Apr 7 15:44:06 2005