latest 62.7 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201
<!DOCTYPE html>
<html>
  <head>
    <title>Points of Interest Core</title>
    <meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
    <!-- 
      === NOTA BENE ===
      For the three scripts below, if your spec resides on dev.w3 you can check them
      out in the same tree and use relative links so that they'll work offline,
     -->
    <script src='js/respec.js' class='remove'></script>
    <script class='remove'>
      var respecConfig = {
          // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
          specStatus:           "ED",
          
          // the specification's short name, as in http://www.w3.org/TR/short-name/
          shortName:            "POI-Core",

          // if your specification has a subtitle that goes below the main
          // formal title, define it here
          // subtitle   :  "an excellent document",

          // if you wish the publication date to be other than today, set this
          // publishDate:  "2009-08-06",

          // if the specification's copyright date is a range of years, specify
          // the start date here:
          // copyrightStart: "2005"

          // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
          // and its maturity status
          // previousPublishDate:  "1977-03-15",
          // previousMaturity:  "WD",

          // if there a publicly available Editor's Draft, this is the link
          edDraftURI:           "http://www.w3.org/2010/POI/documents/Core/latest",

          // if this is a LCWD, uncomment and set the end of its review period
          // lcEnd: "2009-08-05",

          // if you want to have extra CSS, append them to this list
          // it is recommended that the respec.css stylesheet be kept
          extraCSS:             ["http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"],

          // editors, add as many as you like
          // only "name" is required
          editors:  [
              { name: "Matt Womer", 
				//url: "http://example.org/",
                
				// company: "Your Company", 
				companyURL: "http://example.com/" },
          ],

          // authors, add as many as you like. 
          // This is optional, uncomment if you have authors as well as editors.
          // only "name" is required. Same format as editors.

          //authors:  [
          //    { name: "Your Name", url: "http://example.org/",
          //      company: "Your Company", companyURL: "http://example.com/" },
          //],
          
          // name of the WG
          wg:           "Points of Interest Working Group",
          
          // URI of the public WG page
          wgURI:        "http://www.w3.org/2010/POI/",
          
          // name (with the @w3c.org) of the public mailing to which comments are due
          wgPublicList: "public-poiwg",
          
          // URI of the patent status for this WG, for Rec-track documents
          // !!!! IMPORTANT !!!!
          // This is important for Rec-track documents, do not copy a patent URI from a random
          // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
          // Team Contact.
          wgPatentURI:  "http://www.w3.org/2004/01/pp-impl/45386/status",
      };

	function escapeExamples(doc, content) {
	    // perform transformations to make it render and prettier
	    return '<pre class="example">' + doc._esc(content) + '</pre>';
	}
	function escapeSchema(doc, content) {
	    // perform transformations to make it render and prettier
	    return '<pre>' + doc._esc(content) + '</pre>';
	}
	function includeWiki(doc, content) {
	    // perform transformations to make it render and prettier
		newcontent=content.replace(/[\s\S]*bodyContent">/m,'');
		newcontent=newcontent.replace(/[\s\S]*?<\/p>/m,'');
		
		newcontent=newcontent.replace(/\<\!--\s*?\n\s*?NewPP[\s\S]*/m,'');
		newcontent=newcontent.replace(/\<h2\>/g,"<h4>");
		newcontent=newcontent.replace(/\<\/h2\>/g,"</h4>");
		
		newcontent=newcontent.replace(/\<h3\>/g,"<h5>");
		newcontent=newcontent.replace(/\<\/h3\>/g,"</h5>");
		return newcontent;
//	   return '<pre class="example">' + doc._esc(newcontent) + '</pre>';
	}
	
    </script>
<style>
	.to-delete { text-decoration:line-through;}
	h5,h6 { margin-top:10px; margin-bottom:10px;}
</style>
  </head>
  <body>
    <section id='abstract'>
	This document describes a data model and XML syntax for representing  information about points of interest (POI) on the World Wide Web.  
    </section>
  	    <section>
	      <h2>Introduction</h2>
	      <p>In general terms, a "point of interest" is a location about which information is available.  A POI can be as simple as a set of coordinates and an identifier, or more complex such as a three dimensional model of a building with names in various languages, information about open and closed hours, and a civic address.  POI data has many uses including navigation systems, mapping, geocaching, location-based social networking games, and augmented reality browsers.</p>
		<p>POI data has traditionally been exchanged in proprietary formats by various transport mechanisms.  This specification defines a flexible, lightweight, extensible POI data model, and one normative syntax for the data model.  This will enable content publishers to effectively describe and efficiently serve and exchange POI data.  In addition to the data model and format, this specification includes best practices for how to organize and serve POIs on the Web.
		</p>
		<p>To achieve these goals, this document describes a generic data model and one normative format.  This format is based on XML and is likely insufficient to cover all possible POI use cases, therefore, the format is extensible, and it is expected that the data model will be mapped to other formats, such as JSON, GML, RDF, GeoRSS, or HTML.
		</p>
		</section>
		<section>
			<h2>Terminology</h2>
		<p>The term <dfn>points of interest</dfn> is used in a broad sense in this specification to refer to a loosely coupled and inter-related set of terms: locations, POIs and places.		</p>
		<p class="note">This section is primarily based on the <a href="http://www.w3.org/2010/POI/wiki/Main_Page">wiki home page definition of POI</a>.		</p>
		<dl>
			<dt>Location</dt>
		<dd>
		  The term <dfn>location</dfn> is used to refer to an identifiable geographic place [[ISO19112]]. Typically a location is a physically fixed point, typically on the surface of the Earth, though locations can be relative to other, non-earth centric coordinate reference systems. Locations can be a single point, a centroid, a minimum bounding rectangle, or a set of vectors. A location should be persistent over time and does not change.	Multiple	POIs may share the same location. When a POI physically moves it is understood to have acquired a new location.</dd>

		<dt>Points of Interest</dt>

		<dd>
		  Unlike the term location, the term <dfn>POI</dfn> is a human construct. POIs typically describe a location where one can find a place, product or service, typically identified by name rather than by address and characterized by type, which may be used as a reference point or a target in a location based service request, e.g., as the destination of a route. For the purposes of this document, the term POI does not exclude the labeling, identification, and tracking of persons and other physical objects that have no permanent location.</dd>
		<dt>Places</dt>
		<dd>A <dfn>place</dfn> is also a human construct which typically has a coarse level of spatial granularity. Places are generally larger scale administrative constructs, either informally or formally defined. Countries, states, counties, districts, neighborhoods and postal codes or telephone area codes are all places. Places are also informally or colloquially defined, such as the Home Counties in the United Kingdom and the Bay Area in the United States.</dd>
		<dd>
			Places have spatial relationships; with parents, children, adjacencies and contained by semantics. Places  have the same attribute set as POIs, although often with differing interpretations based on scale; for example, the address of a Place or its URI might refer to the address of the administrative or governing body of the place.			</dd>
		<dd>
		A place typically contains multiple POIs and can also be coterminous with a POI. In the former case, a place, such as a city or a neighborhood, will contain multiple POIs. In the latter case, a place and a POI will occupy the same position and extent, such as in the case of Yellowstone National Park, which is both a Place and a POI.	For	the purposes of this document no distinction will be made between a place and a POI.</dd>
		<dt>&nbsp;</dt>
		<dt>Coordinate</dt>
		<dd>
		The term <dfn>coordinate</dfn> refers to one of a sequence of n numbers designating the position of a point in n-dimensional space [[ISO19111]].		</dd>
		<dt>Coordinate Reference System</dt>
		<dd>
		The term <dfn>coordinate reference system</dfn> refers to a coordinate system that is related to an object by a datum [[ISO19111]].		</dd>

		<dt>Coordinate System</dt>
		<dd>The term <dfn>coordinate system</dfn> refers to a set of mathematical rules for specifying how coordinates are to be assigned to points [[ISO19111]].		</dd>

		<dt>Datum</dt>
		<dd>
		The term <dfn>datum</dfn> refers to a parameter or set of parameters that define the position of the origin, the scale, and the orientation of a coordinate system [[ISO19111]].		</dd>

		<dt>Geolocation</dt>
		<dd>
			The term <dfn>geolocation</dfn> refers to the identification of the real world geographic location of an object.		</dd>

		<dt>Point</dt>
		<dd>
		The term <dfn>point</dfn> refers to a 0-dimensional geometric primitive, representing a position [[ISO19107]].		</dd>

		<dt>Position</dt>
		<dd>
			The term <dfn>position</dfn> refers to a data type that describes a point or geometry potentially occupied by an object or person [[ISO19133]].		</dd>


		<dt>Route</dt>
		<dd>
		The term <dfn>route</dfn> refers to a sequence of links and / or partial links that describe a path, usually between two positions, within a network [[ISO19133]].		</dd>
		<dt>Coordinate Set</dt>
		<dd>The term <dfn>coordinate set</dfn> refers to the individual parts of a coordinate.  This is often a simple <dfn>coordinate pair</dfn> of latitude and longitude values, but based on the coordinate system used, may be other values, see <a href="#CRS" class="sectionRef"></a>.</dd>
		</dl>
	    </section>
  
<section>
  <h2>POI Data Model</h2>
  <p>The core  data model includes a compound element called POIType derived  and having children  derived from a an abstract type called POIBaseType. The common POIBaseType allows the authorship, modification, and source of POIs  to be attributed at the POI level, at the child element level, and at a group level through a grouping  element called POIS. Child elements consist of primtive datatypes, POIBaseType elements, or POITermType elements having the additional attributes:</p>
		<ol>
		  <li><strong>term:</strong> a machine readable character string to designate any number of discrete choices</li>
		  <li><strong>scheme:</strong> a URL pointing to the schema enumurating the discrete choices in term</li>
  </ol>
<p>Both the POI and POIS element  can contain any number of the following child elements:</p>
		<ol>
			<li><strong>label:</strong> a human readable label for the POI that can be discriminated with the term attribute (e.g. primary, collogiual, etc.).</li>
			<li><strong>description:</strong> a human readable description of the POI that can be discrimintated with the language attribute.</li>
			<li><strong>category:</strong> like all things, there are many ways to categorize a POI. It could have a primary use, such as restaurant or museum; it could have a popularity rating; it could have a security classification.</li>
			<li><strong>time:</strong> A POI exists within a certain context. Time is one of those contexts. The POI may have a known time when it came into being, and can therefore have a start date. The POI might no longer exist at a known point in time (in the future or in the past), and will therefore have an end date. There can be even more complex cases, where a POI exists on a regularly scheduled sequence of times. This specification handles that case also by allowing one to specify the time period using the iCalendar standard [[ICALENDAR]].</li>
			<li><strong>link:</strong> adopted from Atom's link object, a link is a generic way to define a relationship from a POI to another POI, or from a POI to any other web resource.</li>
			<li><strong>metadata: </strong>this is the place to attach formal metadata to the POI via reference or inline. It is anticipated that some people will use this for Dublin Core or ISO 19115 metadata.</li>
	  </ol>
		<p>The POI element must contain a single Location element having at least one geometry element derived from GML_CE_Geometry, an address element or the undetermined element.</p>
<p><img src="data-model-20111216.png"/></p>
		<p>The elements of the core data model are described in more detail below. </p>
  <section>
		<h3>POIBaseType		</h3>
		<p>POIBaseType is the base element from which the majority of POI related elements are derived. It provides attributes related to id, source, authorship, licensing, and  modification times for creation, deletion and updating. This base type allows the POI element, POIS grouping element and most child elements to carry separate information about their provinence, source and history.</p>
			<h5>Contains</h5>

    <table class="simple">
				<thead>
					<tr><th>Name</th>
					  <th>Count</th>
					<th>Details</th>
					<th>Type</th>
					</tr>
				</thead>
				<tbody>

		<tr>
			<td>id</td>
			<td>[0..1]</td>
			<td>A unique identifier for this location. Can be a URI fragment. Refer to xml:base [[XMLBASE]] for more info</td>
			<td>string</td>
		</tr>
		<tr>
			<td>href</td>
			<td>[0..1]</td>
			<td>An absolute reference to the POI content</td>
			<td>URI</td>
		</tr>
		<tr>
		  <td>value</td>
		  <td>[0..1]</td>
		  <td>The POI information content</td>
		  <td>CDATA</td>
		  </tr>
		<tr>
		  <td>base</td>
		  <td>[0..1]</td>
		  <td>XML base when id is not absolute. Refer to xml:base [[XMLBASE]] for more info</td>
		  <td>URI</td>
		  </tr>
		<tr>
		  <td>type</td>
		  <td>[0..1]</td>
		  <td>MIME type [RFC2046]</td>
		  <td>string</td>
		  </tr>
		<tr>
		  <td>lang</td>
		  <td>[0..1]</td>
		  <td>XML Language type [RFC3066]</td>
		  <td>string</td>
		  </tr>
		<tr>
			<td>updated</td>
			<td>[0..1]</td>
			<td>Time this POI information was last changed [[ISO8601]] also refer to atom:updated [[RFC5023]]</td>
			<td>dateTime</td>
		</tr>
		<tr>
			<td>created</td>
			<td>[0..1]</td>
			<td>Time at which this POI information was created</td>
			<td>dateTime</td>
		</tr>
		<tr>
			<td>deleted</td>
			<td>[0..1]</td>
			<td>Time at which this POI information was deleted</td>
			<td>dateTime</td>
		</tr>
		<tr>
			<td>author</td>
			<td>[0..1]</td>
			<td>Author of this POI information see <a href="#author-element" class="sectionRef"></a>
			</td>
			<td>location</td>
		</tr>
		<tr>
			<td>license</td>
			<td>[0..1]</td>
			<td>License restrictions on this POI information see <a href="#license-element" class="sectionRef"></a></td>
			<td>category</td>
		</tr>
		</tbody>
	</table>

          <p>The id attribute is highly recommended. Using a unique URL or a resolvable combination of id and base URI is also recommended.</p>
          <p>The href attribute may serve as an absolute reference to retrieve the POI information when the id and base do not combine to form a resolvable URL.</p>
          <p>The value attribute is the prefered location for arbitrary strings (e.g. label, description, etc.). Many elements derived from POIBaseType  may not require this attribute (e.g. link, license, geometry elements).</p>
    <p>The updated, created and deleted attributes are for the capturing the modification history of the POI information itself. Any information about the existence of the POI itself as a human concept should use the POIBase time element.</p>
  </section>
  <section>
    <h3>POITermType </h3>
    <p>The POITermType element is derived from POIBaseType and adds attributes for the management of categorical entities. The POITermType element is used by the category, link, label, author, license and time elements along with the geometry elements point, line and polygon.</p>
    <h5>Contains</h5>
    <table class="simple">
      <thead>
        <tr>
          <th>Name</th>
          <th>Count</th>
          <th>Details</th>
          <th>Type</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>term</td>
          <td>[0..1]</td>
          <td>A machine-readable character string to designate any number of discrete choices</td>
          <td>URI</td>
        </tr>
        <tr>
          <td>scheme</td>
          <td>[0..1]</td>
          <td>An absolute reference to the schema enumurating the dicrete choices in term</td>
          <td>URI</td>
        </tr>
      </tbody>
    </table>
    <p>It is recommended to use the value attribute inherited from POIBaseType for human readable categorical descriptions.</p>
    <section id="author-element">
    <h3>author</h3>
    <p>The author element is derived from the POITermType element to specify zero or one author.  The language the label is in may be indicated using the lang attribute. Multiple authors may be discriminated with the term attribute (e.g. primary, editor, etc.). The first author encountered per language is considered the primary author for that language.    </p>
    <h6>Some Recommented Terms</h6>
    <table class="simple">
      <thead>
        <tr>
          <th>Name</th>
          <th>Details</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>primary</td>
          <td>Primary author</td>
        </tr>
        <tr>
          <td>secondary</td>
          <td>Secondary author</td>
        </tr>
        <tr>
          <td>contributer</td>
          <td>A contributing author</td>
        </tr>
        <tr>
          <td>editor</td>
          <td>Editor</td>
        </tr>
      </tbody>
    </table>
    <p>When the mime type attribute is text/vcard the value content is expected in VCard format [[RFC6350]].</p>
    </section>  <section id="license-element">
    <h3>license</h3>
    <p>The license element is derived from the POITermType element to specify zero or one license.  The language the license is in may be indicated using the lang attribute. Multiple licenses may be discriminated with the term attribute (e.g. common, opensource, etc.). The first license encountered per language is considered the primary license for that language.</p>

  </section>  
  </section>
  <section>

    <h3>POIType</h3>
<p>The POIType element is derived from POIBaseType and adds child elements for describing, labeling, categorizing and indicating the time span of a POI or group of POIs. The element  incudes child elements for linking  to other POIs, external web resources or metadata.</p>
<h5>Contains</h5>
<table class="simple">
  <thead>
    <tr>
      <th>Name</th>
      <th>Count</th>
      <th>Details</th>
      <th>Type</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>label</td>
      <td>[0..*]</td>
      <td>A human-readable name. Multiple names are used for synonyms and multiple languages</td>
      <td>POITermType</td>
    </tr>
    <tr>
      <td>description</td>
      <td>[0..*]</td>
      <td>A human-readable description  that can be discrimintated with the language attribute</td>
      <td>POIBaseType</td>
    </tr>
    <tr>
      <td>category</td>
      <td>[0..*]</td>
      <td>A categorical classification of the POI.</td>
      <td>POITermType</td>
    </tr>
    <tr>
      <td>time</td>
      <td>[0..*]</td>
      <td>A fixed time or sequence of times using iCalendar when  the mime type is text/calendar</td>
      <td>POITermType</td>
    </tr>
    <tr>
      <td>link</td>
      <td>[0..*]</td>
      <td>A link to another POI or web resource.</td>
      <td>POITermType</td>
    </tr>
    <tr>
      <td>metadata</td>
      <td>[0..1]</td>
      <td>see <a href="#metadata" class="sectionRef"></a></td>
      <td>Metadata</td>
    </tr>
  </tbody>
</table>


	
		  <section>
		    <h3>label</h3>
		    <p>The label element is derived from the POITermType element to specify zero or more human readable labels.  The language of label   may be indicated using the lang attribute. Multiple labels may be discriminated with the term attribute (e.g. primary, collogiual, etc.). The first label encountered per language is considered the primary label for that language.</p>
		    <p>It is recommended to use the term attribute to discriminate between different categories of label elements.</p>
            <h6>Some Recommented Terms</h6>
            <table class="simple">
              <thead>
                <tr>
                  <th>Name</th>
                  <th>Details</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td>primary</td>
                  <td>The primary label</td>
                </tr>
                <tr>
                  <td>note</td>
                  <td>An annotation label</td>
                </tr>
              </tbody>
            </table>
	      </section>

        <section>
          <h3>description</h3>
          <p>The label element is derived from the POIBaseType element to specify zero or more human readable descriptions.  The language the description is in may be indicated using the lang attribute. The first description encountered per language is considered the primary description for that language.</p>
        </section>
        <section>
          <h3>category</h3>
          <p>The category element is derived from the POITermType element for making associations with zero of more categories. Category is adopted from Atom's category object, and works in much the same way. A category should specif the type of a POIBaseType element, such as city, restaurant, etc. Multiple categories are allowed to accommodate the fact that POIBaseType elements may be more than one thing. For example, a casino might be a gambling hall, a restaurant, and a concert venue. A grocery store may also be a bank and a pharmacy.        </p>
        </section>
        <section>
        </section>
        <section>
        </section>
        <section>
          <h3>time</h3>
          <p>The time element is derived from  POITermType to specify zero of more times applicable to a POIBaseType such as an individual point in time, a span of time, or a recurring time or time span.</p>
          <p>A POI exists within a certain context. Time is one of those contexts. The POI may have a known time when it came into being, and can therefore have a start date. The POI might no longer exist at a known point in time (in the future or in the past), and will therefore have an end date. There can be even more complex cases, where a POI exists on a regularly scheduled sequence of times. This specification handles that case also by allowing one to specify the time period using the iCalendar standard [ICALENDAR].</p>
          <p>It is recommended to use the term attribute to discriminate between different time element categories.</p>
<h6>Some Recommented Terms</h6>
          <table class="simple">
            <thead>
              <tr>
                <th>Name</th>
                <th>Details</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>start</td>
                <td>Time when the POI came into being</td>
              </tr>
              <tr>
                <td>end</td>
                <td>Time when the POI ceased to exist</td>
              </tr>
              <tr>
                <td>instant</td>
                <td>A single time when an event happened</td>
              </tr>
              <tr>
                <td>open</td>
                <td>A recuring time when a POI is open</td>
              </tr>
            </tbody>
          </table>
          <p>When the mime type attribute is undetermined or text/plain the content of the value attribute is assumed to be in the dateTime format [ISO8601]. When the mime type attribute is text/calendar the value content is expected in iCalendar format.</p>
      </section>
          <section>
          <h3>link</h3>
          <p>The time element is derived from  POITermType and adopted from Atom's link object which works in  the same way. A link is a generic way to define a relationship from a POI to another POI, or from a POI to any other web resource.   Links are a powerful way to describe a host of relationships. One could argue that just as Web pages obtain most of their value by the links between them, a POI's value is directly related to the number of links between it and others. Links in POIs are perhaps even more important than links in Web pages or Atom feeds as POIs are inherently place-based objects with natural relationships in space and time that should be expressed. Those spatial relationships are mostly covered by the Relationship primitive described elsewhere, which is in many ways a specialization of the generic Link. But there are many more semi-spatial and non-spatial relationships that can be expressed using Link.          </p>
          <p>This specification proposes a number of best practices for defining links. Key relations from the IANA registry are listed below in italics. Those relation in bold are defined only in this specification.</p>
          <h6>Relations</h6>
          <table class="simple">
            <thead>
              <tr>
                <th>Name</th>
                <th>Details</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td><em>alternate</em></td>
                <td>a identical POI. Often used as a permalink</td>
              </tr>
              <tr>
                <td><em>canonical</em></td>
                <td>the preferred version of a set of POIs with highly similar content. For example, there could be many different perceptions of a neighborhood boundary POI, but the city's neighborhood map could be the canonical version of this POI.</td>
              </tr>
              <tr>
                <td><em>copyright</em></td>
                <td>a copyright statement that applys to the link's context</td>
              </tr>
              <tr>
                <td><em>describedby</em></td>
                <td>more information about this POI</td>
              </tr>
              <tr>
                <td><em>edit</em></td>
                <td>a resource that can be used to edit the POI's context</td>
              </tr>
              <tr>
                <td><em>enclosure</em></td>
                <td>a related resource that is potentially large and might require special handling</td>
              </tr>
              <tr>
                <td><em>icon</em></td>
                <td></td>
              </tr>
              <tr>
                <td><em>latest-version</em></td>
                <td>points to a resource containing the latest version</td>
              </tr>
              <tr>
                <td><em>license</em></td>
                <td>a license for this POI</td>
              </tr>
              <tr>
                <td><em>related</em></td>
                <td>a related resource</td>
              </tr>
              <tr>
                <td>search</td>
                <td>a resource that can be used to search through the link's context and related resources</td>
              </tr>
              <tr>
                <td><strong>parent</strong></td>
                <td>a parent POI, often the enclosing geographic entity, or the entity this POI in under the domain of (such as a field office-corporate headquarters relationship)</td>
              </tr>
              <tr>
                <td><strong>child</strong></td>
                <td>a child POI, often a geography entity enclosed or under the domain of this POI</td>
              </tr>
              <tr>
                <td></td>
                <td></td>
              </tr>
              <tr>
                <td></td>
                <td></td>
              </tr>
            </tbody>
          </table>
        </section>
        <section>
          <h3>metadata</h3>
          <p>Dublin Core or [[ISO19115]] metadata.</p>
          <p class="note">There is a WG question on whether this adequately addresses concerns about extensibility. See <a href="http://www.w3.org/2010/POI/track/issues/18">ISSUE-18</a>.</p>
        </section>
  </section>
        <section>
          <h3>POIS</h3>
          <p>The POIS element is derived from POIType and can have one or more children elements of POI type.   </p>
  </section>
        <section>
        <h3>POI</h3>
        <p>The POI element is derived from POIType and adds the Location element for determining the location of the POI.        </p>
        </section>
        <section>
        <h3>Location</h3>
		<p>The Location element provides a rich and flexible description of the location of a POI. A Location can be represented in a variety of ways, such as the geodetic coordinates for the center of the POI, civic address, line, bounding box, polygon, or undetermined. A location is a required part of a POI and has child elements describing geometry, address or the undetermined element.</p>
		<h6>Contains		  </h6>
        <table class="simple">
			<thead>
				<tr><th>Name</th>
				  <th>Count</th>
				  <th>Details</th>
				  <th>Type</th>
			    </tr>
		    </thead>
			<tbody>
		<tr>
			<td>point</td>
			<td>[0..*]</td>
			<td>A single coordinate</td>
			<td>GML_CE_Geometry</td>
		</tr>
		<tr>
			<td>line</td>
			<td>[0..*]</td>
			<td>Two or more coordinates</td>
			<td>GML_CE_Geometry</td>
		</tr>
		<tr>
			<td>polygon</td>
			<td>[0..*]</td>
			<td>Three or more coordinates</td>
			<td>GML_CE_Geometry</td>
		</tr>
		<tr>
			<td>address</td>
			<td>[0..*]</td>
			<td>A civic address</td>
			<td>POIBaseType</td>
		</tr>
		<tr>
			<td>relationship</td>
			<td>[0..*]</td>
			<td>A geo-spatial relationship to one or more POI</td>
			<td>Relationship</td>
		</tr>
		<tr>
			<td>undetermined</td>
			<td>[0..1]</td>
			<td>Indicating the location is undertermined</td>
			<td>string</td>
		</tr>
		</tbody>
	</table>
        <p>If a Location   neither includes a geometry element nor an address element then it must include the undetermined element. A Location element with no child elements indicates the data should be acquired from the href attribute of the element.</p>

			<section>
			  <h3>GML_CE_Geometry</h3>
              <p>The GML_CE_Geometry  is the base element from which all geometry elements are derived. It combines a coordinate system description with a set of coordinates.              </p>
              <h6>Contains</h6>
              <table class="simple">
                <thead>
                  <tr>
                    <th>Name</th>
                    <th>Count</th>
                    <th>Details</th>
                    <th>Type</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td>srsName</td>
                    <td>[0..1]</td>
                    <td>Coordinate reference system</a></td>
                    <td>string</td>
                  </tr>
                  <tr>
                    <td>PosList</td>
                    <td>1</td>
                    <td>Contains  coordinate set</td>
                    <td>string</td>
                  </tr>
                </tbody>
              </table>
            <section id="CRS">
              <h5>Coordinate Reference Systems</h5>
              <p>In all of the primitives that specify geodetic coordinates, an <dfn>srsName</dfn> is included in order to indicate the coordinate reference system (CRS) being used. The srsName value is a URN [[RFC3406]] indicating the CRS used and is <dfn>urn:ogc:def:crs:EPSG::4326</dfn> by default.  This default is the URN for the World Geodetic System 84 (WGS84) in 2 dimensions, latitude and longitude.  Other CRS URNs are allowed.  The CRS used influences the interpretation of the coordinate set.</p>
              <p>The default CRS refers to WGS84 geographic longitude and latitude expressed in decimal degrees, namely EPSG:4326, without the degrees symbol, "°". The values of latitude and longitude are bounded by ±90° and ±180° respectively. Positive latitudes are north of the equator, negative latitudes are south of the equator. Positive longitudes are east of the Prime Meridian, negative longitudes are west of the Prime Meridian. Latitude and longitude are expressed in that sequence, namely latitude before longitude.</p>
              <p>Implementations are REQUIRED to support the following CRS based on WGS 84 NIMA.TR8350.2-3e [[NIMA-TR8350-2]].  These are identified using the European Petroleum Survey Group (EPSG) Geodetic Parameter Dataset, as formalized by the Open Geospatial Consortium (OGC):</p>
              <ul>
                <li><dfn>urn:ogc:def:crs:EPSG::4326</dfn>: 2 dimensional WGS 84, latitude, and longitude</li>
                <li><dfn>urn:ogc:def:crs:EPSG::4979</dfn>: 3 dimensional WGS 84, latitude, longitude, altitude</li>
              </ul>
              <p>The most recent version of the EPSG Geodetic Parameter Dataset SHOULD be used. A CRS MUST be specified using the above URN notation only, implementations do not need to support user-defined CRSs.</p>
              <p class="note">Are CRSes going to always be identified by URNs?  There's discussion on the confusion in <a href="http://www.ietf.org/mail-archive/web/geopriv/current/msg00941.html">this thread</a>. Raj mentioned OGC may be moving to URIs.  The URN namespace ID ogc is <a href="http://tools.ietf.org/html/rfc5165">registered</a> with IANA. <br/>
                Need a link to where OGC formalized this stuff. <br/>
                Why do we use srsName and not crsname?  Is 'name' a misnomer? Perhaps just 'srs' or 'crs' is sufficient. <br/>
                Need reference for EPSG Geodetic Parameter Dataset, found <a href="http://www.epsg.org/Geodetic.html">this</a>, but it seems to imply you need .NET to get updates, is this the right place? </p>
              <p>Implementations MUST specify the CRS using the "srsName" attribute on the outermost geometry element.  The CRS MUST NOT be respecified or changed for any sub-elements.</p>
              <p class="note">Should we be more specific that it's just on geometry elements that disallows sub-elements?  e.g. you could have &lt;pois&gt; with no CRS specified, but a POI could specify 3d WGS84.  I think this text means simply disallowing a line to have multiple CRSes.</p>
              <p>This specification does not assign responsibilities for coordinate transformations from and to other Coordinate Reference Systems.</p>
              <p><b>Note:</b> The term coordinate set as used throughout this document refers to coordinates as influenced by the rules laid out above</p>
              </section>
          </section>
              <section>
              <h3>Point</h3>
              <p>The Point element is derived from  POITermType and adds a single Point GML_CL_Geometry element. It describes a single coordinate set, the interpretation of which is inflcuenced by the CRS attribute.              </p>
              <h6>Contains</h6>
              <table class="simple">
                <thead>
                  <tr>
                    <th>Name</th>
                    <th>Count</th>
                    <th>Details</th>
                    <th>Type</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td>Point</td>
                    <td>1</td>
                    <td>A single coordinate defined in a particular CRS</td>
                    <td>GML_CL_Geometry</td>
                  </tr>
                </tbody>
              </table>
              <p>It is recommended to use the term attribute to discriminate between different Point element categories.</p>
              <h6>Some Recommented Terms</h6>
              <table class="simple">
                <thead>
                  <tr>
                    <th>Name</th>
                    <th>Details</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td>center</td>
                    <td>The centroid of the Location</td>
                  </tr>
                  <tr>
                    <td>navigation point</td>
                    <td>Generic navigation point</td>
                  </tr>
                  <tr>
                    <td>entrance</td>
                    <td>Navigation poin to the entrance</td>
                  </tr>
                </tbody>
              </table>
			  <p>The Point element locates the centroid of the POI and is the most common way of specifying a location. For most places, such as cities, businesses, tourist sites, or events, a center location can be useful for many types of software applications where additional detail is unnecessary, such as driving directions or computing rough distances. Therefore, even if the POI is also specified with a polygon or a line, it is good practice to include a center point.                </p>
            </section>
			<section>
                            <h3>Line</h3>
                <p>The Line element is derived from  POITermType and adds a single LineString GML_CL_Geometry element. It describes a list of two or more coordinate sets, the interpretation of which is inflcuenced by the CRS attribute.                </p>
                <h6>Contains</h6>
                <table class="simple">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Count</th>
                      <th>Details</th>
                      <th>Type</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>LineString</td>
                      <td>1</td>
                      <td>A  coordinate set defined in a particular CRS</td>
                      <td>GML_CL_Geometry</td>
                    </tr>
                  </tbody>
              </table>
            </section>
            <section>
              <p>A Line element can be used to describe a linear feature, such as a road, a bike route, a river, etc. </p>
            </section>
			<section>
              <h3>Polygon</h3>
              <p>The Polygon element is derived from  POITermType and adds a single SimplePolygon GML_CL_Geometry element. It describes a  list of three or more coordinate sets, the interpretation of which is inflcuenced by the CRS attribute. The last coordinate  must be identical to the first.</p>
              <h6>Contains</h6>
              <table class="simple">
                <thead>
                  <tr>
                    <th>Name</th>
                    <th>Count</th>
                    <th>Details</th>
                    <th>Type</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td>SimplePolygon</td>
                    <td>1</td>
                    <td>A  coordinate set defined in a particular CRS</td>
                    <td>GML_CL_Geometry</td>
                  </tr>
                </tbody>
              </table>
              <p>A Polygon element describes the boundary of something. There is a WG question on whether we should support more complex topology than a simple polgyon, e.g. should we support holes?  See <a href="http://www.w3.org/2010/POI/track/issues/43">ISSUE-43</a>.</span>          </p>
          </section>
			<section>
			  <h3>Address</h3>
				<p>The Address element is derived from the POIBaseType element and describes a civic address such as a mailing address or a street address.</p>
		  </section>

	        <section>
	          <h3>Undertermined              </h3>
		      <p>An Undetermined element represents a location that as of yet is undetermined.  This can be used to describe a Place prior to the final location being resolved. There are no members for an Undetermined geo-reference.	        </p>
	        </section>

	        <section>
	          <h3>Relationship</h3>
		<p class="note">This section is getting some expansion from OGC</p>
		<p>The Relationship element is derived from the POIBaseType element and establishes 1-to-1 or 1-to-many relationships between POIs. Each Relationship element must have one of 8 term attributes that describing the geo-spatial relationship to the targetPOI.</p>
        <h6> Required Terms</h6>
        <table class="simple">
          <thead>
            <tr>
              <th>Name</th>
              <th>Details</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>equals</td>
              <td>The two objects have the same boundary and interior. The test for equivalence may be limited to the resolution of the coordinate system or the accuracy of the data.</td>
            </tr>
            <tr>
              <td>disjoint</td>
              <td>needs definition</td>
            </tr>
            <tr>
              <td>intersects</td>
              <td>needs definition</td>
            </tr>
            <tr>
              <td>crosses</td>
              <td>needs definition</td>
            </tr>
            <tr>
              <td>overlaps</td>
              <td>needs definition</td>
            </tr>
            <tr>
              <td>within</td>
              <td>A POI which is entirely contained within another POI, e.g. a POI describing a store may state that it is contained within a shopping mall</td>
            </tr>
            <tr>
              <td>contains</td>
              <td>A POI which entirely contains another POI, e.g. a POI describing a mall may state that it contains POIs for each store that is within the mall</td>
            </tr>
            <tr>
              <td>touches</td>
              <td>A POI which is physically adjacent to another POI, e.g. a POI representing a store within a mall may state that it is next door to another POI which represents the store next door</td>
            </tr>
          </tbody>
        </table>
        <p><img src="core-spatialoperators-20111216.jpg"></p>
		</section>
	</section>
  </section>
	
				<!-- end Data Model section -->
	
	
	
	
	
	
	
	
	
		<section>
				<h2>XML Syntax</h2>
				<p class="note">Even more so than the rest of this document, this section is a <a href="http://en.wikipedia.org/wiki/Straw_man_proposal"><b>straw man</b></a>  proposal, so please treat it as such!<br />
		  </p>
				<p>This section describes an XML syntax to represent the data model.</p>
				<section>
					<h3>XML Notation</h3>
					<p>The following data types are from <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML Schema, Part 2: Datatypes</a> [[XMLSCHEMA11-2]].  The meanings are provided here as a convenience, for more complete information refer to the XML Schema, Part 2: Datatypes Recommendation.</p>
					<table class="simple">
						<thead> <tr> <th>Notation</th> <th>Meaning</th> </tr> </thead>
						<tbody>			
						<tr><td><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#boolean">boolean</em></a></td><td>has the ·value space· required to support the mathematical concept of binary-valued logic: {true, false}</td></tr>
						<tr><td><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#decimal"><em>decimal</em></a></td><td>a subset of the real numbers, which can be represented by decimal numerals</td></tr>
						<tr><td><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#float"><em>float</em></a></td><td>patterned after the IEEE single-precision 32-bit floating point type [[IEEE 754-1985]].</td></tr>
						<tr><td><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#double"><em>double</em></a></td><td>patterned after the IEEE double-precision 64-bit floating point type [[IEEE 754-1985]]. </td></tr>
						<tr><td><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#duration"><em>duration</em></a></td><td>represents a duration of time.</td></tr>
						<tr><td><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#dateTime"><em>dateTime</em></a></td><td> may be viewed as objects with integer-valued year, month, day, hour and minute properties, a decimal-valued second property, and a boolean timezoned property. Each such object also has one decimal-valued method or computed property, timeOnTimeline, whose value is always a decimal number; the values are dimensioned in seconds, the integer 0 is 0001-01-01T00:00:00 and the value of timeOnTimeline for other dateTime values is computed using the Gregorian algorithm as modified for leap-seconds</td></tr>
						<tr><td><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#time"><em>time</em></a></td><td>represents an instant of time that recurs every day</td></tr>
						<tr><td><em><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#date">date</em></a></td><td> consists of top-open intervals of exactly one day in length on the timelines of dateTime, beginning on the beginning moment of each day (in each timezone), i.e. '00:00:00', up to but not including '24:00:00' (which is identical with '00:00:00' of the next day)</td></tr>
						<tr><td><em><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#gYearMonth">gYearMonth</em></a></td><td>represents a specific gregorian month in a specific gregorian year.</td></tr>
						<tr><td><em><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#gYear">gYear</em></a></td><td>represents a gregorian calendar year</td></tr>
						<tr><td><em><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#gMonthDay">gMonthDay</em></a></td><td>a  gregorian date that recurs, specifically a day of the year such as the third of May</td></tr>
						<tr><td><em><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#gDay">gDay</em></a></td><td>a gregorian day that recurs, specifically a day of the month such as the 5th of the month</td></tr>
						<tr><td><em><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#gMonth">gMonth</em></a></td><td>gregorian month that recurs every year</td></tr>
						<tr><td><em><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#anyURI">anyURI</em></a></td><td>represents a Uniform Resource Identifier Reference (URI). An anyURI value can be absolute or relative, and may have an optional fragment identifie</td></tr>
						</tbody>

					</table>


					<p class="note">We need to figure out: xml id/xml:base, xml:lang, units of measurement</p>

				</section> <!-- end notation section-->
				<section>
					<h3><code>&lt;pois&gt;</code> element</h3>
					<p>
						The root element for an POI in XML syntax is the <code>pois</code> element.  The <code>&lt;pois&gt;</code> element MUST contain one or more <code>&lt;poi&gt;</code> elements.
				  </p>
					<h6>Attributes</h6>
					<table class="simple">
						<thead>
							<tr>
							<th>Name</th><th>Required</th><th>Type</th><th>Default value</th><th>Details</th></tr>
						</thead>
						<tbody>
							<tr><td>xml:base</td><td>optional</td><td>URI? @@not anyURI as fragments are not allowed</td><td>URI of the document, or URI used to retrieve document or as defined by application context</td><td>specifies the base URI of these POIs, if different than the base URI of the document, see XML Base [[XMLBASE]] and RFC 3986 [[IRI]]</td></tr>
							<tr><td>xml:lang</td><td>optional</td><td> language identifiers as defined by [[BCP47]]</td><td>??</td><td>specifies the  language of the POIs, see <a href="http://www.w3.org/TR/REC-xml/#sec-lang-tag">XML Language Identification</a> section [[XML11]]</td></tr>
					</tbody></table>
					<p class="note">should collections of POIs have an id?</p>
				</section> <!-- end of POIs element section -->



				<section>
					<h3><code>&lt;poi&gt;</code> element</h3>
					<p>The <code>&lt;poi&gt;</code> element encompasses all information about a single POI. The <code>&lt;poi&gt;</code> element MUST contain one or more <code>&lt;location&gt;</code> elements, and MAY contain one or more <code>&lt;label&gt;</code> and <code>&lt;category&gt;</code> elements.</p>

					<h6>Attributes</h6>
					<table class="simple">
						<thead>
							<tr><th>Name</th><th>Required</th><th>Type</th><th>Default value</th><th>Details</th></tr>
						</thead>
						<tbody>
							<tr><td>id</td><td>optional</td><td>@@ ID as defined in [[XML11]]</td><td>none</td><td>specifies an ID for a POI</td></tr>
							<tr><td>xml:lang</td><td>optional</td><td> language identifiers as defined by [[BCP47]]</td><td>xml:lang value of the encapsulating &lt;pois&gt; element</td><td>specifies the  language of this POI, see <a href="http://www.w3.org/TR/REC-xml/#sec-lang-tag">XML Language Identification</a> section [[XML11]]</td></tr>
					</tbody></table>



					<p class="note">Is there an official geode tagging scheme, e.g. "wgs84", or "etrs89"? Apparently yes: http://portal.opengeospatial.org/files/?artifact_id=24045
					<br />
					Now tracked as issue: <a href="http://www.w3.org/2010/POI/track/issues/21">ISSUE-21</a>.
					<br />
					How does this effect the altitude attribute?
					</p>
				</section> <!-- end of POI element section -->

<section>
					<h3><code>&lt;location&gt;</code> element</h3>
					<p>The <code>&lt;location&gt;</code> element contains one or more geo-references elements (see below), and has no attributes or character data.</p>

					<h3>Geo-reference elements</h3>
					<p>The following elements are the XML mapping for the geo-references outlined in the data model.  Geo-references are used only with in the <code>&lt;location&gt;</code> element.
					</p>
						<section>
						<h4><code>&lt;point&gt;</code> element</h4>
						<p>The <code>&lt;point&gt;</code> element is used in many different geo-reference types below.  It represents a single set of coordinates, and can be ordered relative to other <code>&lt;point&gt;</code> elements within the parent element via the <code>order</code> attribute.</p>
						<p>The <code>&lt;point&gt;</code> element has no character data.</p>
						<h6>Attributes</h6>
						<table class="simple">
							<thead>
								<tr><th>Name</th><th>Required</th><th>Type</th><th>Default value</th><th>Details</th></tr>
							</thead>
							<tbody>
								<tr><td>crs</td><td>optional</td><td>anyURI</td><td>@@</td><td>A URI as defined in OGC @@ update to latest, Raj says they now use URIs instead of URNs [[OGC-07-092r1]]@@ of the geodetic system to which the latitude and longitude and altitude are relative</td></tr>
								<tr><td>longitude</td><td>required</td><td>number</td><td>None</td><td></td></tr>
								<tr><td>latitude</td><td>required</td><td>number</td><td>None</td><td></td></tr>
								<tr><td>altitude</td><td>optional</td><td>number</td><td>?? sea level relative to system?</td><td></td></tr>

							</tbody>

						</table>
						<p class="note">Do we want to use an order attribute?  Document order?  A single attribute with a list of comma separated coordinates?
							<br />
							Now tracked as: <a href=
							"http://www.w3.org/2010/POI/track/issues/19">ISSUE-19: how should we represent points?</a> and a related issue: <a href="http://www.w3.org/2010/POI/track/issues/36">ISSUE-36: do we want to rely on document order?</a>.
						  </p>
						</section> <!-- end of point element section -->
					


					<section>
						<h4><code>&lt;address&gt;</code> element </h4>
						<p class="note">Representing addresses is a tricky business, see Geolocation WG and IETF geopriv.<br />
							As such address will be moved to TBD in this draft.  This issue is now tracked as <a href="http://www.w3.org/2010/POI/track/issues/40">ISSUE-40</a>
						</p>

						<p class="note">Should there be a way to assign languages to addresses or parts of addresses?</p>
						<!--
						<p>The <code>&lt;address&gt;</code> element may contain one or more <code>&lt;region&gt;</code> elements.</p>


						<h6>Attributes</h6>
						<table class="simple">
							<thead>
								<th>Name</th><th>Required</th><th>Type</th><th>Default value</th><th>Details</th>
							</thead>
							<tbody>
								<tr><td>country</td><td>required</td><td>string</td><td>None</td><td>ISO country code (ISO 3166-1 alpha-3 country code)</td></tr>
								<tr><td>lang</td>
								<td>required</td><td>string</td><td>defaults to the language of the XML document</td><td></td></tr>
								<tr><td>street</td>
								<td>optional</td><td>string</td><td>None</td><td> Can contain a variable mix of house number prefix, suffix, street base name and or street type</td></tr>
								<tr><td>floor</td>
								<td>optional</td><td>string</td><td>None</td><td> +/- number</td></tr>
								<tr><td>suite</td><td>optional</td><td>string</td><td>None</td><td></td></tr>
								<tr><td>postal-code</td>
								<td>optional</td><td>string</td><td>None</td><td></td></tr>

							</tbody>
						</table>
						<section>
							<h5><code>&lt;region&gt;</code> element</h5>
							<p>The <code>&lt;region&gt;</code> element has no attributes and contains character data that...??</p>
						</section>
						-->

					</section> <!-- end of address section-->

					<section>
						<h4><code>&lt;navigation-point&gt;</code> element</h4>
						<p>The <code>&lt;navigation-point&gt;</code> element has no character data and the same attributes as the <code>&lt;point&gt;</code>. 
					</section>

					<section>
					<h4><code>&lt;polygon&gt;</code> element</h4>
					<p>The <code>&lt;polygon&gt;</code> element MUST contain three or more coordinates.  The first and last coordinates must be the same.</p>
					<p class="note">I changed quite a bit here from what Raj and I discussed.  I noticed Raj said the polygon is a gml:Polygon, but that isn't the same as a GeoRSS GML, which restricts it to one gml:exterior.  Specifying all of the additional GML (gml:exterior, gml:LinearRing, gml:posList, seemed very verbose.  I also added coordinate labels and defaults.</p>
					<p>The contents of the <code>&lt;polygon&gt;</code> element are comma separated coordinates, the number of which is dependent upon the value of the <code>coordinate-labels</code> attribute.  Each set of coordinates are whitespace separated.</p>
					<p>The <code>coordinate-labels</code> contains a whitespace separated list of labels for each of the parts of the coordinates specified within the <code>&lt;polygon&gt;</code> element. The number of parts of a coordinate is equal to the number of <code>coordinate-labels</code>.  If whitespace is encountered before all values have been specified, the result is determined by the values of the <code>coordinate-defaults</code> attribute, which contains a space separated list of defaults, one per <code>coordinate-labels</code>.  If the number of <code>coordinate-labels</code> does not match the number of <code>coordinate-defaults</code>, the document is @@invalid.  If a <code>coordinate-labels</code> attribute is specified, a <code>coordinate-defaults</code> attribute MUST be specified as well.</p>
					<p class="note">The contents of the <code>&lt;polygon&gt;</code> element should be equivalent to a <code>gml:posList</code> contained within a <code>gml:LinearRing</code>, within a <code>gml:exterior</code> within a   <code>gml:AbstractSurfaceType</code>.</p>
					
					<h6>Attributes</h6>
					<table class="simple">
						<thead>
							<tr>
							<th>Name</th>
							<th>Required</th>
							<th>Type</th>
							<th>Default value</th>
							<th>Details</th>
							</tr>
						</thead>
						<tbody>
							<tr><td>crs</td><td>optional</td><td>URI</td><td>@@Whatever WGS-84 is in OGC URI syntax</td><td>?? see crs in point element for discussion</td></tr>
						<tr><td>coordinate-labels</td><td>optional</td><td>NMTOKENS</td><td>"latitude longitude altitude"</td><td>see above</td></tr>
						<tr><td>coordinate-defaults</td><td>optional</td><td>NMTOKENS</td><td>"0 0 0"</td><td>see above</td></tr>
			
						</tbody>
					</table>
					
					
					
					</section>
				
				<section>
					<h4><code>&lt;object&gt;</code> element</h4>
					<p class="note">This geo-reference hasn't been written yet</p>

					<h6>Attributes</h6>
					<table class="simple">
						<thead>
							<tr>
							<th>Name</th>
							<th>Required</th>
							<th>Type</th><th>Default value</th>
							</tr>
						</thead>
						<tbody>

						</tbody>
					</table>

				</section>

				<section>
					<h5><code>&lt;undetermined&gt;</code> element</h5>
					<p>The <code>&lt;undetermined&gt;</code> element has no character data and no attributes. </p>
				</section>

				<section>
				<h4><code>&lt;relative&gt;</code> element</h4>
				<p>The <code>&lt;relative&gt;</code> element has no character data.</p>
				<h6>Attributes</h6>
				<table class="simple">
					<thead>
						<tr>
						<th>Name</th><th>Required</th><th>Type</th><th>Default value</th><th>Details</th></tr>
					</thead>
					<tbody>
						<tr><td>location-id</td><td>required</td><td>idref (not really, more of a xsd:anyURI as it can be external too)</td><td>None</td><td>The fragment identifier or URI of the object to which this location is relative.</td></tr>
						<tr><td>distance-from</td><td>required</td><td>integer</td><td>None</td><td>The distance this object is from the object referred to in the location-id attribute</td></tr>
						<tr><td>bearing-to</td><td>required</td><td>decimal</td><td>None</td><td>?? radians? degrees?</td></tr>
						<tr><td>relative-height</td><td>optional</td><td>integer</td><td>None</td><td></td></tr>

					</tbody>
				</table>
				</section>
					<section>
						<h4><code>&lt;map&gt;</code> element</h4>
						<p class="note">Map georeference type has been dropped from the FPWD until it is better understood, so the map element has been dropped as well.</p>
						<!--

						<p> The <code>&lt;map&gt;</code> element contains no character data and may contain one or more <code>&lt;relative&gt;</code> elements.</p>
						<h6>Attributes</h6>
						<table class="simple">
							<thead>
								<th>Name</th><th>Required</th><th>Type</th><th>Default value</th><th>Details</th>
							</thead>
							<tbody>
									<tr><td>supplier</td>
								<td>required</td><td>string</td><td>None</td><td></td></tr>
									<tr><td>version</td>
								<td>required</td><td>string</td><td>None</td><td></td></tr>
									<tr><td>map-ref</td><td>required</td><td>URI</td><td>None</td><td></td><td></td></tr>
									<tr><td>side</td>
								<td>optional</td><td>string</td><td>None</td><td></td></tr>
									<tr><td>spot</td><td>optional</td><td>string</td><td>None</td><td></td></tr>

									<tr><td>reference-type</td>
								<td>required</td><td>string</td><td>None</td><td>Must be one of: center, address, navigation-point, area, or object</td></tr>
								</tr>

							</tbody>
						</table>
						-->

					</section>

		  </section>

				<section>
				<h3><code>&lt;relationship&gt;</code> element</h3>
				<p> The <code>&lt;relationship&gt;</code> element contains no character data.</p>

				<h6>Attributes</h6>
				<table class="simple">
					<thead>
						<tr>
						<th>Name</th><th>Required</th><th>Type</th><th>Default value</th><th>Details</th></tr>
					</thead>
					<tbody>
						<tr><td>type</td><td>required</td><td>string</td><td>None</td><td>MUST be one of: "contained-within","adjacent-to", or "contains"</td></tr>
						<tr><td>relative-to</td><td>required</td><td>URI</td><td>None</td><td></td></tr>
					</tbody>
				</table>
				</section>

				<section>
					<h3><code>&lt;label&gt;</code> element</h3>
					<p class="note">Todo.  At the f2f we agreed it would be label instead of name, and that multiples can exist, and one per language can be marked as primary</p>

				</section>
				<section>
					<h3>id representation</h3>
					<p class="note">At F2F2 we discussed using URI fragments as IDs, as in XML.  Using XML Base we could build a full URI that could then be used to identify the entire POI.</p>
				</section>

				<section>
					<h3><code>&lt;category&gt;</code> element</h3>
					<p>The <code>&lt;category&gt;</code> element is a child of the &lt;poi&gt; element.  It is used to identify a category scheme and a category within that scheme, as well as one or more labels for the category.</p>
					<p>The <code>&lt;category&gt;</code> element MUST contain one or more &lt;label&gt; elements, and zero or more &lt;association&gt; elements.</p>
					<p class="note">
						See <a href="http://www.w3.org/2010/POI/track/issues/24">ISSUE-24</a>.<br />
						I adjusted the Atom category element, to support multiple human readable labels via label sub elements and I try to give some meaning to the term attribute when there is no scheme.
					</p>
					<h6>Attributes</h6>

					<table class="simple">
						<thead>
							<tr>
							<th>Name</th><th>Required</th><th>Type</th><th>Default value</th><th>Details</th>
							</tr>
						</thead>
						<tbody>
							<tr><td>scheme</td><td>optional</td><td>URI</td><td>None</td><td>URI that identifies the categorization scheme, does not need to be dereferencable </td></tr>
							<tr><td>term</td><td>required</td><td>string</td><td>None</td><td>The name of the category, in the context of the scheme, or when scheme is missing, it is relevant only as an opaque string to identify the category.</td></tr>

					</tbody></table>
				</section>
				<section>
					<h3>Meta-data</h3>
					<p class="note">TBD.  See <a href="http://www.w3.org/2010/POI/track/issues/18">ISSUE-18</a>.</p>
				</section>
				<section>
					<h3><code>&lt;time&gt;</code> element</h3>
					<p class="note">We discussed at F2F2 basing this on other standards' time representations.  <br />
						This section now represents times as defined in XML Schema Datatypes.<br />
						This is <a href="http://www.w3.org/2010/POI/track/issues/26">ISSUE-26</a>.
					</p>
					<p>
				  <h6>Attributes</h6>

						<table class="simple">
							<thead>
								<tr>
								<th>Name</th><th>Required</th><th>Type</th><th>Default value</th><th>Details</th>
								</tr>
							</thead>
							<tbody>
								<tr><td>scheme</td><td>optional</td><td>URI</td><td>None</td><td>URI that identifies the categorization scheme, does not need to be dereferencable </td></tr>
								<tr><td>term</td><td>required</td><td>string</td><td>None</td><td>The name of the category, in the context of the scheme, or when scheme is missing, it is relevant only as an opaque string to identify the category.</td></tr>

						</tbody
						></table>

				</section>
			<section>
				<h3>XML Example</h3>
				<p class="note">This example was just something I generated while thinking through the XML syntax, it hasn't been updated to be in sync with what is in the document, so it may differ.</p>
				 <div data-include='core-example-20111216.xml' data-oninclude='escapeExamples'></div>
			</section>
			<section>
				<h3>XML Schema</h3>
				<p class="note">
					This is a very rough RELAX NG schema for the XML syntax.  It is not guaranteed to work or be in sync with the rest of the document for now.
				</p>
					<div data-include='core-20111216.rnc' data-oninclude='escapeSchema'></div>
		  </section>
  </section> <!-- end XML syntax section -->

			<section class="appendix">
				<h2>Use Cases</h2>
			 	<div data-include='http://www.w3.org/2010/POI/wiki/Use_Cases' data-oninclude='includeWiki'></div>
			</section>
		    <section class='appendix'>
		      <h2>Acknowledgements</h2>
		      <p>
		      </p>
		    </section>  </body>
</html>