Class ComplexSupportXSAnyTypeBinding

  • All Implemented Interfaces:
    Binding, ComplexBinding

    public class ComplexSupportXSAnyTypeBinding
    extends XSAnyTypeBinding
    A replacement for XSAnyTypeBinding that adds support for ComplexAttribute and related behaviours.

    This binding that searches the substitution group of XSD element children to find properties of a complex attribute. This is necessary to support the GML property type pattern, in which a property (a property-type type) contains a property that is a member of a substitution group. gml:AttributeType is the canonical example of the property type pattern.

    gml:FeaturePropertyType is an example of the property type pattern that has an explicit binding FeaturePropertyTypeBinding, but because an application schema may define more property types whose names are not known at compile time, a binding like FeaturePropertyTypeBinding cannot be written. This class exists to handle these application-schema-defined property types.

    This class supports the encoding of XML complexType with simpleContent through extraction of a simpleContent property, as well as encoding XML attributes stored in the UserData map.

    Author:
    Ben Caradoc-Davies, CSIRO Earth Science and Resource Engineering