From: Arnaud Lenfant (arnaud.lenfant@netonomy.com)
Date: 22/10/2003 - 13:46
Bonjour,
Je souhaite valider un document par rapport au schema suivant:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="container">
<xs:complexType>
<xs:sequence>
<xs:element name="object" type="A"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="A" abstract="true">
<xs:attribute name="code" type="xs:NCName" use="required"/>
</xs:complexType>
<xs:complexType name="B">
<xs:complexContent>
<xs:extension base="A">
<xs:attribute name="b" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
Mon type A etant abstrait, je ne pourrait utiliser que des instances de B, en spécifiant le type avec xsi:type.
<container xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<object xsi:type="B" code="test" b="test"/>
</container>
Suivant le validateur que j'utilise, le verdict est different !
MSV par exemple ne reconnait pas le type B comme un sous type de A .. tant que je ne declare pas de target namespace pour mon schema.
Je n'avais jusqu'à present aucune raison de déclarer un namespace, et cela risquerait de me poser des problèmes par la suite.
Est il légal de spécifier le type d'un element avec xsi:type si ce type n'est pas déclaré dans un namespace ?
Merci,
Arnaud Lenfant
--
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
|