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: Truffot Jérôme (jerome.truffot@cemagref.fr)
Date: 18/06/2002 - 08:12


Pour la solution de Stephane, ce n'est pas un problème dut à msxml 4.0. dans
les règles de validation donné par le W3C, il est bien précisé qu'un élement
doit avoir un et un seul type associé. Ceci se fait soit par l'attribut type
comme tu as fait :
> <xs:element name="ELEM" type="CT1" />
soit à l'aide des type anonymes dont parle Baruk :
<xs:element name="ELEM">
  <xs:complexType>
    ...
  </xs:complexType>
</xs:element>

Pour la solution de Baruk, je suis désolé mais ça ne doit pas marcher non
plus. A priori, toujours sur la spécif du W3C, l'élément choice ne peut pas
avoir comme fils un élement complexType (il peut avoir element, groupe, et
autres).

Bref, il parait difficile de s'en sortir. En effet, comme j'ai dit
précedemment, un XML Schema associe un type à chaque élément. Et ceci, même
si on ne définit pas d'élement directement dans le schéma. On peut ne
définir que des types que l'on appelle ensuite à l'aide des namespace dans
l'instance (fichier XML) à l'aide de l'attribut xs:type. Cet attribut permet
d'associer le type voulu à un élement. Il reste que cet association est trop
rigoureuse, on aimerait bien avoir des éléments qui puissent prendre un type
parmi un ensemble et ceci sans avoir à le préciser.
On revient donc à un sujet dont on a discuté il y a quelques jours sur cette
liste : le typage dynamique (ou automatique).
On s'était arrété à l'attribut xs:type dont je parle un peu plus haut. Je
crois pas que ce soit un véritable typage dynamique vu que l'on précise
quand même l'association element-type.
Bref, je pense qu'à l'heure actuelle, le typage dynamique est un manquement
cruel aux XML schemas. Il est même étonnant qu'aucun parseur ne soit capable
de vérifier la validité d'un document à partir d'une structure définie à
l'aide des types (c'est-à-dire des objets !!!! dans un vrai terme de langage
orienté objets).

-----Message d'origine-----
De : Baruk Toledano [mailto:Baruk.Toledano@dess-ia.infop6.jussieu.fr]
Envoyé : lundi 17 juin 2002 22:03
À : xml-tech@xmlfr.org
Objet : [xml-tech] Re: un complexType ou un autre

et comme ça ?

 <xs:complexType name="ELEM" >
> <xs:choice minOccurs="1">
> <xs:complexType name="CT1">
> <xs:sequence>
> <xs:element name="MEMB1" type="xs:string" />
> </xs:sequence>
> <xs:attribute name="att1" type="xs:string" use="required" />
> </xs:complexType>
       <xs:complexType name="CT2">
> <xs:sequence>
> <xs:element name="MEMB2" type="xs:string" />
> </xs:sequence>
> <xs:attribute name="att2" type="xs:int" use="required" />
> </xs:complexType>
> </xs:choice>
></xs:complexType>

est ce que le "name" est obligatoire ?
je crois qu'on peut utiliser des types anonymes

Stéphane MAIRESSE a écrit :
>
> Merci pour ta solution mais celle-ci ne me satisfait pas pour la raison
> suivante :
> en effet, la solution proposé m'oblige à insérer des éléments
hiérarchiques
> (Choix1 et Choix2) dont je souhaiterais me passer, voilà le fond de mon
> problème.
>
> Dans le cas où le choix (xs:choice) est effectué entre l'élément ELEM de
> type CT1 et l'élément ELEM de type CT2, le parser msxml 4.0 refuse cette
> syntaxe (voir ci-dessous).
>
> Est ce un manque de msxml 4.0, une autre solution existe elle ou bien XML
> Schema interdit cette syntaxe ?
>
> Merci !!!
> <xs:complexType name="X" >
> <xs:choice minOccurs="1">
> <xs:element name="ELEM" type="CT1" />
> <xs:element name="ELEM" type="CT2" />
> </xs:choice>
> </xs:complexType>
>
> <xs:complexType name="CT1">
> <xs:sequence>
> <xs:element name="MEMB1" type="xs:string" />
> </xs:sequence>
> <xs:attribute name="att1" type="xs:string" use="required" />
> </xs:complexType>
>
> <xs:complexType name="CT2">
> <xs:sequence>
> <xs:element name="MEMB2" type="xs:string" />
> </xs:sequence>
> <xs:attribute name="att2" type="xs:int" use="required" />
> </xs:complexType>
>
> --
> 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)

-- 
Cordialement,
Baruk Tolédano.
In theory, there is no difference between theory and practice.
But, in practice,there is
--
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)



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