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 A Yang <ay...@yahoo.ca> on 2001/12/21 20:41:32 UTC

Xerces 1.4.4 validation question

Hi,

I'm using Xerces 1.4.4 and trying to validate a very
simple test case of multiple namespaces across
multiple schemas. In this example, I've got two base
schemas (Product.xsd and Person.xsd) being used by a
third (Company.xsd).

This is actually an example taken verbatim from
www.xfront.com.

Eyeballing the schemas and instances, I can't find
what's wrong and why the Company element is not being
found valid.

Any help would be appreciated.

Thanks,
Andy

Product.xsd--------------------------------------------

<?xml version="1.0"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://www.product.org"
            xmlns="http://www.product.org"
            elementFormDefault="unqualified">
    <xsd:complexType name="ProductType">
        <xsd:sequence>
           <xsd:element name="Type"
type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>

Person.xsd--------------------------------------------

<?xml version="1.0"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://www.person.org"
            xmlns="http://www.person.org"
            elementFormDefault="unqualified">
    <xsd:complexType name="PersonType">
        <xsd:sequence>
           <xsd:element name="Name"
type="xsd:string"/>
           <xsd:element name="SSN" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>


Company.xsd--------------------------------------------

<?xml version="1.0"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://www.company.org"
            xmlns="http://www.company.org"
            elementFormDefault="unqualified"
            xmlns:per="http://www.person.org"
            xmlns:pro="http://www.product.org">
    <xsd:import namespace="http://www.person.org"
                schemaLocation="Person.xsd"/>
    <xsd:import namespace="http://www.product.org"
                schemaLocation="Product.xsd"/>
    <xsd:element name="Company">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="Person"
type="per:PersonType" 
                             maxOccurs="unbounded"/>
                <xsd:element name="Product"
type="pro:ProductType" 
                             maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

company.xml--------------------------------------------
<?xml version="1.0"?>
<Company xmlns="http://www.company.org"
         xmlns:pro="http://www.product.org"
         xmlns:per="http://www.person.org"
        
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation=
                        "http://www.company.org
                         Company.xsd">
        <Person>
                <per:Name>John Doe</per:Name>
                <per:SSN>123-45-6789</per:SSN>
        </Person>
        <Product>
                <pro:Type>Widget</pro:Type>
        </Product>
</Company>

Execution:---------------------------------------------

java sax.SAXCount -v -n -s -p org.apache.xerces.par
sers.SAXParser company.xml


The
output:--------------------------------------------

[Error] company.xml:9:17: Element type "Person" must
be declared.
[Error] company.xml:10:27: Element type "per:Name"
must be declared.
[Error] company.xml:11:26: Element type "per:SSN" must
be declared.
[Error] company.xml:13:18: Element type "Product" must
be declared.
[Error] company.xml:14:27: Element type "pro:Type"
must be declared.
[Error] company.xml:16:12: The content of element type
"Company" must match "(Pe
rson+,Product+)".
company.xml: 547 ms (6 elems, 5 attrs, 19 spaces, 94
chars)


______________________________________________________ 
Send your holiday cheer with http://greetings.yahoo.ca

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-user-help@xml.apache.org