GML3.2.1 - gmlBase.xsd does not validate

Hi all,
using oXigen I cannot validate the gmlBase.xsd schema. The reason seem that is missing the following include
include schemaLocation="deprecatedTypes.xsd"
Anyone can confirm me this problem?
Regards
Maurizio Nagni

Per the GML 3.2.1 editor, GML

Per the GML 3.2.1 editor, GML 3.2.1 "will only validate if you
validate gml.xsd (the root schema document)." One reason for this is
due to the number of deprecated components.
For a similiar discussion, see http://www.ogcnetwork.net/node/1161
Cheers,
kevin

---

Hi,  I just starting to face

Hi, 
I just starting to face the same problem. In my opinion this is a problem that is worth looking at, the validation errors show up because components that are not included/imported are referenced from several GML schema files (gmlBase, dictionary and units). If the reason why these components are not included is because they are deprecated, why the references to them were not deleted? The schemas containing the references are then inconsistent whether you use or not gml.xsd to validate some XML instance file: what happen if an element or attribute for these "not included" types or elements is declared in the instance file?
About the fact that that GML 3.2.1 "will only validate if you validate gml.xsd (the root schema document)." it does not work if option "http://apache.org/xml/features/honour-all-schemaLocations" is true when trying to validate Xerces-J. It reports 910 errors including the ones resulting for validating the files mentioned above directly. Interestingly, this option should consider all repeated imports for the same namespace in a file, fact that at first sight is not happening in any of the schemas in GML or the ISO folder (I'm working with a local copy of the schemas)
 Best Regards
Alain

---

The deprecated components are

The deprecated components are included for backwards compatibility, but there were comments in the revision process that ask to separate the deprecated components as clearly as possible. This is why it was separated in its own schema document.
With hindsight, all schema documents should have an include statement that includes gml.xsd to avoid errors being reported when someone tries to validate some GML schema document that is not gml.xsd (which does not make sense according to the XML Schema spec). This is what we plan to do in the future in such cases.
In the schema document design we have to support all valid options for determining the schema of a namespaces allowed per the XML Schema spec (http://www.w3.org/TR/xmlschema-1/#schema_reference). As a result, all schemaLocation references in instances and in imports must go to gml.xsd to make these options consistent with each other. I do not know how the honour-all-schemaLocations feature of Xerces-J has been implemented, but if it correctly identifies duplicate schema components when it loads the same schema document multiple times, then this should work (although probably be slower), so I do not know what the issue is without looking closer at the Xerces implementation. In any case, this feature is not needed when validating GML schemas/documents and should be left in its default state ("false").

---