Justin,

I am having trouble encoding GML property types for application schemas. 
In GML property types, features (or other complex types) are stored in 
an enclosing property type so that an element indicating the enclosed 
type is encoded. The property type is a base complexType, and the 
permitted contents are indicated by the substitution group of a 
top-level element (ref).

Do I need to write a new PropertyExtractor, or should I try to fix an 
existing ComplexBinding?

In the schema there is an abstract element:

      <element abstract="true" name="GeologicFeature"
substitutionGroup="gml:_Feature" type="gsml:GeologicFeatureType"/>

The property type is then defined using the association pattern:

      <complexType name="GeologicFeaturePropertyType">
          <sequence minOccurs="0">
              <element ref="gsml:GeologicFeature"/>
          </sequence>
          <attributeGroup ref="gml:AssociationAttributeGroup"/>
      </complexType>

The encoded output will look like this (where specification is a 
property of MappedFeature of type GeologicFeaturePropertyType):

...
   <gsml:MappedFeature>
     <gsml:specification>
       <gsml:GeologicUnit>
         ...

There is a similar definition for gml:FeaturePropertyType; I have no
problem encoding gml:FeaturePropertyType because there is an explicit
binding FeaturePropertyTypeBinding defined for this GML type in
GMLConfiguration. The problem is that, in general, users can define new
association pattern property types in their application schema for which
there are no bindings. The combination of containment and an abstract 
type is an effective firewall that prevents Encoder from getting to the 
contained complex type.

Suggestions?

Kind regards,

-- 
Ben Caradoc-Davies <[email protected]>
Software Engineer, CSIRO Exploration and Mining
Australian Resources Research Centre
26 Dick Perry Ave, Kensington WA 6151, Australia


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to