[auscope-geosciml] RE : Fw: XMLSpy refuses to validate GeoSciML instancedocuments ISSUE=33916 PROJ=9

Boisvert, Eric Eric.Boisvert at RNCan-NRCan.gc.ca
Mon May 16 19:48:38 EDT 2011


>I am unable to prepare any Testbed 4 instances until I can get XMLSpy to work with GeoSciML v3. 
 
isn't the problem restricted to when you try to wrap the instance into a WFS feature collection ?

________________________________

De: auscope-geosciml-bounces at lists.arcs.org.au de la part de Bruce.Simons at dpi.vic.gov.au
Date: lun. 2011-05-16 19:17
À: auscope-geosciml at lists.arcs.org.au
Objet : [auscope-geosciml] Fw: XMLSpy refuses to validate GeoSciML instancedocuments ISSUE=33916 PROJ=9


Response to Marcus' comments from Altova below. 
Altova believe they are strictly following the specifications and our schema are at fault. 

Whether Altova are correct or not I believe we should clean up the GeoSciML schema so that they work in XMLSpy from the canonical source rather than local catalogs. 

I am unable to prepare any Testbed 4 instances until I can get XMLSpy to work with GeoSciML v3. 

----------------------------------------------------
Bruce Simons 
Senior Information Geoscientist
IUGS-Commission for Geoscience Information Oceania Councillor
GeoScience Victoria/Australian Spatial Research Data Commons 
Level 9, 55 Collins St 
PO Box 4440 
Melbourne, Victoria, 3001 
Australia 

Ph: +61-3-9658 4502
Fax: +61-3-9658 4555 
Mobile: +61 429 177155 
----- Forwarded by Bruce Simons/DPI/VICGOV1 on 17/05/2011 09:04 AM ----- 

From:        Altova Technical Support Team <afpsup at altova.com> 
To:        Bruce.Simons at dpi.vic.gov.au 
Date:        17/05/2011 01:52 AM 
Subject:        XMLSpy refuses to validate GeoSciML instance documents ISSUE=33916 PROJ=9 

________________________________




When replying, type your text above this line.
----------------------------------------------
Case # :       33916
Submitted on:  2011-05-16 01:58:46

First Name:    Bruce 
Last Name:     Simons
Company:       GeoScience Victoria
Email:         Bruce.Simons at dpi.vic.gov.au
Alt Email:     Bruceasimons at hotmail.com
Country:       Australia 
KeyCode:       80WA5J9-CH4M7X8-07YX0P8-71LMYC9-TXJHPY1

Product:       XMLSpy_Professional_Edition
Version:       2011r2
OS:            win_xp
OS SP:         
OS Language:    
IE Version:    ff3.6
IE SP:         

-------------------------------------------------------------------
Summary:       XMLSpy refuses to validate GeoSciML instance documents

-------------------------------------------------------------------

Entered on 2011-05-16 at 17:51:27 by Riccardo Corona:
Dear Bruce,

Thank you for contacting us.

The first error appears to be reasonable in my opinion: in fact the 'schemaLocation' element in the instance XML document tries to load a Schema
document with namespace 'http://xmlns.geosciml.org/GeoSciML-Core/3.0', while such Schema actually has 'http://xmlns.geosciml.org/GeoSciML/3.0' defined
as targetnamespace. The general mechanism is explained here:

http://www.w3schools.com/schema/schema_schema.asp <http://www.w3schools.com/schema/schema_schema.asp> 

I believe the Altova engine implements the most strict strategy suggested by the specification:

http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#schema_reference <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#schema_reference> 

Regarding the error on the Schema: this again appears to be correctly raised by the validator. In fact even if the section:

http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#sch-props-correct <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#sch-props-correct> 

..is a subsection of '3.15 Schemas as a Whole', it clearly refers to *all* the Schemas that concur to the creation of the 'Schema as a whole'. All
those Schemas must respect the constraints:

****************************
3.15.6 Constraints on Schemas as a Whole

All schemas (see Schemas as a Whole (§3.15)) must satisfy the following constraint.
[...]
****************************

Perhaps you missed the above two lines because when you open the link from the error message in XMLSpy, you are prompted directly to the subsequent
constraints. 

Please let me know whether the above points sound correct to you.

Best regards,

Riccardo Corona
Support Engineer
Altova GmbH
www.altova.com

________________________________________
This e-mail and any attachments are intended only for the person/entity to which they are addressed and may contain confidential and/or privileged
material. If you received this in error, please notify the sender and delete the message. 
Altova GmbH, Firmenbuch: FN 50760 y, Sitz: Wien, DVR: 0692450, Handelsgericht: Wien, Rechtsform: Ges.m.b.H., UID: ATU16136802.

Entered on 2011-05-16 at 01:58:44 by bruce.simons at dpi.vic.gov.au:
Description:

When trying to validate a GeoSciML instance document (see attached) XMLSpy reports two errors:
1. Namespace Error
GeoSciML\branches\3.0.0_rc2\instances\GA_MappedFeature_GeologicUnit_wfs 2.0.xml could not be validated because of an error in XML Schema/DTD (see below)         Schema at location 'http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd' has target namespace 'http://xmlns.geosciml.org/GeoSciML/3.0' rather than 'http://xmlns.geosciml.org/GeoSciML-Core/3.0'.                 Details                         schema_reference: Schema at location 'http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd' has target namespace 'http://xmlns.geosciml.org/GeoSciML/3.0' rather than 'http://xmlns.geosciml.org/GeoSciML-Core/3.0'.

