<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc rfcedstyle="yes"?>
<rfc number="6848" ipr="trust200902" updates="4776, 5222"
  submissionType="IETF" consensus="yes" category="std">
  <front>
    <title abbrev="Civic Extensions">Specifying Civic Address Extensions in
the&nbsp;Presence&nbsp;Information&nbsp;Data&nbsp;Format&nbsp;Location&nbsp;Object&nbsp;(PIDF-LO)</title>

    <author initials="J." surname="Winterbottom" fullname="James Winterbottom">
      <organization>CommScope</organization>
      <address>
        <postal>
          <street>Suit 1, Level 2</street>
          <street>iC Enterprise 1, Innovation Campus</street>
          <street>Squires Way</street>
          <city>North Wollongong</city>
          <region>NSW</region>
          <code>2500</code>
          <country>AU</country>
        </postal>
        <phone>+61 242 212938</phone>
        <email>james.winterbottom@commscope.com</email>
      </address>
    </author>
    <author initials="M." surname="Thomson" fullname="Martin Thomson">
      <organization>Skype</organization>
      <address>
        <postal>
          <street>3210 Porter Drive</street>
          <city>Palo Alto</city>
          <region>CA</region>
          <code>94304</code>
          <country>US</country>
        </postal>
        <email>martin.thomson@gmail.com</email>
      </address>
    </author>
    <author initials="R." surname="Barnes" fullname="Richard Barnes">
      <organization>BBN Technologies</organization>
      <address>
        <postal>
          <street>9861 Broken Land Parkway</street>
          <city>Columbia</city>
          <region>MD</region>
          <code>21046</code>
          <country>US</country>
        </postal>
        <phone>+1 410 290 6169</phone>
        <email>rbarnes@bbn.com</email>
      </address>
    </author>
    
    <author initials="B." surname="Rosen" fullname="Brian Rosen">
      <organization>NeuStar, Inc.</organization>
      <address>
        <postal>
          <street>470 Conrad Dr</street>
          <city>Mars</city>
          <region>PA</region>
          <code>16046</code>
          <country>US</country>
        </postal>
        <email>br@brianrosen.net</email>
      </address>
    </author>
    
    <author initials="R." surname="George" fullname="Robins George">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Huawei Base, Bantian, Longgan District</street>
          <city>Shenzhen</city>
          <region>Guangdong</region>
          <code>518129</code>
          <country>P. R. China</country>
        </postal>
        <phone>+86 755 2878 8314</phone>
        <email>robinsgv@gmail.com</email>
      </address>
    </author>

    <date month="January" year="2013"/>
    <area>RAI</area>
    <workgroup>GEOPRIV</workgroup>
    <keyword>Extension</keyword>
    <keyword>Local</keyword>
    <keyword>Civic</keyword>
    <keyword>Location</keyword>
    <keyword>GEOPRIV</keyword>

    <abstract>
      <t>New fields are occasionally added to civic addresses.  A backward-compatible mechanism for adding civic address elements to the Geopriv 
      civic address format is described.  A formal mechanism for handling unsupported extensions when translating between XML and DHCP civic address 
      forms is defined for entities that need to perform this
