Schemas/GML
From Code Synthesis Wiki
Revision as of 13:28, 21 September 2006 Boris (Talk | contribs) (Add section on XSD options) ← Previous diff |
Revision as of 13:43, 21 September 2006 Boris (Talk | contribs) Next diff → |
||
Line 1: | Line 1: | ||
For the release of XSD 2.3.0 we've fixed the part of the [https://issues.apache.org/jira/browse/XERCESC-1281 Xerces-C++ bug 1281] that prevented Xerces-C++ | For the release of XSD 2.3.0 we've fixed the part of the [https://issues.apache.org/jira/browse/XERCESC-1281 Xerces-C++ bug 1281] that prevented Xerces-C++ | ||
- | schema validator from accepting the GML 3.1.1 schemas. All precompiled binaries of XSD from version 2.3.0 are shipped with this patch. Note that you don't | + | schema validator from accepting the [http://schemas.opengis.net/gml/ GML] 3.1.1 schemas. All precompiled binaries of XSD from version 2.3.0 are shipped with this patch. Note that you don't |
need to patch the version of Xerces-C++ that you are linking to your applications since the bug only affects the validation of schemas (as opposed to the validation of instances against schemas) which is normally disabled. | need to patch the version of Xerces-C++ that you are linking to your applications since the bug only affects the validation of schemas (as opposed to the validation of instances against schemas) which is normally disabled. | ||
Revision as of 13:43, 21 September 2006
For the release of XSD 2.3.0 we've fixed the part of the Xerces-C++ bug 1281 that prevented Xerces-C++ schema validator from accepting the GML 3.1.1 schemas. All precompiled binaries of XSD from version 2.3.0 are shipped with this patch. Note that you don't need to patch the version of Xerces-C++ that you are linking to your applications since the bug only affects the validation of schemas (as opposed to the validation of instances against schemas) which is normally disabled.
While with this patch XSD is able to parse GML 3.1.1 successfully, it is still unable to generate compilable C++ code due to a pathological circular dependency between smil20.xsd and smil20-language.xsd. This however is easy to overcome by splitting smil20.xsd into two files. The resulting schemas are semantically equivalent to the original.
The following two packages contain the official GML 3.1.1 schemas placed into a single directory with the smil20.xsd schema split into smil20.xsd and smil20-base.xsd:
We used the following options to compile GML 3.1.1:
- C++/Tree
--generate-polymorphic --root-element Array --root-element Bag
- C++/Parser
--morph-anonymous