Bonjour Matthieu,
On jeu, 2005-04-07 at 15:49 +0200, Matthieu Ricaud wrote:
> 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.
Il doit y avoir des solutions similaires en environnement .Net, mais je
ne les connais pas...
> "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 ?
Oui.
> "schéma RELAX NG annoté", je vais me renseigné sur RELAX NG (has your book
> online a french version ?)
Nope... there is no French translation so far, but volunteers are
welcome to write one :-) ...
> 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 ?
Exactement.
C'est possible à la fois sous RELAX NG et sous W3C XML Schema.
En ce qui concerne RELAX NG, j'ai consacré le chapitre 13 aux
annotations :
http://books.xmlschemata.org/relaxng/RngBookAnnotations.html
Pour rajouter un "label", tu pourrais utiliser des attributs
"étrangers" (utilisant un autre espace de noms et écrire :
<element name="BIBLIO" an:label="Bibliothèque">
.../...
</element>
(syntaxe XML)
ou bien :
[ an:label = "Bibliothèque" ] element BIBLIO { text }
(syntaxe compacte)
A moins que tu ne préfères des éléments "étrangers" :
<element name="BIBLIO">
<an:label>Bibliothèque</an:label>
.../...
</element>
(syntaxe XML)
ou :
[ an:label [ "Bibliothèque" ] ] element BIBLIO { text }
(syntaxe compacte)
> 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)
W3V XML Schema est une recommandation W3C et RELAX NG une norme ISO...
Je laisse chacun libre de décider lequel est le plus "standard" :-) ...
> 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?)
Oui, il y a "trang" de James Clark :
http://www.thaiopensource.com/relaxng/trang.html
Ceci dit, c'est également possible directement avec W3C XML Schema et
c'est le sujet du chapitre 14 de mon livre disponible sous format PDF
(le chapitre 14, pas le livre entier) :
http://www.oreilly.com/catalog/xmlschema/chapter/ch14.pdf
Là encore, tu peux utiliser des attributs étrangers :
<xs:element name="BIBLIO" an:label="Bibliothèque">
.../...
</xs:element>
Ou des éléments qui doivent alors être rangés dans xs:annotation et
xs:appinfo :
<xs:element name="BIBLIO">
<xs:annotation>
<xs:appinfo>
<an:label>Bibliothèque</an:label>
</xs:appinfo>
</xs:annotation>
.../...
</xs:element>
Enfin, dans tous les cas (RNG ou encore plus WXS), tu auras intérêt à ne
pas chercher à supporter toutes les possibilité du langage de schéma
(sinon tu vas te retrouver obliger à écrire une implémentation complête
de RNG ou WXS en XSLT) mais à un sous ensemble bien défini de ses
fonctionnalités.
> enfin je vais me documenter ...
J'espère avoir donné quelques points de départ...
Cordialement,
Eric
--
Carnet web :
http://eric.van-der-vlist.com/blog?t=category&a=Fran%C3%A7ais
------------------------------------------------------------------------
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)
Received on Thu Apr 7 16:08:29 2005