translation. Initial extensions for some new elements are also defined.  The
Location-to-Service Translation (LoST) protocol mechanism (defined in RFC 5222) that returns civic address element names used for validation of location information is clarified and is normatively updated to require a qualifying namespace identifier on each civic address element returned as part of the validation process.
      </t>

    </abstract>
  </front>
  <middle>

    <section anchor="intro" title="Introduction">
      <t>The Geopriv civic location specifications (<xref target="RFC4776"/>, <xref target="RFC5139"/>) define an XML and binary representations for civic addresses that 
      allow for the expression of civic addresses.  Guidance for the use of these formats for the civic addresses in different countries is included in <xref target="RFC5774"/>.
      </t>

      <t>Subsequent to these specifications being produced, use cases for extending the civic address format with new elements have emerged.  <xref target="RFC5774"/>
         describes a mechanism for mapping long-standing address formats into the civic address elements defined in <xref target="RFC4776"/> and <xref target="RFC5139"/>.
	 However, some of these existing address elements do not readily fit into the civic address elements defined in <xref target="RFC4776"/> 
	 and <xref target="RFC5139"/>. In these cases, creating new civic address elements provides a better solution than overloading existing civic address fields, which
	 may cause confusion.
      </t>

      <t>The <xref target="RFC5139">XML format for civic addresses</xref> provides a mechanism that allows for the addition of standardized or privately understood 
      elements.  A similar facility for private extension is not provided for <xref target="RFC4776">the DHCP format</xref>, though new specifications are able to define 
	  new CAtypes (civic address types).
      </t>

      <t>A recipient of a civic address in either format currently has no option other than to ignore elements that it does not understand.  This results 
      in any elements that are unknown to that recipient being discarded if a recipient performs a translation between the two formats.  In order for a new 
      extension to be preserved through translation by any recipient, the recipient has to understand the extension and know how to correlate an XML element with a CAtype.
      </t>

      <t>This document describes how new civic address elements are added.  Extensions always start with the definition of XML elements.   
      A mechanism for carrying the extension in the DHCP format is described. A new XML namespace containing a small number of additional civic elements is also defined and can be used
      as a template to illustrate how other extensions can be defined as required.
      </t>

      <t>These mechanisms ensure that any translation between formats can be performed consistently and without loss of information.
      Translation between formats can occur without knowledge of every extension that is present.
      </t>
	  <t>The registry of numeric CAtypes is modified so that the creators of extensions can advertise new namespaces and
	  civic elements to encourage maximum reuse.
      </t>

      <t>The additions described in this document are backwardly compatible.  Existing implementations may cause extension information to be lost,
      but the presence of extensions does not affect an implementation that conforms to either <xref target="RFC4776"/> or <xref target="RFC5139"/>.
      </t>
	  
	  <t>This document also normatively updates <xref target="RFC5222"/> to clarify that the namespace must be included with the element name in the lists of valid, invalid,
	  and not checked elements in the &lt;locationValidation&gt; part of a
Location-to-Service Translation (LoST) response.  While the LoST schema does not need to be changed, the example in the document is 
	  updated to show the namespaces in the lists.
	  </t>

      <section title="Motivating Example">
        <t>One instance where translation might be necessary is where a device receives location configuration using <xref target="RFC4776">DHCP</xref>.  
        Conversion of DHCP information to an XML form is necessary if the device wishes to use the DHCP-provided information in a range of applications, including 
        <xref target="RFC4079">location-based presence services</xref> and <xref target="RFC5012">emergency calling</xref>.
        </t>

        <figure anchor="convert" title="Conversion Scenario"><artwork><![CDATA[
 +--------+          +--------+         +-----------+
 | DHCP   |   DHCP   | Device |   XML   | Recipient | e.g., Presence
 | Server |--------->|        |-------->|           |       Agent
 +--------+          +--------+         +-----------+
]]></artwork></figure>


        <t>The device that performs the translation between the DHCP and XML formats might not be aware of some of the 
	extensions that are in use.  
        Without knowledge of these extensions and how they are represented in XML, the device is forced to discard them.
        </t>

        <t>These extensions could be useful, or may be critical, to the ultimate consumers of this information.  For instance, an extension 
        element might provide a presence watcher with important information in locating the device, or an extension might be 
	significant in choosing a particular call route.
        </t>
      </section>

      <section anchor="terminology" title="Terminology">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", 
	"RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/>.
        </t>
      </section>
    </section>


    <section anchor="extend" title="Specifying Civic Address Extensions">
      <t>The civic schema in <xref target="RFC5139"/> defines an ordered structure of elements that can be combined to 
      describe a civic address. The XML extension point at the end of this sequence is used to extend the address.
      </t>

      <t>New elements are defined in a new <xref target="XMLNS">XML namespace</xref>.  This is true of address elements with significance within private or 
      localized domains as well as those that are intended for global applicability.
      </t>

      <t>New elements SHOULD use the basic <spanx style="verb">caType</spanx> schema type defined in <xref target="RFC5139"/>.  
       This type provides an optional <spanx style="verb">xml:lang</spanx> attribute.
      </t>

      <t>For example, suppose the (fictitious) Central Devon Canals Authority wishes to introduce a new civic element called 
      "bridge".  The authority defines an XML namespace that includes a "bridge" element.  The namespace needs to be a unique URI, 
      for example <spanx style="verb">http://devon.canals.example.com/civic</spanx>.
      </t>

      <t>A civic address that includes the new "bridge" element is shown in <xref target="localcivic2"/>.
      </t>

      <figure anchor="localcivic2" title="Extended Civic Address Example">
        <artwork><![CDATA[
   <civicAddress xml:lang="en-GB"
        xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
        xmlns:cdc="http://devon.canals.example.com/civic">
     <country>UK</country>
     <A1>Devon</A1>
     <A3>Monkokehampton</A3>
     <RD>Deckport</RD>
     <STS>Cross</STS>

     <cdc:bridge>21451338</cdc:bridge>

   </civicAddress>
]]></artwork>
      </figure>

      <t>An entity that receives this location information might not understand the extension address element.  
         As long as the added element is able to be safely ignored, 
	  the remainder of the civic address can be used.  The result is that the information is not as useful as 
	  it could be, but the added element does not prevent the use of 
	  the remainder of the address.
      </t>

      <t>The address can be passed to other applications, such as a <xref target="RFC5222">LoST server</xref>, without modification.  
         If the application understands the 
	  added element(s), it is able to make use of that information.  For example, if this civic address is acquired 
	  using <xref target="RFC5985">HTTP-Enabled Location Delivery (HELD)</xref>, it can be 
	  included in a LoST request directly.
      </t>
    </section>

    <section title="Translating Unsupported Elements">
      <t>Unsupported civic address elements can be carried without consequence as long as the format of the 
      address does not change.  However, conversion between formats has been shown to be necessary.
      </t>

      <t>Format conversion requires knowledge of the format of the address elements.  An entity performing a 
      conversion between XML and DHCP address formats is forced to discard unrecognized elements.  
      The entity performing the conversion has no way to know the correct element to use in the target format.
      </t>
      
      <t>This document defines a single extension element for the DHCP format that makes knowledge of extensions 
      unnecessary during conversion. This extension element relies on the extension mechanisms defined for 
      the XML format.  New extensions to the civic address format MUST be defined only for the XML format; 
      these extensions are then conveyed in DHCP using the extension element.
      </t>

      <t>Further extensions to the DHCP format are prohibited; these extensions cannot be safely conveyed in 
       environments where conversion is possible.
      </t>

      <section title="XML to DHCP Format Translation">
        <t>Extensions to the <xref target="RFC5139">XML format</xref> are defined in a new <xref target="XMLNS">XML namespace</xref>.
	The XML namespace received in DHCP is expressed as a URL, however, it should not be dereferenced or treated as a source location
	for the actual schema and doing so will serve no useful purpose.
        </t>

        <t>Extensions in the XML format can be added to a DHCP format civic address using an extension CAtype.
        </t>
      </section>

      <section title="Extension Civic Address Type (CAtype)">
        <t>The extension CAtype (CAtype code 40) includes 
		three values that uniquely identify the XML extension and its value: a namespace URI, the local name of the XML element, and the text content of that element.  
		These three values are all included in the value of the CAtype, each separated by a single whitespace character.
        </t>

        <figure anchor="extCAtype" title="XML Civic Address Extension CAtype">
          <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  CAtype (40)  |   Length      |  Namespace URI ...            .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.                  Namespace URI (continued)                    .
