Re: [HS] xml, namespace et DTD

Page principale

Répondre à ce message
Auteur: Jean-Noel Avila
Date:  
À: mailing liste Guilde
Sujet: Re: [HS] xml, namespace et DTD
Stephane Bonhomme wrote:
> Salut Jean-Noël
>
> Le mar 13/05/2003 à 10:04, Jean-Noel Avila a écrit :
>
>>Bonjour,
>>
>>J'aimerais quelques eclaircissement sur la spécification XML. Dans la
>>spécification XML, j'ai vu qu'on peut définir la syntaxe avec une DTD,
>>ce que j'ai commencé à faire pour mes propres besoins.
>>
>>Mais j'aimerais inclure dans ma propre structure des éléments de la DTD
>>DocBook, pour documenter directement dans le fichier XML. J'ai compris
>>qu'il fallait utiliser le concept de namespace pour faire cohabiter deux
>>espaces de nommage dans le même fichier.
>>
>
>
> C'est tout à fait le rôle des namespace (je les appelle espaces
> nominaux, j'ai pas trouvé mieux :). Ils sont plus adapté à l'utilisation
> de schemas XML que de DTD (cette derniere forme de définition de
> structures XML etant héritée de SGML qui n'était pas modulaire). Il
> existe une version XML schema de la DokBook,
>
>
>>Mais quelques questions se posent :
>>* Comment déclarer proprement dans ma DTD cette inclusion ? le mode
>>PSGML d'emacs n'apprécie pas du tout ce genre de mix.
>
>
> Il est plus simple de déclarer un schema qu'une DTD en tant que
> namespace (voir l'utilisation de l'attribut xmlns dans la spec).
> PGSML est un parser sgml modifié pour supporter XML, mais je ne sais pas
> si à ce jour il permet de valider un document à l'aide d'un schéma.
>


Je me suis débrouillé avec PSGML. Il y a deux pages webs qui expliquent
ca bien :
1. Modifier les mode psgml pour qu'en mode xml, il ne rejette pas les
deux points.
http://lists.xml.org/archives/xml-dev/199907/msg00243.html
2. Définir la DTD en fixant à l'avance les namespace et en spécifiant
toutes les balises d'inclusion. C'est une version dégradée de la version
plus puissante utilisée par xhtml.
http://www.w3.org/TR/xhtml-modularization/dtd_module_rules.html

Pour ma part, j'ai défini un namespace ssa1 pour mes balises, puis j'ai
inclu dans la DTD la DTD de docbook, en faisant référence à l'entité
divcomponent.mix aux endroits où j'avais besoin de mettre du docbook
>
>>* Comment se gère la vérification de validité d'un document XML si on
>>inclut des balises de namespaces différents ?
>
> grace à l'attribut xmlns qui permet de connaitre le schema associé à un
> "fragment" du document.
>

En fait, après lecture, la validité d'un document perd son sens dès
qu'on utilise des namespaces pour mélanger le schémas. La seule chose
qui importe, c'est que le document est bien formé et qu'il marche pour
les traitements qu'on doit lui faire subir !

>
>>* Existe-t-il un éditeur capable de gérer proprement les DTDs en même
>>temps que les namespaces ?
>
>
> Le must en la matière est xmlspy (commercial - windows :( ) il permet
> d'ecrires des schemas, il valide automatiquement. Je ne sais pas si un
> tel éditeur existe en libre, si qqun a eu vent de cela je suis également
> interessé.
> La libXML de Gnome (Daniel veillard) gère la validation par les schemas,
> c'est celle que j'utilise pour mon dev, il en existe bien d'autres comme
> xerces (java - xml.apache.org),
> Voir aussi la page de test des schemas sur
> http://www.w3.org/XML/2001/05/xmlschema-test-collection/results-master.html
> Et les outils référencés sur le w3c http://www.w3.org/XML/Schema#Tools
>

Dommage, schema a l'air puissant ; j'aurais bien aimé pouvoir définir
les champs numériques, plutot que d'utiliser les champs PCDATA trop
génériques.
Mais je n'ai pas trouvé d'éditeur XML libre supportant toutes ces
fonctionnalités. Je pense que c'est un manque réel.


> Amicalement,
> Stéphane
>
> --
> Stéphane Bonhomme 
>      Conseil, Formations et Développement en ingénierie documentaire.
> s.bonhomme@???

>
>
>
>