Justin Deoliveira ha scritto: > Hi Andrea, > > Finally got a chance to look your proposal over, i must say this looks > pretty darn cool. I had an idea about how to extend the protocol. > > Instead of modifying any of the existing wfs schema files, could we > define all of the needed functionality to support versioning in terms of > new operations? If so, then we could create a new schema which just > imports the wfs schemas proper, and extends any types that it needs to. > > For instance, consider the type for a GetFeature reqquest from the wfs > schema: > > WFS-basic.xsd: > > <xsd:complexType name="GetFeatureType"> > <xsd:sequence> > <xsd:element ref="wfs:Query" maxOccurs="unbounded"/> > </xsd:sequence> > <xsd:attribute name="version" > type="xsd:string" use="required" fixed="1.0.0"/> > <xsd:attribute name="service" > type="xsd:string" use="required" fixed="WFS"/> > <xsd:attribute name="handle" > type="xsd:string" use="optional"/> > <xsd:attribute name="outputFormat" > type="xsd:string" use="optional" default="GML2"> > </xsd:attribute> > <xsd:attribute name="maxFeatures" type="xsd:positiveInteger" > use="optional"> > </xsd:attribute> > </xsd:complexType> > > > In our schema we create a new type of request, GetFeatureAtRevision (for > lack of a better name) which extends the normal operation type just > adding an additional > > WFS-version.xsd: > > <xsd:complexType name="GetFeatureAtRevisionType"> > <extenstion base="wfs:GetFeatureType"> > <xsd:attribute name="revision" type="xsd:string"/> > </extension> > </xsd:complexType> > > An idea, it would make extending the schema nice and clean. However it > hinges on being able to create all the needed operations by xml schema > extension and restriction. Not sure if that is possible.
Yeah, I was thinking about it myself too... seems like a good plan indeed, and for operations where I cannot cleanly extend the WFS XSD, I'll just have to copy and hack. Restriction allows me to better constraint existing element/attributes, but does not allow me to wipe out existing attributes, right? I'm also considering this from the point of view of someone that already implemented WFS-T, and wants to support versioning as well... would the copy and paste approach from a GetFeature request work for GetDiff? I don't want to support everything GetFeature has in that call, for example. The same goes for GetLog. This seems the only clean way, yet it seems more work for implementors... having the protocol dead easy to implement is key, since we don't have a OpenGIS spec for it (and having "revision" around, we cannot even try to turn this into a spec, because global revision numbers do expose an implementation detail I guess). Cheers Andrea ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Geotools-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-devel