oXygen validates the geosciml.xsd schema and the GA instances.

I have tried re-reading the XML Schema spec. and although I'm not confident in my reading of this I don't think it is an error for the target namespace not to be the same. Loading the schema document at 'http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd' will give a schema which can be used to validate elements in the 'http://xmlns.geosciml.org/GeoSciML-Core/3.0' namespace. In particular, the part of the spec referred to by XMLSpy in its error message (http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#schema_reference <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#schema_reference> ) doesn't seem to imply this. So I *think* XMLSpy is wrong on this. (Note the rules for schemaLocation on import elements do require the target namespace of the referred schema be the same as the namespace attribute but this is not the same as the rules on the xsi:schemaLocation attribute on an instance document element.)

2. On switching the namespace (to overcome Error 1) obtain "already declared" error.

Changing the namespace in the instance document to "http://xmlns.geosciml.org/GeoSciML/3.0 <http://xmlns.geosciml.org/GeoSciML/3.0>  <http://xmlns.geosciml.org/GeoSciML/3.0 <http://xmlns.geosciml.org/GeoSciML/3.0> > http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd <http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd>  <http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd <http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd> > " results in the following error (the exact error varies but is always related to an already declared property):
'sam:SamplingFeatureComplex' is already declared in schema document 'http://schemas.opengis.net/sampling/2.0/samplingFeature.xsd'.
        Error location: schema / element
Details
                sch-props-correct.2: 'sam:SamplingFeatureComplex' is already declared in schema document 'http://schemas.opengis.net/sampling/2.0/samplingFeature.xsd'.

Again switching the namespace to http://xmlns.geosciml.org/GeoSciML/3.0 <http://xmlns.geosciml.org/GeoSciML/3.0>  also works in oXygen.

The part of the Schema spec that XML Spy is pointing to for this to be an error is http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#sch-props-correct <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#sch-props-correct>  about a schema not having more than one component with the same name but this refers to the final schema that gets constructed in the usual case according to the rules in Section 4 (http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#composition <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#composition> ) which, as far as I can make out, mean that it is OK to be importing the same definitions twice. In the above case, for example, the documents https://www.seegrid.csiro.au/subversion/GeoSciML/ISO19156_xsd/schemas/OM/om/2.0/observation.xsd <https://www.seegrid.csiro.au/subversion/GeoSciML/ISO19156_xsd/schemas/OM/om/2.0/observation.xsd>  and ://schemas.opengis.net/om/2.0/observation.xsd both have the same (empty) definition for the element {http://www.opengis.net/om/2.0 <http://www.opengis.net/om/2.0> , result}. So again I *think* that XMLSpy is wrong to say this is invalid.

Steps To Reproduce:

Reproduce Error 1:
1. Open XMLSpy
2. Load Attached Instance document

Reproduce error 2:
1. Repeat for error 1
2. Replace 
xsi:schemaLocation="http://www.opengis.net/wfs/2.0 <http://www.opengis.net/wfs/2.0>  http://schemas.opengis.net/wfs/2.0/wfs.xsd <http://schemas.opengis.net/wfs/2.0/wfs.xsd> 
                http://www.opengis.net/gml/3.2 <http://www.opengis.net/gml/3.2>  http://schemas.opengis.net/gml/3.2.1/gml.xsd <http://schemas.opengis.net/gml/3.2.1/gml.xsd> 
                http://xmlns.geosciml.org/GeoSciML-Core/3.0 <http://xmlns.geosciml.org/GeoSciML-Core/3.0>  http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd <http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd> " 

with:
xsi:schemaLocation="http://www.opengis.net/wfs/2.0 <http://www.opengis.net/wfs/2.0>  http://schemas.opengis.net/wfs/2.0/wfs.xsd <http://schemas.opengis.net/wfs/2.0/wfs.xsd> 
                http://www.opengis.net/gml/3.2 <http://www.opengis.net/gml/3.2>  http://schemas.opengis.net/gml/3.2.1/gml.xsd <http://schemas.opengis.net/gml/3.2.1/gml.xsd> 
                http://xmlns.geosciml.org/GeoSciML/3.0 <http://xmlns.geosciml.org/GeoSciML/3.0>  http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd <http://schemas.geosciml.org/geosciml/3.0/geosciml.xsd> "

-------------------------------------------------------------------

.. Altova Technical Support Group


Altova GmbH
www.altova.com

________________________________________________________________________________________________________________________
This e-mail and any attachments are intended only for the person/entity to which they are addressed and may contain 
confidential and/or privileged material. If you received this in error, please notify the sender and delete the message. 
Altova GmbH, Firmenbuch: FN 50760 y, Sitz: Wien, DVR: 0692450, Handelsgericht: Wien, Rechtsform: Ges.m.b.H., UID: 

ATU16136802.






Notice:
This email and any attachments may contain information that is personal, confidential,
legally privileged and/or copyright. No part of it should be reproduced, adapted or communicated without the prior written consent of the copyright owner. 

It is the responsibility of the recipient to check for and remove viruses.

If you have received this email in error, please notify the sender by return email, delete it from your system and destroy any copies. You are not authorised to use, communicate or rely on the information contained in this email.

Please consider the environment before printing this email.

 

 

 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/ms-tnef
Size: 14213 bytes
Desc: not available
URL: <http://lists.opengeospatial.org/pipermail/geosciml/attachments/20110516/4cce8b7b/attachment.bin>


More information about the GeoSciML mailing list