.                        ...                                    .
.                                                               .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Space (U+20) |           XML element local name              .
+---------------+                                               .
.                           ...                                 .
.                                                               .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Space (U+20) |           Extension type value                .
+---------------+                                               .
.                           ...                                 .
.                                                               .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
	<t>CAtype (40) identifies the extension CAtype.</t>
	<t>Length is the number of octets used to represent the namespace URI, local name, and value. The length includes the space between the namespace URI and local name and the space between the local name and value fields.</t>
        <t>The content of a CAtype (after the CAtype code and length) is UTF-8 encoded Unicode text <xref target="RFC3629"/>.  A maximum of 255 octets is allowed.  
		Octets consumed by the namespace URI and local name reduce the space available for values.
        </t>

        <t>This conversion only works for elements that have textual content and an optional <spanx style="verb">xml:lang</spanx> attribute.  Elements with complex 
		content or other attributes -- aside from namespace bindings -- MUST be ignored if they are not understood.
        </t>
      </section>

      <section title="DHCP to XML Format Translation">
        <t>The registration of a new CAtype following the process in <xref target="RFC4776"/> means that a recipient that does not know the equivalent XML is unable 
		to produce a complete XML representation of the DHCP civic address.  For this reason, this document ends the registration of new numeric CAtypes.  No new registrations 
		of numeric CAtypes can be made.
        </t>

        <t>In lieu of making new numerical CAtype assignments, this document
