Title: Parser locating of schema documents

Thanks Neil, that did it. Now I have another question in line with John Powell's most recent send.

I've tried setting the external-schemaLocation property on the parser to abstract my schema and
instance documents from needing to know the exact location of schema files as below.

parser.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation",
"http://www.ncube.com/2001/nable/1.7 /usr/ncube/etc/schema/CMS-DataStructure.xsd
http://www.ncube.com/2001/nable/1.7 /usr/ncube/etc/schema/TypeLibrary-cms.xsd");

That doesn't work but perhaps I'm doing it wrong.  The basic syntax conforms with schemaLocation
as paired namespace reference values but if I'm not pointing to a Web URL should I use a file URL?
Anyone using this feature.  Any help would be appreciated.

C

Christopher R. Halverson
nCube
[EMAIL PROTECTED]
"Never underestimate the ability of any human to delude themselves,"
"and convince others their delusion is absolute"





    -----Original Message-----
    From:   [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]
    Sent:   Thursday, August 30, 2001 9:05 AM
    To:     [EMAIL PROTECTED]
    Subject:        Re: Validation and schema hierarchies

    Hi Chris,

    I notice that your root schema has elementFormDefault="qualified" and your
    included schema has elementFormDefault="unqualified".  Thus the local
    elements in the included schema are in the null namespace, but your
    instance document has the default namespace bound to a non-null namespace.
    This is probably the source of your problem.

    Cheers,
    Neil

    Neil Graham
    XML Parser Development
    IBM Toronto Lab
    Phone:  416-448-3519, T/L 778-3519
    E-mail:  [EMAIL PROTECTED]



    Chris Halverson <[EMAIL PROTECTED]> on 08/30/2001 09:59:26 AM

    Please respond to [EMAIL PROTECTED]

    To:   [EMAIL PROTECTED]
    cc:
    Subject:  Validation and schema hierarchies


    I'm getting these errors, I think its a namespace thing but I'm not sure.
    I would appreciate any help
    in the offing.


    [Error] :8:33: Element type "version" must be declared.
    [Error] :8:33: Attribute "major" must be declared for element type
    "version".
    [Error] :8:33: Attribute "minor" must be declared for element type
    "version".
    [Error] :9:42: Element type "property" must be declared.
    [Error] :9:42: Attribute "key" must be declared for element type
    "property".
    [Error] :9:42: Attribute "value" must be declared for element type
    "property".


    With this instance document


    <?xml version="1.0" encoding="UTF-8"?>
    <XMLDataSet xmlns="http://www.ncube.com/2001/nable/1.7"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.ncube.com/2001/nable/1.7
    CMS-DataStructure.xsd"
            elementId="n_999" name="Test Set" authenticationString="authstring
    ">
            <Category elementId="n_1000" name="Action" dvbCode="String" rating
    ="String" isAdult="1" channelIdent="String">
                    <version major="2" minor="2"/>
                    <property key="String" value="String"/>
                    <property key="String" value="String"/>
                    <note>String</note>
                    <note>String</note>
                    <CategoryRef>String</CategoryRef>
                    <FileRef>String</FileRef>
                    <FileRef>String</FileRef>
                    <CategoryName elementId="n_1001" language="String" name="
    String">
                            <property key="String" value="String"/>
                            <property key="String" value="String"/>
                    </CategoryName>
                    <CategoryName elementId="n_1002" language="String" name="
    String">
                            <property key="String" value="String"/>
                            <property key="String" value="String"/>
                    </CategoryName>
            </Category>


    With this extended schema definition in CMS-DataStructure.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <schema
            targetNamespace="http://www.ncube.com/2001/nable/1.7"
            xmlns:nxs="http://www.ncube.com/2001/nable/1.7"
            xmlns="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="qualified" attributeFormDefault="unqualified">
            <annotation>
                    <documentation xml:lang="en">
     Metadata schema base types for nCUBE Corporation nABLE Metadata API.
     Copyright 2001 nCUBE Corp. All rights reserved.
     </documentation>
            </annotation>
            <include schemaLocation="TypeLibrary-cms.xsd"/>
            <element name="Category">
                    <complexType>
                            <complexContent>
                                    <extension base="nxs:Category">
                                            <sequence>
                                                    <element name="CategoryRef"
    type="nxs:CategoryRef" minOccurs="0"/>
                                                    <element name="FileRef"
    type="nxs:FileRef" minOccurs="0" maxOccurs="unbounded"/>


                                                    <element name="CategoryName
    " type="nxs:CategoryName" maxOccurs="unbounded"/>


                                            </sequence>
                                    </extension>
                            </complexContent>
                    </complexType>
            </element>
    </schema>


    Based on this underlying schema definition in TypeLibrary-cms.xsd


    <?xml version="1.0" encoding="UTF-8"?>
    <schema
            targetNamespace="http://www.ncube.com/2001/nable/1.7"
            xmlns:nxs="http://www.ncube.com/2001/nable/1.7"
            xmlns="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="unqualified" attributeFormDefault="unqualified
    ">
            <complexType name="Version">
                    <attribute name="major" type="positiveInteger" use="
    required"/>
                    <attribute name="minor" type="positiveInteger" use="
    required"/>
            </complexType>
            <complexType name="Property">
                    <attribute name="key" type="string" use="required"/>
                    <attribute name="value" type="string" use="required"/>
            </complexType>
            <complexType name="Category">
                    <sequence>
                            <element name="version" type="nxs:Version"/>
                            <element name="property" type="nxs:Property"
    minOccurs="0" maxOccurs="unbounded"/>
                            <element name="note" type="nxs:Note" minOccurs="0"
    maxOccurs="unbounded"/>
                    </sequence>
                    <attribute name="elementId" type="ID" use="required"/>
                    <attribute name="name" type="string" use="required"/>
                    <attribute name="dvbCode" type="string" use="required"/>
                    <attribute name="rating" type="string" use="required"/>
                    <attribute name="isAdult" type="boolean" use="required"/>
                    <attribute name="channelIdent" type="string"/>
            </complexType>
    </schema>



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

Reply via email to