Ben Caradoc-Davies wrote: > Justin, > > Encoder and its friends are labyrinthine. It is very hard to follow what > it is doing. Is there any manual or documentation? > Unfortunately not to the level you are looking. I suggest you read the javadoc of the binding interfaces to get an idea of how the encoding process works.
Also don't be afraid to ask for help, rather then try to figure out everything on your own and just show up when you are having problems. With a test case in hand I would be more then happy to run it and give you direction on how to best proceed. > Are PropertyExtractors additive? That is, are the properties extracted > by BindingPropertyExtractor added to those extracted by any other? Yes. However if your strategy is to get try to register a custom binding extractor I would advise against it. That class was used before to try and do exactly what you are doing now, encode feature types coming from application schemas and the result was a mess. That interface should be deprecated. > > Is seems impossible to add a PropertyExtractor and not have > BindingPropertyExtractor leap in at every moment. How can > BindingPropertyExtractor be overridden/disabled/silenced for types > without bindings, such as those defined in application schemas? Ideally everything is handed by bindings, and there is only a BindingPropertyExtractor. My advise to you is to have everything handled by a special AbstractFeatureTypeBinding for complex content. But like I said before, if you set up a little test harness I would be happy to spend some time looking into it and try to advise on how to best proceed. > > Kind regards, > Ben. > > > Ben Caradoc-Davies wrote: >> 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, >> > > -- Justin Deoliveira OpenGeo - http://opengeo.org Enterprise support for open source geospatial. ------------------------------------------------------------------------------ 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
