G
GB
If I define the following schema which allows either a tag element OR
an tag and origin_system elements I get an error. Same thing happens
when I use groups. Is this because tag is defined twice? My reading of
the XML-Schema spec seems to suggest that the schema is valid & that
Xerces is in error.
I get the error with Java Xerces 2.3.0 but not with C++ Xerces 1.7.0.
Can anyone explain?
Here's the error...
error [4,16] cvc-complex-type.2.4.a: Invalid content starting with
element 'origin_system'. The content must match
'((("":tag))|(("":tag),(""rigin_system)))'.
Here's the schema....
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="fx" type="fx_type"/>
<xsd:complexType name="fx_type">
<xsd:choice>
<xsd:sequence>
<xsd:element name="tag" type="xsd:string" minOccurs="1"
maxOccurs="1"/>
</xsd:sequence>
<xsd:sequence>
<xsd:element name="tag" type="xsd:string" minOccurs="1"
maxOccurs="1"/>
<xsd:element name="origin_system" type="xsd:string"
minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:choice>
</xsd:complexType>
</xsd:schema>
Heres the XML...
<?xml version="1.0" encoding="UTF-8"?>
<fx>
<tag>$0000000002275ABD</tag>
<origin_system>PAB</origin_system>
</fx>
an tag and origin_system elements I get an error. Same thing happens
when I use groups. Is this because tag is defined twice? My reading of
the XML-Schema spec seems to suggest that the schema is valid & that
Xerces is in error.
I get the error with Java Xerces 2.3.0 but not with C++ Xerces 1.7.0.
Can anyone explain?
Here's the error...
error [4,16] cvc-complex-type.2.4.a: Invalid content starting with
element 'origin_system'. The content must match
'((("":tag))|(("":tag),(""rigin_system)))'.
Here's the schema....
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="fx" type="fx_type"/>
<xsd:complexType name="fx_type">
<xsd:choice>
<xsd:sequence>
<xsd:element name="tag" type="xsd:string" minOccurs="1"
maxOccurs="1"/>
</xsd:sequence>
<xsd:sequence>
<xsd:element name="tag" type="xsd:string" minOccurs="1"
maxOccurs="1"/>
<xsd:element name="origin_system" type="xsd:string"
minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:choice>
</xsd:complexType>
</xsd:schema>
Heres the XML...
<?xml version="1.0" encoding="UTF-8"?>
<fx>
<tag>$0000000002275ABD</tag>
<origin_system>PAB</origin_system>
</fx>