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.

From: Jean-Marc Vanel (jmvanel@free.fr)
Date: 07/06/2003 - 15:34


Fabrice Castellon wrote:

>Bonjour,
>
>J'aimerais savoir s'il existe des projets open source qui permettent de créer a partir d'un XSD, un document XML valide en lui proposant les balises adaptées. (genre ce que fait XML Spy)
>
Il y a pollo et gendoc. Comme par hasard ce sont deux projets Français
-:)) . Voir les URL ici:
http://jmvanel.free.fr/Principales_sources_technologiques.htm

gendoc je ne sais pas encore, mais pollo n'utilise pas toute
l'information du XSD, en gros il prend l'info. de type DTD.

>Mieux, sous vous aviez des astuces à me donner pour réaliser un tel produit je suis tout ouie. J'aimerais mettre en memoire ce XSD et l'utiliser efficacement. J'hesite a passer par des objets ou par un document xml qui permettrait d'exploiter ce XSD.
>
Il y a un endroit dans le document XML Schema où mettre des infos à
destination d'un programme c'est la balise appinfo; par exemple pour y
mettre un libellé de formulaire, le nom d'une classe qui va valider la
saisie, ou bien des contraintes en XPath, etc ... On peut mettre des
appinfo à tous les niveaux d'un document XML Schema.

Une autre piste que je peux donner, c'est ceci:

  Document Object Model (DOM) Level 3 Validation Specification

    Version 1.0

    W3C Working Draft 05 February 2003

http://www.w3.org/TR/2003/WD-DOM-Level-3-Val-20030205/validation.html

Pour donner le parfum de cette spec., voici l'interface principale :

interface NodeEditVAL <http://www.w3.org/TR/2003/WD-DOM-Level-3-Val-20030205/validation.html#VAL-Interfaces-NodeEditVAL> {

  // CheckTypeVAL
  const unsigned short WF_CHECK = 1;
  const unsigned short NS_WF_CHECK = 2;
  const unsigned short PARTIAL_VALIDITY_CHECK = 3;
  const unsigned short STRICT_VALIDITY_CHECK = 4;

  readonly attribute DOMString defaultValue <http://www.w3.org/TR/2003/WD-DOM-Level-3-Val-20030205/validation.html#NodeEditVAL-defaultValue>;
  readonly attribute DOMStringList enumeratedValues <http://www.w3.org/TR/2003/WD-DOM-Level-3-Val-20030205/validation.html#NodeEditVAL-enumeratedValues>;
  boolean canInsertBefore <http://www.w3.org/TR/2003/WD-DOM-Level-3-Val-20030205/validation.html#VAL-Interfaces-NodeEditVAL-canInsertBefore>(in Node newChild,
                                     in Node refChild);
  boolean canRemoveChild <http://www.w3.org/TR/2003/WD-DOM-Level-3-Val-20030205/validation.html#VAL-Interfaces-NodeEditVAL-canRemoveChild>(in Node oldChild);
  boolean canReplaceChild <http://www.w3.org/TR/2003/WD-DOM-Level-3-Val-20030205/validation.html#VAL-Interfaces-NodeEditVAL-canReplaceChild>(in Node newChild,
                                     in Node oldChild);
  boolean canAppendChild <http://www.w3.org/TR/2003/WD-DOM-Level-3-Val-20030205/validation.html#VAL-Interfaces-NodeEditVAL-canAppendChild>(in Node newChild);
  boolean isNodeValid <http://www.w3.org/TR/2003/WD-DOM-Level-3-Val-20030205/validation.html#NodeEditVAL-isNodeValid>(in boolean deep,
                                 in unsigned short wFValidityCheckLevel)
                                        raises(ExceptionVAL <http://www.w3.org/TR/2003/WD-DOM-Level-3-Val-20030205/validation.html#ExceptionVAL>);
};

Ce n'est encore qu'un document de travail, mais c'est exactement ce dont
les éditeurs XML ont besoin. Il y a une valeur ajoutée par rapport à
l'accès "brut" à l'élément du Schema correspondant au noeud courant (ce
que fait la Post Validation Schema Information de Xerces). Il n'y a
encore aucune implémentation, mais certainement Xerces (et les autres)
vont s'y mettre quand ce sera une recommandation. En attendant, il est
bon de s'y conformer, même si on en fait une implémentation très
partielle et spécifique. Ainsi le moment venu, on pourra brancher une
implémentation conforme.
Ce que DOM3 ne précise pas c'est comment instancer ces interfaces. Si
c'est comme PSVI avec Xerces, on transtypera (cast) un noeud ordinaire
vers l'interface NodeEditVAL. Si on veut utiliser tout de suite ces
interfaces, sans présager de la façon d'instancier, on peut par exemple
faire une fabrique avec une méthode :
NodeEditVAL createNodeEditVAL(Node n);

-- 
Jean-Marc Vanel 
NOSPAM@free.fr 
(remplacez NOSPAM par jmvanel ci-dessus)
(replace   NOSPAM by  jmvanel above)
http://jmvanel.free.fr/ ===) CV, software resources 

Worldwide Botanical Knowledge Base http://wwbota.free.fr/ Demo.: 8500 species of the Flora of China with Cocoon and eXist: http://jmvanel.free.fr/protea.html

-- 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)



Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 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