creates a new extensionCA type that is defined in a manner that lets new civic elements be described in 
              DHCP form by carrying the namespace and type name of the extension in parameters of the extensionCA type.
        </t>

        <t>When converting to XML, the namespace prefix used for the extension element is selected by the entity that performs the conversion.
        </t>
      </section>

      <section title="Conversion Example">

        <figure anchor="extended" title="XML Example with Multiple Extensions">
          <preamble>The following example civic address contains two extensions:</preamble>
            <artwork><![CDATA[
   <civicAddress xml:lang="en-US"
        xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
        xmlns:post="http://postsoftheworld.example.com/ns"
        xmlns:ap="http://example.com/airport/5.0">
     <country>US</country>
     <A1>CA</A1>

     <post:lamp>2471</post:lamp>
     <post:pylon>AQ-374-4(c)</post:pylon>

     <ap:airport>LAX</ap:airport>
     <ap:terminal>Tom Bradley</ap:terminal>
     <ap:concourse>G</ap:concourse>
     <ap:gate>36B</ap:gate>
   </civicAddress>
]]></artwork>
          </figure>

          <figure anchor="localcivicdhcp" title="Converted DHCP Example with Multiple Extensions">
            <preamble>This is converted to a DHCP form as follows:</preamble>
            <artwork><![CDATA[
country     = US
CAtype[0]   = en-US
CAtype[1]   = CA
CAtype[40]  = http://postsoftheworld.example.com/ns lamp 2471
CAtype[40]  = http://postsoftheworld.example.com/ns pylon AQ-374-4(c)
CAtype[40]  = http://example.com/airport/5.0 airport LAX
CAtype[40]  = http://example.com/airport/5.0 terminal Tom Bradley
CAtype[40]  = http://example.com/airport/5.0 concourse G
CAtype[40]  = http://example.com/airport/5.0 gate 36B
   ]]></artwork>
          </figure>
        </section>
    </section>

	<section title="CAtypes Registry">
	<t><xref target="RFC4776"/> created the CAtype registry.  Among other things, this registry advertised available civic elements.  While it has always been possible to use an 
	extension namespace to define civic elements that are not in the CAtype registry, and this document does not change that, the registry is valuable to alert implementors of
	commonly used civic elements and provides guidance to clients of what elements they should support.
	</t>
	<t>This document alters the CAtype registry in several ways.  It closes the registry to new numeric CAtypes.  It deletes the "NENA" column,
       which is not needed.  It adds columns for a namespace and contact, and changes the name of the column currently called "PIDF" to "Local
       Name".  It also adds a column to the registry called "Type".  "Type" can have one of two values "A" and "B".  Type A elements are intended
       for wide use with many applications and SHOULD be implemented by all clients unless the client is certain the element will not be
       encountered.  Type B civic elements MAY be implemented by any client.
	</t>
	<t>Type A civic elements require IETF review, while Type B elements only require an expert review.
	</t>
	</section>
	 
    
    <section anchor="civic-extensions" title="Civic Extensions">
    <t>We use this new extension method to define some additional civic address
