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

Reply via email to