Hi John,

I created a catalog file and placed it in the same folder that contains the gml3.2.0 folder. The catalog refers to the schemas with relative locations - and this is how I would recommend, instead of putting absolute file URLs. In this way you can easily distribute the schemas and the catalog to other machines or other users. The catalog content is below:

gml3.2.0Catalog.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD XML Catalogs V1.1//EN" "http://www.oasis-open.org/committees/entity/release/1.1/catalog.dtd";>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
    <!-- Schema for EPSG namespace -->
    <system
        systemId="urn:x-ogp:spec:schema-xsd:EPSG:0.1:dataset"
        uri="gml3.2.0/EPSG.xsd"/>
    <system
        systemId="http://www.isotc211.org/2005/gml.3.2.1/gml.xsd";
        uri="gml3.2.0/gml/gml.xsd"/>

    <system
        systemId="http://www.isotc211.org/2005/gml.3.2.1/xlink/xlinks.xsd";
        uri="gml3.2.0/xlink/xlinks.xsd"/>
</catalog>

The above catalog needs to be set in Options->Preferences -- XML / XML Catalog in the Catalogs list. In the same folder I have two files, one uses relative locations and one uses absolute locations. Both are reported valid with oXygen 10.0 and with the 10.1 preview.

The files contain the following schema locations:


xsi:schemaLocation="http://www.opengis.net/gml gml3.2.0/gml/gml.xsd
   http://www.w3.org/1999/xlink gml3.2.0/xlink/xlinks.xsd
   urn:x-ogp:spec:schema-xsd:EPSG:0.1:dataset gml3.2.0/EPSG.xsd"

and

xsi:schemaLocation="http://www.opengis.net/gml http://www.isotc211.org/2005/gml.3.2.1/gml.xsd http://www.w3.org/1999/xlink http://www.isotc211.org/2005/gml.3.2.1/xlink/xlinks.xsd urn:x-ogp:spec:schema-xsd:EPSG:0.1:dataset urn:x-ogp:spec:schema-xsd:EPSG:0.1:dataset"

I put all these in an archive that you can download from
http://www.oxygenxml.com/update/john.zip
Note that this URL is not permanent, the archive will be deleted after a week or so.

If you still get errors please let us know what errors exactly do you get and what version and build number of oXygen you are using (you should be able to find these in the Help->About dialog).

Best Regards,
George
--
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

[email protected] wrote:
Hi George,

Thanks for the reply.  I have made comments to your's below:

-----Original Message-----
From: George Cristian Bina [mailto:[email protected]]
Sent: Thursday, 12 February 2009 6:52 PM
To: Hockaday John
Cc: [email protected]
Subject: Re: [oXygen-user] How do I switch off validation of
XSDs that are called by an XML document instance [SEC=UNCLASSIFIED]


Hi John,

Putting the local schemas in the schema location attribute,
like below:

xsi:schemaLocation="http://www.opengis.net/gml gml3.2.0/gml/gml.xsd
    http://www.w3.org/1999/xlink gml3.2.0/xlink/xlinks.xsd
    urn:x-ogp:spec:schema-xsd:EPSG:0.1:dataset gml3.2.0/EPSG.xsd">

I get the file reported valid without any errors.


I was trying to avoid using relative path names because this means that my XML document 
instance will have to be in the "EPSGschemas" directory.  Not everyone will 
have this structure and hence I used full URLs and OASIS Catalogue XML files to point to 
the local copies of the XSDs. (See below.)


Now, a couple of observations:

- your archive contains gml 3.2.0 while your instance refers to gml
3.2.1, see the initial schemaLocation:

xsi:schemaLocation="http://www.opengis.net/gml
http://www.isotc211.org/2005/gml.3.2.1/gml.xsd
    http://www.w3.org/1999/xlink
http://www.isotc211.org/2005/gml.3.2.1/xlink/xlinks.xsd
    urn:x-ogp:spec:schema-xsd:EPSG:0.1:dataset
urn:x-ogp:spec:schema-xsd:EPSG:0.1:dataset">