elements that are needed to correctly encode civic locations in several countries.
      The definition of these new civic address elements also serves as an example of how to define additional elements using the mechanisms described in this document.
    </t>
    <section anchor="post" title="Pole Number">
    <t>In some areas, utility and lamp posts carry a unique identifier, which we call a pole number in this document.  In some countries, the
       label on the lamp post also carries the local emergency service number, such as "110", encouraging callers to use the pole number to identify their location.

    <figure anchor="lamppost" title="Lamp Post with Emergency Number">
            <artwork><![CDATA[
                          _.-----,===.
                         | |    (''''')
                         | |     `---'
                         | |
                         | |               ,---------,
                         | |    ,---,      |Emergency|
                         | |   /|,-.|----->| Number  |
                         | |  / |110|      '---------'
                         | | /  |`-'|
                         |_|/   | 2 |      ,---------,
                         | |    | 1 |      |Lamp Post|
                         | |    | 2 |----->| Number  |
                         |-|    | 1 |      '---------'
                         | |\   | 0 |
                         | | \  | 1 |
                         | |  \ | 4 |
                         | |   \|,,,|
                   _     | |
                    ``-..|.|
                           ``--.._
                                  `'--.._
   ]]></artwork>
          </figure>
    </t>
    </section>
    
    <section anchor="mile" title="Milepost">
    <t>On some roads, trails, railroad rights of way, and other linear features, a post with a mile or kilometer distance from one
       end of the feature may be found (a "milepost").  There are other cases of poles or markers with numeric indications that are not the
       same as a "house number" or street address number.
    </t>
    </section>
    
    <section anchor="stp" title="Street Type Prefix">
    <t>The civic schema defined in <xref target="RFC5139"/> allows the definition of address &quot;123 Colorado Boulevard&quot;, but it does not allow for the easy expression
       of &quot;123 Boulevard Colorado&quot;. Adding a street type prefix,
allows a street named in this manner to be more easily represented.
    </t>
    </section>
    
    <section anchor="hnp" title="House Number Prefix">
    <t>The civic schema defined in <xref target="RFC5139"/> provides a house number suffix element, allowing one to express an address like &quot;123A Main Street&quot;, but it does not contain
       a corresponding house number prefix. The house number prefix element allows the expression of address such as &quot;Z123 Main Street&quot;.
    </t>
    </section>
    
    <section anchor="schema" title="XML Extension Schema">

 <figure>
          <artwork><![CDATA[
<?xml version="1.0"?>
<xs:schema
  targetNamespace="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext"
  xmlns:ca="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:cae="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext"
  xmlns:xml="http://www.w3.org/XML/1998/namespace"
  elementFormDefault="qualified" attributeFormDefault="unqualified">

  <xs:import namespace="urn:ietf:params:xml:pidf:geopriv10:civicAddr"/>

  <!-- Post Number -->
  <xs:element name="PN" type="ca:caType"/>
  
  <!-- Milepost -->
  <xs:element name="MP" type="ca:caType"/>
  
  <!-- Street Type Prefix -->
  <xs:element name="STP" type="ca:caType"/>
  
  <!-- House Number Prefix -->
  <xs:element name="HNP" type="ca:caType"/>

</xs:schema>
]]></artwork>
        </figure>   

    </section>
    
    <section title="Extension Examples">

    <figure title="XML Example with Post Number and Milepost" anchor="PN_and_MP">
            <artwork><![CDATA[
<civicAddress xml:lang="en-US"
     xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
     xmlns:cae="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext">
  <country>US</country>
  <A1>CA</A1>
  <A2>Sacramento</A2>
  <RD>I5</RD>
  <cae:MP>248</cae:MP>
  <cae:PN>22-109-689</cae:PN>
</civicAddress>
]]></artwork>
          </figure>
          
    <figure title="XML Example with Street Type Prefix and House Number Prefix"
anchor="STP_and_HNP">
            <artwork><![CDATA[
<civicAddress xml:lang="en-US"
     xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
     xmlns:cae="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext">
  <country>US</country>
  <A1>CA</A1>
  <A2>Sacramento</A2>
  <RD>Colorado</RD>
  <HNO>223</HNO>
  <cae:STP>Boulevard</cae:STP>
  <cae:HNP>A</cae:HNP>
</civicAddress>
]]></artwork></figure>

    </section>
    
    </section>
    
<section anchor="lost" title="Using Local Civic Extension with the LoST Protocol">

    <t>One critical use of civic location information is in next generation
emergency services applications, in particular,
       call routing applications. In such cases, location information is provided to a location-based routing service using the
       LoST protocol <xref target="RFC5222"/>. LoST is used to provide call routing information,
        but it is also used to validate location information to ensure that it can route to an emergency center when required.
    </t>
    <t>LoST is an XML-based protocol, and so the namespace extension mechanisms described in this document do not impact LoST.
       When LoST is used for validation, a &lt;locationValidation&gt; element is returned containing a list of valid, a list of invalid, 
       and a list of unchecked civic elements. <xref target="broken-fig"/> is an extract of the validation response in Figure 6 from 
       <xref target="RFC5222"/>.

    <figure anchor="broken-fig" title="Location Validation Example from LoST (RFC5222)">
            <artwork><![CDATA[
<locationValidation>
    <valid>country A1 A3 A6</valid>
    <invalid>PC</invalid>
    <unchecked>HNO</unchecked>
</locationValidation>
]]></artwork>
          </figure>
    </t>


    <t>The RelaxNG schema in <xref target="RFC5222"/> requires the elements in each of these lists to be namespace qualified,
       which makes the example in Figure 6 of <xref target="RFC5222"/> erroneous. This issue is especially significant when
       local-civic extensions are used as the domain to which the extensions are attributed may impact their interpretation by
       the server or client. To ensure that local-civic extensions do not cause
issues with the LoST server and client implementations,
       all elements listed in a &lt;valid&gt;, &lt;invalid&gt;, or &lt;unchecked&gt; element MUST be qualified with a namespace. To
       illustrate this, the extract above from Figure 6 in <xref target="RFC5222"/> becomes <xref target="corrected-fig"/>.

    <figure anchor="corrected-fig" title="Corrected Location Validation Example">
            <artwork><![CDATA[
<locationValidation 
       xmlns:ca="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr">
    <valid>ca:country ca:A1 ca:A3 ca:A6</valid>
    <invalid>ca:PC</invalid>
    <unchecked>ca:HNO</unchecked>
</locationValidation>
]]></artwork>
          </figure>
    </t>
    <t>If a validation request has also included the extensions defined in <xref target="civic-extensions"/>, then the
       validation response would look like <xref target="valid-extensions"/>.
 
    <figure anchor="valid-extensions" title="Corrected Location Validation Example">
            <artwork><![CDATA[
<locationValidation 
       xmlns:ca="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
       xmlns:cae="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext">
    <valid>ca:country ca:A1 ca:A3 ca:A6 cae:PN cae:STP</valid>
    <invalid>ca:PC</invalid>
    <unchecked>ca:HNO cae:MP cae:HNP</unchecked>
</locationValidation>
]]></artwork>
          </figure>
    </t> 
    
</section>

    <section anchor="security" title="Security Considerations">
      <t>This document defines a formal way to extend the existing Geopriv civic address schema. While no security threats are 
      directly introduced by this document, creators of new civic address extensions should refer to Sections 4.3.1 and 5.1 of <xref target="RFC3694"/>
      to understand the environments in which these new elements will be used. New elements should only be registered if the person
      or organization performing the registration understands any associated risks.</t>

      <t>Security threats applicable to the civic address formats are described in <xref target="RFC4776"/> DHCP and <xref target="RFC5139"/> XML.
      </t>
    </section>

<section anchor="IANA" title="IANA Considerations">
  <t>
    This document alters the "CAtypes" registry in the Civic Address
    Types Registry established by <xref target="RFC4776"/>.
  </t>

  <section anchor="IANA-catype" title="CAtype Registration for Extensions">
    <t>
      IANA has allocated a CAtype code of 40 for the extension CAtype.
      Registrations using this code will be made below, in <xref target="IANA-newreg"/>.
    </t>

  </section>

  <section anchor="IANA-regchange" title="Changes to the CAtype Registry">
    <t>
      IANA has made the following changes to the CAtype registry:
      <list style="symbols">
        <t>
          No registrations of new CAtype numbers in the Civic Address Types
          Registry are permitted, except by IESG Approval <xref target="RFC5226"/>
          under unusual circumstances.
        </t>

        <t>
          The following note has been placed in the header of the CAtypes registry, above the table:
          <list style="empty"><t>
            Note: As specified in RFC 6848, new registrations are only accepted for CAtype 40,
            using the template specified in <xref target="IANA-template"/>.
          </t></list>
        </t>
        <t>
          The registration procedures are changed:
          IETF Review (if Type=A), Expert Review (if Type=B).
          The designated expert is unchanged.
        </t>
        <t>
          The reference for the table is changed: <xref target="RFC4776"/>, RFC 6848
        </t>
        <t>
          The column called "NENA" is removed.
        </t>
        <t>
          The column called "PIDF" is renamed to "Local Name".
        </t>
        <t>
          New columns are added named "Namespace URI", "Contact", "Schema" and "Type".
          All existing entries will have the following values for those new columns:
          <list style="hanging" hangIndent="3">
            <t hangText="Namespace URI:">urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr
            </t>
            <t hangText="Contact:">The IESG (iesg@ietf.org);
              the GEOPRIV working group (geopriv@ietf.org)
            </t>
            <t hangText="Schema:">urn:ietf:params:xml:schema:pidf:geopriv10:civicAddr
            </t>
            <t hangText="Type:">A
            </t>
          </list>
        </t>
      </list>
    </t>
  </section>

  <section anchor="IANA-template" title="Registration Template">
    <t>
      New registrations in the Civic Address Types Registry require the
      following information:
      <list style="hanging" hangIndent="3">
        <t hangText="CAtype:">
          The assigned numeric CAtype.  All new registrations will use the value 40.
          <vspace/>
        </t>
        <t hangText="Namespace URI:">
          A unique identifier for the XML namespace used for the extension element.
        </t>
        <t hangText="Local Name:">
          The local name of an XML element that carries the civic address element.
        </t>
        <t hangText="Description:">
          A brief description of the semantics of the civic address element.
        </t>
        <t hangText="Example (optional):">
          One or more simple examples of the element.
        </t>
        <t hangText="Contact:">
          Contact details for the person providing the extension.
        </t>
        <t hangText="Specification (optional):">
          A reference to a specification for the civic address element.
        </t>
        <t hangText="Schema (optional):">
          A reference to a formal schema (XML schema, RelaxNG, or other form)
          that defines the extension.
        </t>
        <t hangText="Type:">
          "A" or "B".
          <vspace/>
          If Type is "A", all clients SHOULD implement this element.
          If Type is "B", clients MAY implement this element.
        </t>
      </list>
    </t>
  </section>

  <section anchor="IANA-newreg" title="Registration of the CAtypes Defined in this Document">
    <t>
      This section registers the following four new CAtypes in the Civic
      Address Types Registry.
    </t>
    <t>
      Post Number (see <xref target="post"/>):
<?rfc subcompact="yes"?>
      <list style="hanging" hangIndent="3">
        <t hangText="CAtype:">40<vspace/>
        </t>
        <t hangText="Namespace URI:">urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext</t>
        <t hangText="Local Name:">PN</t>
        <t hangText="Description:">
          Post number that is attributed to a lamp post or utility pole.
        </t>
        <t hangText="Contact:">
          The IESG (iesg@ietf.org); the GEOPRIV working group (geopriv@ietf.org)</t>
        <t hangText="Specification:">RFC 6848, <xref target="civic-extensions"/></t>
        <t hangText="Schema:">urn:ietf:params:xml:schema:pidf:geopriv10:civicAddr:ext</t>
        <t hangText="Type:">A</t>
      </list>
<?rfc subcompact="no"?>
    </t>

    <t>
      Milepost (see <xref target="mile"/>):
<?rfc subcompact="yes"?>
      <list style="hanging" hangIndent="3">
        <t hangText="CAtype:">40<vspace/>
        </t>
        <t hangText="Namespace URI:">urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext</t>
        <t hangText="Local Name:">MP</t>
        <t hangText="Description:">
          Milepost: a marker indicating distance to or from a place (often a town).
        </t>
        <t hangText="Contact:">
          The IESG (iesg@ietf.org); the GEOPRIV working group (geopriv@ietf.org)</t>
        <t hangText="Specification:">RFC 6848, <xref target="civic-extensions"/></t>
        <t hangText="Schema:">urn:ietf:params:xml:schema:pidf:geopriv10:civicAddr:ext</t>
        <t hangText="Type:">A</t>
      </list>
<?rfc subcompact="no"?>
    </t>

    <t>
      Street Type Prefix (see <xref target="stp"/>):
<?rfc subcompact="yes"?>
      <list style="hanging" hangIndent="3">
        <t hangText="CAtype:">40<vspace/>
        </t>
        <t hangText="Namespace URI:">urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext</t>
        <t hangText="Local Name:">STP</t>
        <t hangText="Description:">Street Type Prefix.</t>
        <t hangText="Contact:">
          The IESG (iesg@ietf.org); the GEOPRIV working group (geopriv@ietf.org)</t>
        <t hangText="Specification:">RFC 6848, <xref target="civic-extensions"/></t>
        <t hangText="Schema:">urn:ietf:params:xml:schema:pidf:geopriv10:civicAddr:ext</t>
        <t hangText="Type:">A</t>
      </list>
<?rfc subcompact="no"?>
    </t>

    <t>
      House Number Prefix (see <xref target="hnp"/>):
<?rfc subcompact="yes"?>
      <list style="hanging" hangIndent="3">
        <t hangText="CAtype:">40<vspace/>
        </t>
        <t hangText="Namespace URI:">urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext</t>
        <t hangText="Local Name:">HNP</t>
        <t hangText="Description:">House Number Prefix.</t>
        <t hangText="Contact:">
          The IESG (iesg@ietf.org); the GEOPRIV working group (geopriv@ietf.org)</t>
        <t hangText="Specification:">RFC 6848, <xref target="civic-extensions"/></t>
        <t hangText="Schema:">urn:ietf:params:xml:schema:pidf:geopriv10:civicAddr:ext</t>
        <t hangText="Type:">A</t>
      </list>
<?rfc subcompact="no"?>
    </t>
  </section>

  <section anchor="IANA-policy" title="Registration Policy and Expert Guidance">
    <t>
      The "CAtypes" registry is altered to operate on a registration policy
      of "Expert Review", and optionally "Specification Required" <xref target="RFC5226"/>
      if the element being registered has a Type value of "B".
    </t>
    <t>
      The registration rules for "Specification Required" are followed only
      if a registration includes a reference to a specification.
      Registrations can be made without a specification reference.
    </t>
    <t>
      If the element being registered has a Type value of "A", then the
      registration policy is "IETF Review" <xref target="RFC5226"/>.
    </t>
    <t>
      All registrations are reviewed to identify potential duplication
      between registered elements.  Duplicated semantics are not prohibited
      in the registry, though it is preferred if existing elements are
      used.  The expert review is advised to recommend the use of existing
      elements following the guidance in <xref target="RFC5774"/>.
      Any registration that
      is a duplicate or could be considered a close match for the semantics
      of an existing element SHOULD include a discussion of the reasons
      that the existing element was not reused.
    </t>
    <t><xref target="RFC6280"/> provides a comprehensive framework concerning the privacy of location information as pertaining to its use
       in Internet applications. The expert reviewer is asked to keep the spirit of this document in mind when reviewing new CAtype registrations.
    </t>
  </section>

  <section anchor="IANA-urn" title="URN Sub-Namespace Registration">
    <t>
   IANA has registered a new XML namespace, as per
   the guidelines in <xref target="RFC3688"/>.
      <list style="hanging" hangIndent="3">
        <t hangText="URI:">urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext</t>
        <t hangText="Registrant Contact:">
          IETF GEOPRIV working group (geopriv@ietf.org),
          James Winterbottom (james.Winterbottom@commscope.com)
        </t>
        <t hangText="XML:">
        </t>
      </list>

    <figure><artwork><![CDATA[
  BEGIN
    <?xml version="1.0"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
      <head>
        <title>GEOPRIV Civic Address Extensions</title>
      </head>
      <body>
        <h1>Additional Fields for GEOPRIV Civic Address</h1>
        <h2>urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr:ext</h2>
        <p>See <a href="http://www.rfc-editor.org/rfc/rfc6848.txt">
           RFC 6848</a>.</p>
      </body>
    </html>
  END
      ]]></artwork>
    </figure>
</t>
  </section>

  <section anchor="IANA-xml" title="XML Schema Registration">
    <t>
      This section registers an XML schema as per the procedures in <xref target="RFC3688"/>.
      <list style="hanging" hangIndent="3">
        <t hangText="URI:">urn:ietf:params:xml:schema:pidf:geopriv10:civicAddr:ext</t>
        <t hangText="Registrant Contact:">
          IETF GEOPRIV working group (geopriv@ietf.org),
          James Winterbottom (james.Winterbottom@commscope.com)
        </t>
        <t hangText="XML:">
            The XML for this schema can be found as the entirety of <xref target="schema"/> of this document.
        </t>
      </list>
    </t>
  </section>

</section>
    <section title="Acknowledgements">
      <t>Thanks to anyone who has tried to extend the civic schema and found it a little less than intuitive.</t>
    </section>
  </middle>
  <back>
    <references title="Normative References">
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4776.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5139.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5222.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3629.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3694.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6280.xml"?>
<!--      <reference anchor="XML"
                 target="http://www.w3.org/TR/2008/REC-xml-20081126">
        <front>
          <title>Extensible Markup Language (XML) 1.0 (Fifth Edition)</title>

          <author initials="E." surname="Maler" fullname="Eve Maler">
            <organization />
          </author>

          <author initials="F." surname="Yergeau" fullname="Francois Yergeau">
            <organization />
          </author>

          <author initials="J." surname="Paoli" fullname="Jean Paoli">
            <organization />
          </author>

          <author initials="T." surname="Bray" fullname="Tim Bray">
            <organization />
          </author>

          <author initials="C." surname="Sperberg-McQueen" fullname="C. M. Sperberg-McQueen">
            <organization />
          </author>

          <date month="November" day="26" year="2008" />
        </front>

        <seriesInfo name="World Wide Web Consortium Recommendation" value="REC-xml-20081126" />
        <format type="HTML" target="http://www.w3.org/TR/2008/REC-xml-20081126" />
      </reference>
-->
      <reference anchor="XMLNS"
                 target="http://www.w3.org/TR/2006/REC-xml-names11-20060816">
        <front>
          <title>Namespaces in XML 1.1 (Second Edition)</title>

          <author initials="D." surname="Hollander" fullname="Dave Hollander">
            <organization />
          </author>

          <author initials="A." surname="Layman" fullname="Andrew Layman">
            <organization />
          </author>

          <author initials="R." surname="Tobin" fullname="Richard Tobin">
            <organization />
          </author>

          <author initials="T." surname="Bray" fullname="Tim Bray">
            <organization />
          </author>

          <date month="August" day="16" year="2006" />
        </front>

        <seriesInfo name="World Wide Web Consortium Recommendation" value="REC-xml-names11-20060816" />
        <format type="HTML" target="http://www.w3.org/TR/2006/REC-xml-names11-20060816" />
      </reference>
    </references>
    <references title="Informative References">
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4079.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5012.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5774.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5985.xml"?>
    </references>

  </back>
</rfc>
