An interesting little meetings was had this morning -
Lets start with the decisions:
1) Continue using schema.xml to drive both the user-interface and GeoServer
2) Remove use of AttributeTypeMetaData interface to store XMLFragment information
3) Port the classes formally known as GMLUtils to geotools2
4) Port the enhanced GeoServer schema generation to geotool2
5) Do not port our limited XMLSchema fragment parsing to geotool2
#1 Continue using schema.xml to drive both the user-interface and GeoServer
This took up most of the meeting, the trade offs are profound and complex.
We decided to go with the 1.2.0 status quo, generation and a ui, at the expense of expert use of schema.xml.
The existing use of schema.xml places several limitations on what an expert can do:
- cannot include other schemas
- refer to XMLSchema schema as "xs"
- refer to GML schema as "gml"
- can only extend elments in "xs" or "gml" or in the schema.xml file
We need to further limit schema.xml file to:
- limit extending of elements in the schema.xml file to one level of indirection
The driver for this issue is the duplication of information found in GeoServer 1.1.1. where attribute information is found in info.xml, schema.xml, the DataStore FeatureType and a properties file.
#2 removal of AttributeTypeMetaData interface to store XML fragment
The schema.xml file needs to be stored at the FeatureType level, not broken apart by attribute.
#3, #4 and #5 - Geotools2
Geotools2 port of XMLSchema/GML tech - chris gave the go ahead for two out of three. So at the end of the day Geotools2 should have schema xml generation capabilies. Geotools2 will wait until full schema parsing is available.