2011-04-25

a patch for GNOME libxml2 to work with GML XML Schema

Caution: this only suppresses error abortion. I didn't read in depth
and can't guarantee the consequences.

--- xmlschemas.c.orig 2011-04-24 14:58:16.000000000 +0000
+++ xmlschemas.c 2011-04-24 15:47:50.000000000 +0000
@@ -15158,7 +15158,11 @@
}
if ( (WXS_IS_LIST(type) || WXS_IS_UNION(type)) &&
(WXS_IS_RESTRICTION(type) == 0) &&
- (! WXS_IS_ANY_SIMPLE_TYPE(baseType))) {
+ (
+ (! WXS_IS_ANY_SIMPLE_TYPE(baseType))
+ && (baseType->type != XML_SCHEMA_TYPE_SIMPLE)
+ )
+ ) {
xmlSchemaPCustomErr(ctxt,
XML_SCHEMAP_ST_PROPS_CORRECT_1,
WXS_BASIC_CAST type, NULL,

2011-04-07

What elements/types in GML are used in ISO 19139?

I did a survey.

= simple references
== reference to attributegroup in GML
ref gml:AggregationAttributeGroup

== reference to elements in GML
ref gml:AbstractCoordinateOperation
ref gml:AbstractCoordinateSystem
ref gml:AbstractCRS
ref gml:AbstractDatum
ref gml:AbstractGeneralOperationParameter
ref gml:AbstractGeometry
ref gml:AbstractTimePrimitive
ref gml:BaseUnit
ref gml:ConventionalUnit
ref gml:CoordinateSystemAxis
ref gml:DerivedUnit
ref gml:Ellipsoid
ref gml:OperationMethod
ref gml:Point
ref gml:pos
ref gml:PrimeMeridian
ref gml:UnitDefinition

= type reference
== attributes using GML type
type gml:NilReasonType

== elements using GML type
type gml:AngleType
type gml:CodeType
type gml:LengthType
type gml:MeasureType
type gml:ScaleType

== types extending GML's one
base gml:AbstractCoordinateOperationType
base gml:AbstractCRSType
base gml:AbstractDatumType
base gml:AffineCSType
base gml:BaseUnitType
base gml:CartesianCSType
base gml:CompoundCRSType
base gml:ConcatenatedOperationType
base gml:ConventionalUnitType
base gml:ConversionType
base gml:CoordinateSystemAxisType
base gml:CylindricalCSType
base gml:DefinitionType
base gml:DerivedCRSType
base gml:DerivedUnitType
base gml:DictionaryType
base gml:EllipsoidalCSType
base gml:EllipsoidType
base gml:EngineeringCRSType
base gml:EngineeringDatumType
base gml:GeocentricCRSType
base gml:GeodeticCRSType
base gml:GeodeticDatumType
base gml:GeographicCRSType
base gml:IdentifiedObjectType
base gml:ImageCRSType
base gml:ImageDatumType
base gml:LinearCSType
base gml:OperationMethodType
base gml:OperationParameterGroupType
base gml:OperationParameterType
base gml:PassThroughOperationType
base gml:PolarCSType
base gml:PrimeMeridianType
base gml:ProjectedCRSType
base gml:SphericalCSType
base gml:TemporalCRSType
base gml:TemporalDatumType
base gml:TimeCSType
base gml:TransformationType
base gml:UnitDefinitionType
base gml:UserDefinedCSType
base gml:VerticalCRSType
base gml:VerticalCSType
base gml:VerticalDatumType

== elements of types that extend GML's type
substitutionGroup gml:AffineCS
substitutionGroup gml:BaseUnit
substitutionGroup gml:CartesianCS
substitutionGroup gml:CompoundCRS
substitutionGroup gml:ConcatenatedOperation
substitutionGroup gml:ConventionalUnit
substitutionGroup gml:Conversion
substitutionGroup gml:CoordinateSystemAxis
substitutionGroup gml:CylindricalCS
substitutionGroup gml:Definition
substitutionGroup gml:DerivedCRS
substitutionGroup gml:DerivedUnit
substitutionGroup gml:Dictionary
substitutionGroup gml:Ellipsoid
substitutionGroup gml:EllipsoidalCS
substitutionGroup gml:EngineeringCRS
substitutionGroup gml:EngineeringDatum
substitutionGroup gml:GeocentricCRS
substitutionGroup gml:GeodeticCRS
substitutionGroup gml:GeodeticDatum
substitutionGroup gml:GeographicCRS
substitutionGroup gml:ImageCRS
substitutionGroup gml:ImageDatum
substitutionGroup gml:LinearCS
substitutionGroup gml:OperationMethod
substitutionGroup gml:OperationParameter
substitutionGroup gml:OperationParameterGroup
substitutionGroup gml:PassThroughOperation
substitutionGroup gml:PolarCS
substitutionGroup gml:PrimeMeridian
substitutionGroup gml:ProjectedCRS
substitutionGroup gml:SphericalCS
substitutionGroup gml:TemporalCRS
substitutionGroup gml:TemporalDatum
substitutionGroup gml:TimeCS
substitutionGroup gml:Transformation
substitutionGroup gml:UnitDefinition
substitutionGroup gml:UserDefinedCS
substitutionGroup gml:VerticalCRS
substitutionGroup gml:VerticalCS
substitutionGroup gml:VerticalDatum

2011-04-05

structural difference between GML 3.2.0 and 3.2.1

The ISO version of XML schema for Geographical Metadata ISO 19139, available
at http://www.isotc211.org/2005/gmx/gmx.xsd, imports so-called version 3.2.0
of GML which was draft ISO 19136. The text of ISO 19139 cites ISO 19136,
which was later published as version 3.2.1.

The two GML versions are approximately same, except for following:

* Namespace "http://www.opengis.net/gml" changed to
http://www.opengis.net/gml/3.2

* annotation/appinfo/@source changed from
"urn:ogc:specification:gml:schema-xsd:coordinateReferenceSystems:3.2.0" to
"urn:x-ogc:specification:gml:schema-xsd:coordinateReferenceSystems:3.2.1"
(from "ogc" to "x-ogc" and from "3.2.0" to "3.2.1"),

* removed deprecated elements: gml:Null, gml:coordinateOperationRef,
gml:singleOperationRef, gml:AbstractOperation, gml:operationRef,
gml:generalConversionRef, gml:generalTransformationRef,
gml:usesSingleOperation, gml:concatenatedOperationRef, gml:usesOperation,
gml:passThroughOperationRef, gml:usesMethod, gml:usesValue,
gml:conversionRef, gml:transformationRef, gml:dmsAngleValue,
gml:valueOfParameter, gml:includesValue, gml:valuesOfGroup,

* removed deprecated types: gml:OperationPropertyType,

* changed complexType gml:OperationMethodType so that it (1) may choose its
first child element gml:formulaCitation instead of formerly mandated
gml:formula, and (2) has optional gml:parameter instead of
gml:generalOperationParameter which is now banned,

* added element gml:formulaCitation, gml:parameter,

* deprecated elements: gml:generalOperationParameter, gml:usesParameter,

* changed conplexType gml:OperationParameterGroupType so that it has
optional elements gml:parameter instead of gml:generalOperationParameter
which is now banned,

* changed complexType EngineeringCRS may choose its first child element from
affineCS, cartesianCS, cylindricalCS, linearCS, polarCS, sphericalCS, or
userDefinedCS, instead of now-deprecated coordinateSystem,

* changed complexType CoordinateSystemAxisType so that its attribute gml:uom
has now type gml:UomIdentifier instead of anyURI,

* changed type of element gml:rangeParameters from gml:RangeParametersType
to AssociationRoleType,

* changed complexType FileType so that its first child gml:fileName is
deprecated and gml:fileReferece is only recommended,

I'm afraid the list is incomplete but I found it is counter-productive to
complete it. Above are only one third of full diff(1) output