From: Walter D. <wal...@gm...> - 2011-08-09 00:46:26
|
Hey Devs, I had a read through of the OGC Filter Encoding specification to see how it matches up with the VersioningFeatureSource proposed interface. It does mesh fairly well. The use a ResourceId which is an undefined string. There are actions for getting all versions using FilterActions: "The versionAction attribute may also be the strings FIRST, LATEST, PREVIOUS, NEXT and ALL. The token FIRST shall select the first version of a resource. The token LATEST shall select the most recent version of a resource. The PREVIOUS and NEXT tokens shall select the previous or next version of a resource relative to the version specified using the rid attribute. The token ALL shall select all available version of a resource." *09-026r1_Filter_Encoding* section " 7.11.2 Encoding" Here is the xml schema pertinent to the filter: <xsd:element name="_Id" type="fes:AbstractIdType" abstract="true"/> <xsd:complexType name="AbstractIdType" abstract="true"/> <xsd:element name="ResourceId" type="fes:ResourceIdType" substitutionGroup="fes:_Id"/> <xsd:complexType name="ResourceIdType"> <xsd:complexContent> <xsd:extension base="fes:AbstractIdType"> <xsd:attribute name="rid" type="xsd:string" use="required"/> <xsd:attribute name="previousRid" type="xsd:string"/> <xsd:attribute name="version" type="fes:VersionType"/> <xsd:attribute name="startDate" type="xsd:dateTime"/> <xsd:attribute name="endDate" type="xsd:dateTime"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:simpleType name="VersionType"> <xsd:union memberTypes="fes:VersionActionTokens xsd:positiveInteger xsd:dateTime"/> </xsd:simpleType> <xsd:simpleType name="VersionActionTokens"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="FIRST"/> <xsd:enumeration value="LAST"/> <xsd:enumeration value="PREVIOUS"/> <xsd:enumeration value="NEXT"/> <xsd:enumeration value="ALL"/> </xsd:restriction> </xsd:simpleType> The standard does a bit with date ranges but I didn't want that in because I wasn't sure every implementation would use dates necessarily. I am trying to get a hold of the ISO standard just to make sure nothing else is specified. Walter |