You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xerces.apache.org by Aleksandar Milanovic <am...@galdosinc.com> on 2002/08/01 03:08:30 UTC
RE: Allowable schema representations
Actually, MSXML 4.0 complains about this schema. It says that elements with
the same name and in the same scope have to be of the same type. In this
case, type C2 contains two A elements of different types, hence the schema
is invalid.
Strangely, I too couldn't find anything in the XML Schema spec. about this.
Alex
---------------------------------------------------------------------------
Aleksandar Milanovic | Privileged or confidential information may be
Product Manager/Engineer | contained in this message. If this message was
Cartagena Project | not intended for you, destroy it and notify us
Galdos Systems Inc. | immediately. Opinions, conclusions,
Tel: (604) 484-2750 | recommendations, and other information presented
Fax: (604) 484-2755 | in this message are not given or necessarily
amilanovic@galdosinc.com | endorsed by my employer or firm.
-----Original Message-----
From: Bob Schloss [mailto:rschloss@us.ibm.com]
Sent: Wednesday, July 31, 2002 10:15 AM
To: xerces-j-user@xml.apache.org
Subject: Re: Allowable schema representations
W3C XML Schema language permits different content models for elements with
the same name, as long as the validator can unambiguously determine which
content model applies. Your examples are legal.
Bob Schloss
XML/XSL Transformational Systems
IBM Thomas J. Watson Research Center
Yorktown Heights, New York, USA
Please respond to xerces-j-user@xml.apache.org
To: xerces-j-user@xml.apache.org
cc:
Subject: Allowable schema representations
If I define an XML schema as follows:
<?xml version="1.0" encoding="UTF-8"?>
<!-- strange.xsd -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://localhost/strange"
xmlns="http://localhost/strange"
elementFormDefault="qualified">
<xsd:complexType name="C1">
<xsd:sequence>
<xsd:element name="A" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="C2">
<xsd:sequence>
<xsd:element name="A" type="C1"/>
<xsd:element name="A" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="A" type="C2"/>
</xsd:schema>
then an instance document looks like
<?xml version="1.0" encoding="UTF-8"?>
<!-- strange.xml -->
<A xmlns="http://localhost/strange"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://localhost/strange strange.xsd">
<A>
<A>foo</A>
</A>
<A>bar</A>
</A>
Is there anything inherently wrong with having an "A" element used in
many different ways? Xerces will certainly validate the document OK, and
I couldn't find anything in the xml-schema spec that invalidates this.
It looks strange to me, as I don't think you could have defined this
structure using a DTD. Does anyone have a view on this?
cheers
Loz
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-user-help@xml.apache.org