- From: Eddie Robertsson <erobertsson@allette.com.au>
- Date: Fri, 26 Apr 2002 09:57:04 +1000
- To: Scott Chastain <scott_chastain@fanniemae.com>
- CC: xmlschema-dev@w3.org
Hi Scott, > As a C++ programming my overloading instincts make me want the > funtionality > displayed in these examples. Help me understand why XmlSpy validates > one > way in schema view and another way in text view; and also help me > understand > why my examples should not be valid. Please. I can't answer why XML Spy validates in one view and gives errors in another but I can confirm that your schema is in fact invalid. The reason is the following: <xs:complexType> <xs:choice> <xs:element name="mydate" type="xs:date"> <xs:annotation> <xs:documentation>date</xs:documentation> </xs:annotation> </xs:element> <xs:element name="mydate" type="xs:dateTime"> <xs:annotation> <xs:documentation>date time</xs:documentation> </xs:annotation> </xs:element> </xs:choice> </xs:complexType> In XML Schema you can't have two element declarations with the same name but different types in the same content model. Cheers, /Eddie > > > BEGIN EXAMPLE > -------------------------------------------------------------------------------------- > > <?xml version="1.0" encoding="UTF-8"?> > <!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Scott--> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > elementFormDefault="qualified" attributeFormDefault="unqualified"> > <xs:element name="root"> > <xs:complexType> > <xs:sequence> > <xs:element name="example1"> > <xs:annotation> > <xs:documentation>Example of the W3C error: > cos-element-consistent</xs:documentation> > </xs:annotation> > <xs:complexType> > <xs:choice> > <xs:element name="mydate" type="xs:date"> > <xs:annotation> > <xs:documentation>date</xs:documentation> > </xs:annotation> > </xs:element> > <xs:element name="mydate" type="xs:dateTime"> > <xs:annotation> > <xs:documentation>date time</xs:documentation> > </xs:annotation> > </xs:element> > </xs:choice> > </xs:complexType> > </xs:element> > <xs:element name="example2"> > <xs:annotation> > <xs:documentation>More subtle version</xs:documentation> > </xs:annotation> > <xs:complexType> > <xs:choice> > <xs:sequence> > <xs:element name="mydate" type="xs:date"> > <xs:annotation> > <xs:documentation>date</xs:documentation> > </xs:annotation> > </xs:element> > <xs:element name="myValue" type="xs:double"/> > </xs:sequence> > <xs:sequence> > <xs:element name="mydate" type="xs:dateTime"> > <xs:annotation> > <xs:documentation>date time</xs:documentation> > </xs:annotation> > </xs:element> > <xs:element name="myValue" type="xs:double"/> > </xs:sequence> > </xs:choice> > </xs:complexType> > </xs:element> > </xs:sequence> > </xs:complexType> > </xs:element> > </xs:schema> > ------------------------------------------------------------------ > END EXAMPLE
Received on Thursday, 25 April 2002 20:10:06 UTC