Subject: [Geopriv] draft-ietf-geopriv-loc-filters-08 element placement

From: "Thomson, Martin" <[email-masked]>
Date: Fri, 27 Nov 2009 13:20:34 +0800

Regarding the placement of the newly defined XML elements in the filter document.

The new <moved> and <enterOrExit> elements should be a child of the RFC4661 <trigger> element, not a direct child of <filter>.  Similarly, the <locationType> element should be a child of the <what> element.

The <filter> element does allow for extension, but the <trigger> element is more appropriate for these additions as they describe events that *trigger* notification.  Same goes for locationType.

The examples become...

...in 3.1:

   <?xml version="1.0" encoding="UTF-8"?>
   <filter-set
       xmlns="urn:ietf:params:xml:ns:simple-filter"
       xmlns:lf="urn:ietf:params:xml:ns:location-filter">
       <filter id="123" uri="sip:[email-masked]">
         <trigger>
           <lf:moved>300</lf:moved>
         </trigger>
       </filter>
   </filter-set>

...in 3.4:

   <filter-set
       xmlns="urn:ietf:params:xml:ns:simple-filter"
       xmlns:lf="urn:ietf:params:xml:ns:location-filter"
       xmlns:gml="http://www.opengis.net/gml"
       xmlns:gs="http://www.opengis.net/pidflo/1.0">

       <filter id="123" uri="sip:[email-masked]">
         <trigger>
           <lf:enterOrExit>
               <gs:Circle srsName="urn:ogc:def:crs:EPSG::4326">
                   <gml:pos>42.5463 -73.2512</gml:pos>
                   <gs:radius uom="urn:ogc:def:uom:EPSG::9001">
                       850.24
                   </gs:radius>
               </gs:Circle>
           </lf:enterOrExit>
         </trigger>
       </filter>
   </filter-set>

...and:

   <filter-set xmlns="urn:ietf:params:xml:ns:simple-filter"
       xmlns:lf="urn:ietf:params:xml:ns:location-filter"
       xmlns:gml="http://www.opengis.net/gml">

       <filter id="123" uri="sip:[email-masked]">
         <trigger>
           <lf:enterOrExit>
               <gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326">
                   <gml:exterior>
                       <gml:LinearRing>
                        <gml:pos>43.311 -73.422</gml:pos> <!--A-->
                        <gml:pos>43.111 -73.322</gml:pos> <!--F-->
                        <gml:pos>43.111 -73.222</gml:pos> <!--E-->
                        <gml:pos>43.311 -73.122</gml:pos> <!--D-->
                        <gml:pos>43.411 -73.222</gml:pos> <!--C-->
                        <gml:pos>43.411 -73.322</gml:pos> <!--B-->
                        <gml:pos>43.311 -73.422</gml:pos> <!--A-->
                       </gml:LinearRing>
                   </gml:exterior>
               </gml:Polygon>
           </lf:enterOrExit>
         </trigger>
       </filter>
   </filter-set>

Section 3.5: The new locationType element belongs in a <what> element:

   <filter-set
       xmlns="urn:ietf:params:xml:ns:simple-filter"
       xmlns:lf="urn:ietf:params:xml:ns:location-filter">
       <filter id="123" uri="sip:[email-masked]">
         <what>
           <lf:locationType exact="true">
             geodetic
           </lf:locationType>
         </what>
       </filter>
   </filter-set>

There's also the comment in the schema and some text that might need tweaking, especially in the top of Section 3 regarding a profile of 4661.

And while you're at it; the <?xml version...?> tags aren't necessary; remove 'em.

Apologies for missing this earlier.  It's not a big thing, and the doc can probably live without this, but it would be better if this were done correctly.

--Martin