You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@xml.apache.org by ds...@mmm.com on 2001/07/31 18:00:42 UTC
Schema help with Xerces
I'm using Xerces 1.4.2 and I have a question about Schema design etc...I'm
sure this is a newbie question...
I have a schema that validates an instance of an XML doc...what I don't
understand is that if I remove the xsd: qualifiers and let the namespace be
defaulted to the 2001/schema etc..it complains about my request
element...If I specifically say no namespaces then why is it complaining?
I suppose it's not a big deal to leave the xsd: in there but shouldn't it
allow me to not have it in there if I tell it to process with
xsi:noNamespaceSchemaLocation?
<request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="simple.xsd" server="myserver" database
="mydatabase">
<mmm_facility_code>ht</mmm_facility_code>
<qc_status_code>Qtx</qc_status_code>
</request>
Here is an example of a schema that works...
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="mmm_facility_code" type="xsd:string"/>
<xsd:element name="qc_status_code" type="xsd:string"/>
<xsd:element name="request">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="mmm_facility_code"/>
<xsd:element ref="qc_status_code"/>
</xsd:sequence>
<xsd:attribute name="server" type="xsd:string"
use="required"/>
<xsd:attribute name="database" type="xsd:string" use
="required"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
..Now this schema does not...
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="mmm_facility_code" type="string"/>
<element name="qc_status_code" type="string"/>
<element name="request">
<complexType>
<sequence>
<element ref="mmm_facility_code"/>
<element ref="qc_status_code"/>
</sequence>
<attribute name="server" type="string" use="required"/>
<attribute name="database" type="string" use="required"/>
</complexType>
</element>
</schema>
This generates the following SAX exception...
Generated fault:SAXException
Error msg:The content of element type "request" must match
"(mmm_facility_code,qc_status_code)".
Thanks
Doug