Yes that is right. However, my OASIS Catalogue XML file has the following 
content.

   <!-- Schema for EPSG namespace -->

    <system
        systemId="urn:x-ogp:spec:schema-xsd:EPSG:0.1:dataset"
        uri="file:///O:/downloads/EPSGschemas/gml3.2.0/EPSG.xsd"/>
    <system
        systemId="http://www.isotc211.org/2005/gml.3.2.1/gml.xsd";
        uri="file:///O:/downloads/EPSGschemas/gml3.2.0/gml/gml.xsd"/>

    <system
        systemId="http://www.isotc211.org/2005/gml.3.2.1/xlink/xlinks.xsd";
        uri="file:///O:/downloads/EPSGschemas/gml3.2.0/xlink/xlinks.xsd"/>

I thought that Oxygen would always use the local files 
(file:///O:/downloads/EPSGschemas/gml3.2.0/) whenever it saw the schemaLocation 
value.  Is this true or have I misinterpreted how Oxygen uses OASIS Catalogue 
XML files?

Today I replaced the schemaLocation values with the three "uri" file values as 
shown in the content of the catalogue file above.  IE 
file:///O:/downloads/EPSGschemas/.... The validation still gave me the same errors.

I have now temporarily moved the huge XML file into the EPSGschemas directory 
and changed the schemaLocation to what you have mentioned above. IE 
gml3.2.0/...  The validation still gives me the same errors.  Shouldn't this 
work?

- the remote schemas at the locations in your original file do not
exist, or at least I cannot access them, I get a 404 not
found HTTP error.


Yes. That is correct.  The schemas have not yet been made public. I have been 
given a ZIP file containing the XSDs. I unzipped them on my local system. This 
was part of what I made available to you via the URL below. Because there were 
no official web site holding this information I used a bogus full URL that I 
know doesn't exist.  I expected Oxygen to get the local XSDs using the OASIS 
Catalogue XML file as mentioned above.

- you do not have a location specified for the last schema,
so I assume
you also have a catalog that maps that to a location?


Yes as mentioned above.

I don't know why you can validate the file and I can't.  It seems to me that I 
am using the OASIS catalogue file correctly but there must be some setting that 
gives me errors and you none.  Could that be right?

Thanks.


John

Best Regards,
George
--
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

[email protected] wrote:
Hi Sorin,

Thanks for your prompt reply.

A long time ago I asked how to validate a whole set of
XSDs.  The response indicated that I should: open a project,
import folders (containing the XSDs) into the project, right
click on the folder (holding the XSDs) and validate selection.
This is what I did with the XSDs that I am using to
validate the huge XML document instance. The validation
errors from above only relate to readme files in the
directories.  Therefore, I assume that the XSDs are valid. I
even removed the readme files and the validation still works.
I have tarred and gzipped the XSDs that I am dealing with.
You can download them from:
http://asdd.ga.gov.au/asdd/work/epsgSchemas.tar.gz
I then validate the huge XML document instance that is
supposed to be valid according to the above mentioned XSDs.
When I do this there are thousands of errors related to the
XSDs mentioned above and within the document.
The huge file that I am trying to validate is available at
http://asdd.ga.gov.au/asdd/work/GmlDictionaryMetadata.xml
Thanks.


John

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
Sorin Ristache
Sent: Wednesday, 11 February 2009 7:03 PM
To: [email protected]
Subject: Re: [oXygen-user] How do I switch off validation of
XSDs that are called by an XML document instance [SEC=UNCLASSIFIED]


Hello,

The XML Schema is validated implicitly when an XML file is
validated
against that schema. You cannot disable that with a
preference. If the
XML Schema is valid then the validation errors are in the XML file.
Please send some sample files to see if the schema or the
XML file is
not valid.


Regards,
Sorin


[email protected] wrote:
Hi,

I have an XML document instance and when I validate it
against and XSD, Oxygen 10.0 validates the XSD?  I have been
told by so called experts that the XSDs are valid but I keep
on getting the errors.  What preferences do I set to validate
the XML document instance and not the relevant XSDs?
Thanks.
_______________________________________________
oXygen-user mailing list
[email protected]
http://www.oxygenxml.com/mailman/listinfo/oxygen-user

_______________________________________________
oXygen-user mailing list
[email protected]
http://www.oxygenxml.com/mailman/listinfo/oxygen-user
_______________________________________________
oXygen-user mailing list
[email protected]
http://www.oxygenxml.com/mailman/listinfo/oxygen-user

Reply via email to