Hi

I have an XSD defined with multiple includes ie:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
        <xs:annotation>
                <xs:documentation>Version 1.2</xs:documentation>
        </xs:annotation>
        <xs:include schemaLocation="CARD_RANGE.xsd"/>
        <xs:include schemaLocation="CARD.TYPE.xsd"/>
        ....

        <xs:element name="TRANSACTION">
                <xs:complexType>
                        <xs:choice maxOccurs="unbounded">
                                <xs:element name="CARD_RANGE" 
type="CARD_RANGEType"/>
                                <xs:element name="CARD_TYPE" 
type="CARD_TYPEType"/>
etc...

The includeded xsd's  also has includes:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
elementFormDefault="qualified" attributeFormDefault="unqualified">
        <xs:include schemaLocation="PCMSPOSSimpleTypes.xsd"/>
        <xs:complexType name="CARD_RANGEType">
etc..

which inturn has an include

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
elementFormDefault="qualified" attributeFormDefault="unqualified">
        <xs:annotation>
                <xs:documentation>Version 1.1</xs:documentation>
        </xs:annotation>
        <xs:include schemaLocation="PCMSSimpleTypes.xsd"/>
        <xs:simpleType name="POSNAMEType4">
                <xs:restriction base="PCMSNAMEType">
etc....


I jar all the xsd files up in a jar .
In the application code I reference this as follows:


      URL url = getClass().getResource(initialXSD);
      String xsdLocation=url.toString();


parser.setProperty("http://apache.org/xml/properties/schema/external-noNames
paceSchemaLocation",xsdLocation);

The xsdLocation looks like: jar:file:/C:/Tomcat
4.1/webapps/data/WEB-INF/lib/xsd.jar!/PCMSStructures.xsd

under xerces1 My DOMParser can see this and uses the XSD correctly.

Under Xerces2 it can't find the XSD. I get :

DOM parser invalid SELLING_CODE
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'LONGLABELType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'LONGLABELType' to a(n) simpleType definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'LONGLABELType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'LONGLABELType' to a(n) simpleType definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PCMSINTEGERType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PCMSINTEGERType' to a(n) simpleType definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'ORG_UNIT_COMPANYType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'CARD_RANGEType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'CREDITType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'LINKED_PRODUCTType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'OPERATORType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'ORG_UNIT_OUTLETType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PAYMENT_MEDIAType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PAYMENT_TYPEType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PRICEType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PRICE_BANDType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PRODUCTType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PRODUCT_GROUPType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PRODUCT_GROUP_STRUCTUREType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PRODUCT_PROD_GROUPINGType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PROMOTIONType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'PURCHASE_ADVICEType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'ROLEType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'SELLING_CODEType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'SERIALISED_PRODUCTType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'TAX_CODEType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'TILLType' to a(n) type definition component.
DOM exception : org.xml.sax.SAXParseException: src-resolve: Cannot resolve
the name 'ORG_UNIT_WAREHOUSEType' to a(n) type definition component.


If I change the XSD location to point to file:///c:/temp/myxsd.xsd it still
doesn't work. It sees to look for the included files in the working
dirctory.
If I drop all the xsd files into the working directory it all works
correctly.

I am working with the xerces2 that comes with tomcat 4.1.2 (whatver version
that is)
Trying the latest xerces2 I get the error as :

DOM parser invalid SELLING_CODE
DOM exception : org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the
declaration of element 'FILE'.

Anyone have any pointers on how to get xerces2 to accept an XSD with
includes ?

Mark


________________________________________________________________________
The information contained in this e-mail is intended only for the person
or entity to which it is addressed and may contain confidential and/or
privileged material. If you are not the intended recipient of this
e-mail, the use of this information or any disclosure, copying or
distribution is prohibited and may be unlawful.

If you received this in error, please contact the sender and delete the
material from any computer.

The views expressed in this e-mail may not necessarily be the views of
The PCMS Group plc and should not be taken as authority to carry out any
instruction contained.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to