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