< draft-mahy-geopriv-loc-filters-00.txt   draft-mahy-geopriv-loc-filters-01.txt >
WG R. Mahy WG R. Mahy
Internet-Draft SIP Edge LLC Internet-Draft Plantronics
Expires: April 4, 2006 Oct 2005 Expires: September 6, 2006 March 5, 2006
A Document Format for Filtering and Reporting Location Notications in A Document Format for Filtering and Reporting Location Notications in
PIDF-LO PIDF-LO
draft-mahy-geopriv-loc-filters-00.txt draft-mahy-geopriv-loc-filters-01.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 34 skipping to change at page 1, line 34
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 4, 2006. This Internet-Draft will expire on September 6, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2006).
Abstract Abstract
This document describes filters which limit asynchronous location This document describes filters which limit asynchronous location
notifications to compelling events. The resulting location notifications to compelling events. The resulting location
information is conveyed in existing location formats wrapped in information is conveyed in existing location formats wrapped in
GEOPRIV privacy extensions to the Presence Information Document GEOPRIV privacy extensions to the Presence Information Document
Format (PIDF-LO). Location disclosure is limited to voluntary Format (PIDF-LO). Location disclosure is limited to voluntary
disclosure by a notifier that possesses credentials for the named disclosure by a notifier that possesses credentials for the named
resource. resource.
Table of Contents Table of Contents
1. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Definition of Location Filter Format . . . . . . . . . . . . . 3 3. Definition of Location Filter Format . . . . . . . . . . . . . 3
3.1 XML Schema for filter format . . . . . . . . . . . . . . . 11 3.1 Horizontal and Vertical Movement . . . . . . . . . . . . . 4
4. Containment schema . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Changes in value . . . . . . . . . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 3.3 Containment Within a Region . . . . . . . . . . . . . . . 6
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 3.4 XML Schema for filter format . . . . . . . . . . . . . . . 9
4. Containment schema . . . . . . . . . . . . . . . . . . . . . . 10
5. Security Considerations . . . . . . . . . . . . . . . . . . . 12
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
6.1 MIME Registration for 6.1 MIME Registration for
application/location-delta-filter+xml . . . . . . . . . . 14 application/location-delta-filter+xml . . . . . . . . . . 13
6.2 URN Sub-Namespace Registration for 6.2 URN Sub-Namespace Registration for
urn:ietf:params:xml:ns:location-filter . . . . . . . . . . 14 urn:ietf:params:xml:ns:location-filter . . . . . . . . . . 13
6.3 Schema Registration For location-filter . . . . . . . . . 15 6.3 Schema Registration For location-filter . . . . . . . . . 14
6.4 URN Sub-Namespace Registration for 6.4 URN Sub-Namespace Registration for
urn:ietf:params:xml:ns:pidf:geopriv10:containment . . . . 15 urn:ietf:params:xml:ns:pidf:geopriv10:containment . . . . 14
6.5 Schema Registration For containment . . . . . . . . . . . 16 6.5 Schema Registration For containment . . . . . . . . . . . 15
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8.1 Normative References . . . . . . . . . . . . . . . . . . . 16 8.1 Normative References . . . . . . . . . . . . . . . . . . . 15
8.2 Informational References . . . . . . . . . . . . . . . . . 17 8.2 Informational References . . . . . . . . . . . . . . . . . 16
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 17 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 16
Intellectual Property and Copyright Statements . . . . . . . . 18 Intellectual Property and Copyright Statements . . . . . . . . 17
1. Conventions 1. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [2]. document are to be interpreted as described in RFC-2119 [2].
2. Overview 2. Overview
Conveying static location in PIDF-LO [1] bodies is straightforward. Conveying static location in PIDF-LO [1] bodies is straightforward.
However the difficult part about asynchronous notification of However the difficult part about asynchronous notification of
location information is that many forms of location are measured as a location information is that many forms of location are measured as a
continous gradient. Unlike notications using discreet quanties, it continuous gradient. Unlike notifications using discreet quantities,
is difficult to know when a change in location is large enough to it is difficult to know when a change in location is large enough to
warrant notifications. Moreover, different applications require a warrant a notification. Moreover, different applications require a
wide variety of location resolutions. Any optimization made for one wide variety of location resolutions. Any optimization made for one
application would ultimately result in wasteful polling or a sluggish application would ultimately result in wasteful polling or a sluggish
user interface for other applications. user interface for other applications.
The mechanism described here defines filters in XML [3] documents The mechanism described here defines filters in XML [3] documents
which limit location notification to events which are of relevance to which limit location notification to events which are of relevance to
the subscriber. These filters persist until they are changed with a the subscriber. These filters persist until they are changed with a
replacement filter. replacement filter.
In addition to the relevant filters, this document also defines a new In addition to the relevant filters, this document also defines a new
skipping to change at page 3, line 40 skipping to change at page 3, line 40
that the resource is inside or outside of a container region. that the resource is inside or outside of a container region.
3. Definition of Location Filter Format 3. Definition of Location Filter Format
The granularity of notifications necessary for various geographic The granularity of notifications necessary for various geographic
location applications varies dramatically. The subscriber should be location applications varies dramatically. The subscriber should be
able to get asynchronous notifications with appropriate granularity able to get asynchronous notifications with appropriate granularity
and accuracy, without having to poll or flood the network with and accuracy, without having to poll or flood the network with
notifications which are not important to the application. notifications which are not important to the application.
Notifications should only happen when the notification would be Notifications should only happen when the notification would be
considered an Interesting Event to the subscriber. Subscriptions to considered an Interesting Event to the subscriber. This section of
this event package contain a filter document in the XML document this document defines an XML filter format to describe interesting
format defined in this section. The terminal elements in this format conditions or events. The terminal elements in this format are
are defined in terms of existing Geographic Markup Language (GML) [8] defined in terms of existing Geographic Markup Language (GML) [9]
data types. data types.
The notifications are in PIDF-LO (by default) or any other format
acceptable to both the subscriber and notifier. The selection of This document also defines a MIME type for this location filter
a subset of GML or specific location format capabilities contained format: application/location-delta-filter+xml.
in a PIDF-LO body is a generic issue for the GEOPRIV Working Group
to define, and is out of the scope of this document.
This document defines the following as an initial list of Interesting This document defines the following as an initial list of Interesting
Events: Events:
1. the resource moves more than a specific distance horizontally or 1. the resource moves more than a specific distance horizontally or
vertically since the last notification vertically since the last notification
2. the resource exceeds a specific speed 2. the resource exceeds a specific speed
3. the resource enters or exits one or more GML objects (for 3. the resource enters or exits one or more GML objects (for
example, a set of 2-dimensional or 3-dimensional regions) example, a set of 2-dimensional or 3-dimensional regions)
included or referenced in the filter. included or referenced in the filter.
4. one or more of the values of the specified address labels has 4. one or more of the values of the specified address labels has
changed for the resource (for example, the A1 value of the changed for the resource (for example, the A1 value of the
civilAddress has changed from California to Nevada) civilAddress has changed from California to Nevada)
This specification makes use of XML namespaces [5] for identifying This specification makes use of XML namespaces [5] for identifying
location filter documents and document fragments. The namespace URI location filter documents and document fragments. The namespace URI
for elements defined by this specification is a URN [9], using the for elements defined by this specification is a URN [10], using the
namespace identifier 'ietf' defined by [10] and extended by [11]. namespace identifier 'ietf' defined by [11] and extended by [12].
This URN is: This URN is:
urn:ietf:params:xml:ns:location-filter urn:ietf:params:xml:ns:location-filter
The filter format starts with a top-level XML element called The filter format starts with a top-level XML element called
"<location-filter>", which contains one or more filter events. The "<location-filter>", which contains one or more filter events. The
semantics of multiple elements inside a location-filter is a logical semantics of multiple elements inside a location-filter is a logical
OR. In other words, if any of the individual filter events occurs, OR. In other words, if any of the individual filter events occurs,
the event satisfies the location-filter and triggers a notification. the event satisfies the location-filter and triggers a notification.
3.1 Horizontal and Vertical Movement
The movedHoriz and movedVert filter events each indicate a minimum The movedHoriz and movedVert filter events each indicate a minimum
horizontal motion or vertical distance (respectively) that the horizontal motion or vertical distance (respectively) that the
resource must have moved from the location of the resource when the resource must have moved from the location of the resource when the
last notification was sent in order to trigger this event. The last notification was sent in order to trigger this event. The
distance is measured absolutely from the point of last notification distance is measured absolutely from the point of last notification
rather than in terms of cumulative motion (For example, someone rather than in terms of cumulative motion (For example, someone
pacing inside a room will not trigger an event if the trigger pacing inside a room will not trigger an event if the trigger
threshold is slightly larger than the room.) Each of these events threshold is slightly larger than the room.) Each of these events
can only appear once in a location-filter. These events have an can only appear once in a location-filter. These events have an
attribute "uom" (for "units of measure"), which indicates the units attribute "uom" (for "units of measure"), which indicates the units
skipping to change at page 5, line 6 skipping to change at page 5, line 8
This filter measures the horizontal component of speed in any This filter measures the horizontal component of speed in any
direction. It does not measure velocity. Note also that there is direction. It does not measure velocity. Note also that there is
no corresponding event triggered when speed drops below a no corresponding event triggered when speed drops below a
threshold. threshold.
Below are some examples. In the first example if the resource moves Below are some examples. In the first example if the resource moves
20m in the x,y direction or 3m in the z direction, send a 20m in the x,y direction or 3m in the z direction, send a
notification: notification:
<location-filter> <location-filter>
<movedHoriz uom="#meters">20</movedHoriz> <movedHoriz uom="urn:ogc:def:uom:EPSG::9001">20</movedHoriz>
<movedVert uom="#meters">3</movedVert> <movedVert uom="urn:ogc:def:uom:EPSG::9001">3</movedVert>
</location-filter> </location-filter>
If the resource exceeds 3 meters per second (10.8 km/h), send a If the resource exceeds 3 meters per second (10.8 km/h), send a
notification: notification:
<location-filter> <location-filter>
<speedExceeds uom="#mps">3</speedExceeds> <speedExceeds uom="#mps">3</speedExceeds>
</location-filter> </location-filter>
3.2 Changes in value
The valueChanges filter event contains a string which is interpreted The valueChanges filter event contains a string which is interpreted
as an XPath [6] expression evaluated within the context of the as an XPath [6] expression evaluated within the context of the
location-info element of the PIDF-LO document which would be location-info element of the PIDF-LO document which would be
generated by the notification. The XPath expression MUST evaluate to generated by the notification. The XPath expression MUST evaluate to
only a single Xpath node. If the value of any of the elements in the only a single Xpath node. If the value of any of the elements in the
resulting node changes, then the filter event is triggered. Note resulting node changes, then the filter event is triggered. Note
that the value of the resulting node changes if any of those nodes or that the value of the resulting node changes if any of those nodes or
subnodes transitions from having a value to having no value or vice subnodes transitions from having a value to having no value or vice
versa. A location-filter may contain multiple valueChanges filters. versa. A location-filter may contain multiple valueChanges filters.
Note that the example below needs to be updated to use the revised
civic location format.
For example, given the following logical PIDF-LO document, If the For example, given the following logical PIDF-LO document, If the
state (A1), county (A2), city (A3), or postal code (PC) changes, send state (A1), county (A2), city (A3), or postal code (PC) changes, send
a notification: a notification:
PIDF-LO Location Document: PIDF-LO Location Document:
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf" <presence xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10" xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civilLoc" xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civilLoc"
entity="pres:geotarget@example.com"> entity="pres:geotarget@example.com">
skipping to change at page 6, line 46 skipping to change at page 6, line 46
Filter Document: Filter Document:
<location-filter <location-filter
xmlns="urn:ietf:params:xml:ns:location-filter" xmlns="urn:ietf:params:xml:ns:location-filter"
xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civilLoc"> xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civilLoc">
<valueChanges>cl:civilAddress/cl:A1</valueChanges> <valueChanges>cl:civilAddress/cl:A1</valueChanges>
<valueChanges>cl:civilAddress/cl:A2</valueChanges> <valueChanges>cl:civilAddress/cl:A2</valueChanges>
<valueChanges>cl:civilAddress/cl:A3</valueChanges> <valueChanges>cl:civilAddress/cl:A3</valueChanges>
<valueChanges>cl:civilAddress/cl:PC</valueChanges> <valueChanges>cl:civilAddress/cl:PC</valueChanges>
</location-filter> </location-filter>
Finally, the "enterOrExit" filter event is triggered when the 3.3 Containment Within a Region
resource enters or exits a named 2-dimensional or 3-dimensional
region or list of regions corresponding to a GML feature. These
regions can be defined using inline snippets of GML, or externally
referenced using a URI (Uniform Resource Identifier). Notifiers
which support this document MUST be able to support 2-dimensional
regions and lists of regions, for which the regions can be defined in
terms of the GML extentOf a Polygon defined using an exterior
LinearRing object. These Polygons are defined using the hierarcy in
the figure below.
Hierarchy for 2-D Hierarchy for 3-D
Objects Objects
extentOf Solid
Polygon exterior
exterior Surface
LinearRing patches
posList Polygon
...
Polygon
Similarly, Notifiers MUST be able to support 3-dimensional regions Finally, the "enterOrExit" filter event is satisfied when the
which can be defined as a fixed height vertical projection of such a resource enters or exits a named 2-dimensional or 3-dimensional
2-dimensional Polygon, and lists thereof. Specifically, these are region described by one of the shapes defined in [8]. These regions
GML Solids defined in terms of an exterior Surface of polygonal can be defined using inline snippets of GML, or externally referenced
patches, such that all included Polygons are either parallel using a URI (Uniform Resource Identifier).
(horizontal) or perpedicular (vertical) to the geoid. These regions need a unique name or identifier so location with
respect to these regions can be described later (for example in a
notification). These regions are currently described as GML
Features so they can be named with a GML Name. Ideally each
region could be described instead as a GML geometry with some
associated name or identifier.
The posList for any 2-dimensional region MUST be defined using the Any 2-dimensional region MUST be defined using the EPSG 4326
EPSG 4326 coordinate reference system. The posList for any coordinate reference system. Any 3-dimensional region MUST be
3-dimensional region MUST be defined using the EPSG 4979 coordinate defined using the EPSG 4979 coordinate reference system. A location-
reference system. A location-filter can contain more than one filter can contain more than one enterOrExit filter event.
enterOrExit filter event.
Notifiers MAY support other more complex geometries or additional Notifiers MAY support other more complex geometries or additional
coordinate reference systems. How the Subscriber negotiates coordinate reference systems. How the Subscriber negotiates
support for more complex geometries or reference systems is out of support for more complex geometries or reference systems is out of
the scope of this document. the scope of this document.
Likewise, this document does not describe how a subscriber Likewise, this document does not describe how a subscriber
discovers the existence of externally referenced features. This discovers the existence of externally referenced features. This
topic is out of scope of this document. topic is out of scope of this document.
In most cases Subscribers that use location filters based on In most cases Subscribers that use location filters based on
enterOrExit events are especially interested in the resource's enterOrExit events are especially interested in the resource's
skipping to change at page 8, line 11 skipping to change at page 7, line 43
For example, if the resource enters or exits Building 10 (which is For example, if the resource enters or exits Building 10 (which is
defined by specific 2-D or 3-D rectangular coordinates), send a defined by specific 2-D or 3-D rectangular coordinates), send a
notification: notification:
Version in 2-Dimensions: Version in 2-Dimensions:
<location-filter> <location-filter>
<enterOrExit> <enterOrExit>
<my:Building> <my:Building>
<gml:name>Building 10</gml:name> <gml:name>Building 10</gml:name>
<gml:extentOf> <gml:extentOf>
<gml:Polygon> <gml:Polygon
srsName="urn:ogc:def:crs:EPSG::4326"
xmlns:gml="http://www.opengis.net/gml">
<gml:exterior> <gml:exterior>
<gml:LinearRing> <gml:LinearRing>
<gml:posList <gml:posList
srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979"> 37.41188 -121.93243
37.41188 -121.93243 0 37.41142 -121.93243
37.41188 -121.93132 0 37.41142 -121.93132
37.41142 -121.93132 0 37.41188 -121.93132
37.41142 -121.93242 0 37.41188 -121.93243
37.41188 -121.93243 0
</gml:posLis> </gml:posLis>
</gml:LinearRing> </gml:LinearRing>
</gml:exterior> </gml:exterior>
</gml:Polygon> </gml:Polygon>
</gml:extentOf> </gml:extentOf>
</my:Building> </my:Building>
</enterOrExit> </enterOrExit>
</location-filter> </location-filter>
Version in 3-Dimensions: Version in 3-Dimensions:
<location-filter> <location-filter>
<enterOrExit> <enterOrExit>
<my:Building> <my:Building>
<gml:name>Building 10</gml:name> <gml:name>Building 10</gml:name>
<gml:Solid> <gs:Prism
<gml:exterior> srsName="urn:ogc:def:crs:EPSG::4979"
<gml:Surface> xmlns:gs="urn:ietf:params:xml:ns:pidf:geopriv10:geoShape"
<gml:patches> xmlns:gml="http://www.opengis.net/gml">
<gml:Polygon> <!-- floor --> <gs:base>
<gml:exterior> <gml:Polygon>
<gml:LinearRing> <gml:exterior>
<gml:posList <gml:LinearRing>
srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979"> <gml:posList>
37.41188 -121.93243 0 37.41188 -121.93243 0
37.41188 -121.93132 0 37.41142 -121.93242 0
37.41142 -121.93132 0 37.41142 -121.93132 0
37.41142 -121.93242 0 37.41188 -121.93132 0
37.41188 -121.93243 0 37.41188 -121.93243 0
</gml:posLis> </gml:posList>
</gml:LinearRing> </gml:LinearRing>
</gml:exterior> </gml:exterior>
</gml:Polygon> </gml:Polygon>
<gml:Polygon> <!-- north wall --> </gs:base>
<gml:exterior> <gs:height uom="urn:ogc:def:uom:EPSG::9001">
<gml:LinearRing> 24
<gml:posList </gs:height>
srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979"> </gs:Prism>
37.41188 -121.93243 0
37.41188 -121.93243 0
37.41188 -121.93132 25
37.41188 -121.93132 25
37.41188 -121.93243 0
</gml:posLis>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
<gml:Polygon> <!-- east wall -->
<gml:exterior>
<gml:LinearRing>
<gml:posList
srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
37.41188 -121.93132 0
37.41188 -121.93132 25
37.41142 -121.93132 25
37.41142 -121.93132 0
37.41188 -121.93132 0
</gml:posLis>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
<gml:Polygon> <!-- south wall -->
<gml:exterior>
<gml:LinearRing>
<gml:posList
srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
37.41142 -121.93132 0
37.41142 -121.93132 25
37.41142 -121.93242 25
37.41142 -121.93242 0
37.41142 -121.93132 0
</gml:posLis>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
<gml:Polygon> <!-- west wall -->
<gml:exterior>
<gml:LinearRing>
<gml:posList
srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
37.41142 -121.93243 0
37.41142 -121.93243 25
37.41188 -121.93243 25
37.41188 -121.93243 0
37.41142 -121.93243 0
</gml:posLis>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
<gml:Polygon> <!-- roof -->
<gml:exterior>
<gml:LinearRing>
<gml:posList
srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
37.41188 -121.93243 25
37.41188 -121.93132 25
37.41142 -121.93132 25
37.41142 -121.93242 25
37.41188 -121.93243 25
</gml:posLis>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:patches>
</gml:Surface>
</gml:exterior>
</gml:Solid>
</my:Building> </my:Building>
</enterOrExit> </enterOrExit>
</location-filter> </location-filter>
If the resource enters or exits either the parking garage or any of If the resource enters or exits either the parking garage or any of
the conference rooms (both of which are externally defined), send a the conference rooms (both of which are externally defined), send a
notification: notification:
<location-filter> <location-filter>
<enterOrExit> <enterOrExit>
<my:ParkingGarage <my:ParkingGarage
xlink:href="http://server.example.com/loc-defs/bldg-mgr/parking"/> xlink:href="http://server.example.com/loc-defs/bldg-mgr/parking"/>
</enterOrExit> </enterOrExit>
<enterOrExit> <enterOrExit>
<my:ConferenceRooms <my:ConferenceRooms
xlink:href="http://server.example.com/loc-defs/userdef/confrooms"/> xlink:href="http://server.example.com/loc-defs/userdef/confrooms"/>
</enterOrExit> </enterOrExit>
</location-filter> </location-filter>
3.1 XML Schema for filter format 3.4 XML Schema for filter format
The XML Schema for this format is defined below. The XML Schema for this format is defined below.
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<xs:schema <xs:schema
targetNamespace="urn:ietf:params:xml:ns:location-filter" targetNamespace="urn:ietf:params:xml:ns:location-filter"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml"> xmlns:gml="http://www.opengis.net/gml">
<xs:element name="location-filter"> <xs:element name="location-filter">
skipping to change at page 11, line 32 skipping to change at page 9, line 43
<xs:element name="speedExceeds" type="gml:MeasureType" <xs:element name="speedExceeds" type="gml:MeasureType"
minOccurs="0" maxOccurs="1"/> minOccurs="0" maxOccurs="1"/>
<!-- this type needs to hold an XPath statement --> <!-- this type needs to hold an XPath statement -->
<xs:element name="valueChanges" type="xs:string" <xs:element name="valueChanges" type="xs:string"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="enterOrExit" type="gml:FeaturePropertyType" <xs:element name="enterOrExit" type="gml:FeaturePropertyType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<!-- Do we want to incldue this to allow new filters? --> <!-- Do we want to include this to allow new filters? -->
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:schema> </xs:schema>
4. Containment schema 4. Containment schema
This section describes the schema for describing the resource's This section describes a schema for describing the resource's
location relative to a region or list of regions which might contain location relative to a region or list of regions which might contain
the resource. (These regions can be defined dynamically in an the resource. (These regions can be defined dynamically in an
"enterOrExit" element in a subscription filter, or defined on the "enterOrExit" element in a subscription filter, or defined on the
notifier using some out-of-band mechanism.) The "pidfResource" notifier using some out-of-band mechanism.) The "pidfResource"
element is placed inside the location-info element in a PIDF-LO element is placed inside the location-info element in a PIDF-LO
document. The pidfResource element can contain zero or more document. The pidfResource element can contain zero or more
"containment" elements. Each containment element has a GML Feature "containment" elements. Each containment element has a GML Feature
sub-element (of type "FeaturePropertyType") and a mandatory attribute sub-element (of type "FeaturePropertyType") and a mandatory attribute
which specifies if the PIDF resource is inside or outside of the which specifies if the PIDF resource is inside or outside of the
feature, or if the position of the resource with respect to the feature, or if the position of the resource with respect to the
region or region list is undefined. If the subscriber is not region or region list is undefined.
authorized to know the relative position, the notifier MUST NOT In a future version of this specification, the GML Feature can
reveal this private information. The RECOMMENDED way to prevent the become a reference to a more preferable name or identifier type.
subscriber from seeing private location data of this type is to The GML Feature type is only used because it includes a name to
return a containment element whose position attribute is "undefined". reference it.
If the subscriber is not authorized to know the relative position,
the notifier MUST NOT reveal this private information. The
RECOMMENDED way to prevent the subscriber from seeing private
location data of this type is to return a containment element whose
position attribute is "undefined". Note that in some cases, the
containment information may be more interesting than the actual raw
location. It is not necessary to convey a concrete civic or geo
location in a PIDF-LO if the subscriber is only interested in or
authorized to see the containment status.
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<xs:schema <xs:schema
targetNamespace="urn:ietf:params:xml:ns:pidf:geopriv10:containment" targetNamespace="urn:ietf:params:xml:ns:pidf:geopriv10:containment"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml"
xmlns:pr="urn:ietf:params:xml:ns:pidf:geopriv10:containment" > xmlns:pr="urn:ietf:params:xml:ns:pidf:geopriv10:containment" >
<xs:element name="pidfResource"> <xs:element name="pidfResource">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
skipping to change at page 14, line 43 skipping to change at page 13, line 43
1. Magic number(s): N/A 1. Magic number(s): N/A
2. File extension(s): N/A 2. File extension(s): N/A
3. Macintosh file type code: N/A 3. Macintosh file type code: N/A
6.2 URN Sub-Namespace Registration for 6.2 URN Sub-Namespace Registration for
urn:ietf:params:xml:ns:location-filter urn:ietf:params:xml:ns:location-filter
This section registers a new XML namespace, as per the guidelines in This section registers a new XML namespace, as per the guidelines in
[11]. [12].
URI: The URI for this namespace is URI: The URI for this namespace is
urn:ietf:params:xml:ns:location-filter. urn:ietf:params:xml:ns:location-filter.
Registrant Contact: IETF, GEOPRIV working group, <geopriv@ietf.org>, Registrant Contact: IETF, GEOPRIV working group, <geopriv@ietf.org>,
as delegated by the IESG <iesg@ietf.org>. as delegated by the IESG <iesg@ietf.org>.
XML: XML:
BEGIN BEGIN
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
skipping to change at page 15, line 27 skipping to change at page 14, line 27
<body> <body>
<h1>Namespace for PIDF-LO Location Filters</h1> <h1>Namespace for PIDF-LO Location Filters</h1>
<h2>urn:ietf:params:xml:ns:location-filter</h2> <h2>urn:ietf:params:xml:ns:location-filter</h2>
<p>See <a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p> <p>See <a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p>
</body> </body>
</html> </html>
END END
6.3 Schema Registration For location-filter 6.3 Schema Registration For location-filter
This specification registers a schema, as per the guidelines in in This specification registers a schema, as per the guidelines in [12].
[11].
URI: please assign. URI: please assign.
Registrant Contact: IETF, GEOPRIV Working Group Registrant Contact: IETF, GEOPRIV Working Group
(geopriv@ietf.org), as delegated by the IESG (iesg@ietf.org). (geopriv@ietf.org), as delegated by the IESG (iesg@ietf.org).
XML: The XML can be found as the sole content of Section 3.1. XML: The XML can be found as the sole content of Section 3.4.
6.4 URN Sub-Namespace Registration for 6.4 URN Sub-Namespace Registration for
urn:ietf:params:xml:ns:pidf:geopriv10:containment urn:ietf:params:xml:ns:pidf:geopriv10:containment
This section registers a new XML namespace, as per the guidelines in This section registers a new XML namespace, as per the guidelines in
[11]. [12].
URI: The URI for this namespace is URI: The URI for this namespace is
urn:ietf:params:xml:ns:pidf:geopriv10:containment. urn:ietf:params:xml:ns:pidf:geopriv10:containment.
Registrant Contact: IETF, GEOPRIV working group, <geopriv@ietf.org>, Registrant Contact: IETF, GEOPRIV working group, <geopriv@ietf.org>,
as delegated by the IESG <iesg@ietf.org>. as delegated by the IESG <iesg@ietf.org>.
XML: XML:
BEGIN BEGIN
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
skipping to change at page 16, line 25 skipping to change at page 15, line 25
<body> <body>
<h1>Namespace for PIDF-LO location containment elements</h1> <h1>Namespace for PIDF-LO location containment elements</h1>
<h2>urn:ietf:params:xml:ns:pidf:geopriv10:containment</h2> <h2>urn:ietf:params:xml:ns:pidf:geopriv10:containment</h2>
<p>See <a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p> <p>See <a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p>
</body> </body>
</html> </html>
END END
6.5 Schema Registration For containment 6.5 Schema Registration For containment
This specification registers a schema, as per the guidelines in in This specification registers a schema, as per the guidelines in [12].
[11].
URI: please assign. URI: please assign.
Registrant Contact: IETF, GEOPRIV Working Group Registrant Contact: IETF, GEOPRIV Working Group
(geopriv@ietf.org), as delegated by the IESG (iesg@ietf.orgw). (geopriv@ietf.org), as delegated by the IESG (iesg@ietf.org).
XML: The XML can be found as the sole content of Section 4. XML: The XML can be found as the sole content of Section 4.
7. Acknowledgments 7. Acknowledgments
Thanks to Allan Thompson, James Winterbottom, and Martin Thomson for Thanks to Allan Thompson, James Winterbottom, and Martin Thomson for
their comments. their comments.
8. References 8. References
8.1 Normative References 8.1 Normative References
[1] Peterson, J., "A Presence-based GEOPRIV Location Object Format", [1] Peterson, J., "A Presence-based GEOPRIV Location Object Format",
draft-ietf-geopriv-pidf-lo-03 (work in progress), RFC 4119, December 2005.
September 2004.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997. Levels", BCP 14, RFC 2119, March 1997.
[3] Bray, T., Paoli, J., Sperberg-McQueen, C., and E. Maler, [3] Bray, T., Paoli, J., Sperberg-McQueen, C., and E. Maler,
"Extensible Markup Language (XML) 1.0 (2nd ed)", W3C REC-xml, "Extensible Markup Language (XML) 1.0 (2nd ed)", W3C REC-xml,
October 2000, <http://www.w3.org/TR/REC-xml>. October 2000, <http://www.w3.org/TR/REC-xml>.
[4] Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, "XML [4] Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, "XML
Schema Part 1: Structures", W3C REC-xmlschema-1, May 2001, Schema Part 1: Structures", W3C REC-xmlschema-1, May 2001,
<http://www.w3.org/TR/xmlschema-1/>. <http://www.w3.org/TR/xmlschema-1/>.
[5] Bray, T., Hollander, D., and A. Layman, "Namespaces in XML", [5] Bray, T., Hollander, D., and A. Layman, "Namespaces in XML",
W3C REC-xml-names, January 1999, W3C REC-xml-names, January 1999,
<http://www.w3.org/TR/REC-xml-names>. <http://www.w3.org/TR/REC-xml-names>.
[6] Clark, J. and S. DeRose, "XML Path Language (XPath) Version [6] Clark, J. and S. DeRose, "XML Path Language (XPath) Version
1.0", W3C Recommendation xpath, November 1999, 1.0", W3C Recommendation xpath, November 1999,
<http://www.w3.org/TR/xpath>. <http://www.w3.org/TR/xpath>.
[7] Winterbottom, J., "GEOPRIV PIDF-LO Usage Clarification, [7] Tschofenig, H., "GEOPRIV PIDF-LO Usage Clarification,
Considerations and Recommendations", Considerations and Recommendations",
draft-winterbottom-geopriv-pdif-lo-profile-00 (work in draft-ietf-geopriv-pdif-lo-profile-02 (work in progress),
progress), February 2005. February 2006.
[8] OpenGIS, "Open Geography Markup Language (GML) Implementation [8] Thomson, M., "Geodetic Shapes for the Representation of
Uncertainty in PIDF-LO", draft-thomson-geopriv-geo-shape-00
(work in progress), February 2006.
[9] OpenGIS, "Open Geography Markup Language (GML) Implementation
Specification", OpenGIS OGC 02-023r4, January 2003, Specification", OpenGIS OGC 02-023r4, January 2003,
<http://www.opengis.org/techno/implementation.htm>. <http://www.opengis.org/techno/implementation.htm>.
8.2 Informational References 8.2 Informational References
[9] Moats, R., "URN Syntax", RFC 2141, May 1997. [10] Moats, R., "URN Syntax", RFC 2141, May 1997.
[10] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, [11] Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
August 1999. August 1999.
[11] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [12] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
January 2004. January 2004.
Author's Address Author's Address
Rohan Mahy Rohan Mahy
SIP Edge LLC Plantronics
345 Encincal Street
Santa Cruz, CA
USA
Email: rohan@ekabal.com Email: rohan@ekabal.com
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
skipping to change at page 18, line 41 skipping to change at page 17, line 41
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights. except as set forth therein, the authors retain all their rights.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 41 change blocks. 
194 lines changed or deleted 131 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/