Derivation by restriction [message #591595] |
Thu, 16 September 2004 19:21 |
Paul Cooper Messages: 11 Registered: July 2009 |
Junior Member |
|
|
I have a test case below that seems to be well formed but is failing XSD
validation and I was wondering if anyone can confirm whether is this is
user error or not?
The messages I'm seeing are:
The type of element '#item' must derive from
http://test.org/#item_._type' at line '58' and column '11' in
'file:/C:/test/WSDLLib/Def10783.wsdl'.
The restricted content type must accept a subset of the content accepted
by the base type at line '54' and column '3' in
'file:/C:/test/WSDLLib/Def10783.wsdl'.
(Note, the line numbers may not match the input data as I've edited it
slightly for display purposes)
Here is a copy of the schema:
<s:schema targetNamespace="http://test.org/"
xmlns:s0="http://test.org/"
xmlns:s="http://www.w3.org/2001/XMLSchema">
<s:complexType name="Address" final="restriction">
<s:sequence>
<s:element name="name" type="s:string"/>
<s:element name="street" type="s:string"/>
<s:element name="city" type="s:string"/>
</s:sequence>
</s:complexType>
<!-- type derived by extension -->
<s:complexType name="USAddress">
<s:complexContent>
<s:extension base="s0:Address">
<s:sequence>
<s:element name="state" type="s0:USState"/>
<s:element name="zip" type="s:positiveInteger"/>
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:simpleType name="USState" final="restriction">
<s:restriction base="s:string">
<s:enumeration value="AK"/>
<s:enumeration value="AL"/>
<s:enumeration value="AR"/>
</s:restriction>
</s:simpleType>
<s:complexType name="Items" final="extension">
<s:sequence>
<s:element name="item" minOccurs="0" maxOccurs="unbounded">
<s:complexType>
<s:sequence>
<s:element name="productName" type="s:string"/>
<s:element name="quantity">
<s:simpleType>
<s:restriction base="s:positiveInteger">
<s:maxExclusive value="100"/>
</s:restriction>
</s:simpleType>
</s:element>
<s:element name="USPrice" type="s:decimal"/>
<s:element name="shipDate" type="s:date" minOccurs="0"/>
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
<!-- type derived by restriction -->
<s:complexType name="ConfirmedItems">
<s:complexContent>
<s:restriction base="s0:Items">
<s:sequence>
<s:element name="item" minOccurs="1" maxOccurs="unbounded">
<s:complexType>
<s:sequence>
<s:element name="productName" type="s:string"/>
<s:element name="quantity">
<s:simpleType>
<s:restriction base="s:positiveInteger">
<s:maxExclusive value="100"/>
</s:restriction>
</s:simpleType>
</s:element>
<s:element name="USPrice" type="s:decimal"/>
<s:element name="shipDate" type="s:date" minOccurs="0"/>
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:restriction>
</s:complexContent>
</s:complexType>
</s:schema>
I think the sample input may have been taken from the XSD primer (or
somewhere similar) so it ought to be valid.
Any thoughts will be appreciated,
Thanks,
Paul Cooper.
|
|
|
Powered by
FUDForum. Page generated in 0.03568 seconds