1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <xs:schema xmlns:
xs=
"http://www.w3.org/2001/XMLSchema" xmlns=
"urn:oasis:names:tc:ciq:xal:3" xmlns:
xlink=
"http://www.w3.org/1999/xlink" xmlns:
ct=
"urn:oasis:names:tc:ciq:ct:3" targetNamespace=
"urn:oasis:names:tc:ciq:xal:3" elementFormDefault=
"qualified" attributeFormDefault=
"qualified">
5 Specification Name: OASIS CIQ TC - extensible Address Language (xAL)
6 Description: Defines the W3C schema for representing addresses
7 (Using XML Schema based standard code list/enumeration mechanism - OPTION
1 AND DEFAULT)
8 Produced by: OASIS Customer Information Quality Technical Committee
9 URL: http://www.oasis-open.org/committees/ciq
11 Status: Public Review Draft
03 ERRATA
12 Copyright:
2007-
08, OASIS, http://www.oasis-open.org
13 Last Modified:
08 April
2008
14 Last Modified by: Ram Kumar, Chair, OASIS CIQ TC
15 NOTE: Do not modify this schema as it will break specifications compatibility
18 <xs:include schemaLocation=
"xAL-types.xsd"/>
19 <xs:import namespace=
"urn:oasis:names:tc:ciq:ct:3" schemaLocation=
"CommonTypes.xsd"/>
20 <xs:import namespace=
"http://www.w3.org/1999/xlink" schemaLocation=
"xlink-2003-12-31.xsd"/>
21 <xs:element name=
"Address" type=
"AddressType">
23 <xs:documentation>Top level element for address with geocode details
</xs:documentation>
26 <xs:complexType name=
"AddressType">
28 <xs:documentation>Complex type that defines the structure of an address with geocode details for reuse
</xs:documentation>
31 <xs:element name=
"FreeTextAddress" minOccurs=
"0">
33 <xs:documentation>Container for free text address elements where address elements are not parsed
</xs:documentation>
37 <xs:element name=
"AddressLine" maxOccurs=
"unbounded">
39 <xs:documentation>Free format address representation. An address can have more than one line. The order of the AddressLine elements must be preserved.
</xs:documentation>
43 <xs:extension base=
"ct:String">
44 <xs:attribute name=
"Type" type=
"AddressLineTypeList">
46 <xs:documentation>What does the address line describe? e.g. Street details, suburb details, post code details, whole address, etc
</xs:documentation>
49 <xs:attributeGroup ref=
"ct:grDataQuality"/>
50 <xs:anyAttribute namespace=
"##other"/>
56 <xs:attributeGroup ref=
"ct:grDataQuality"/>
57 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
60 <xs:element name=
"Country" minOccurs=
"0">
62 <xs:documentation>Country details
</xs:documentation>
66 <xs:extension base=
"CountryType"/>
70 <xs:element name=
"AdministrativeArea" minOccurs=
"0">
72 <xs:documentation>Details of the top-level area division in the country, such as state, district, province, island, region, etc. Note that some countries do not have this
</xs:documentation>
76 <xs:element name=
"NameElement" maxOccurs=
"unbounded">
78 <xs:documentation>Data associated with the Administrative Area. e.g. Full name of administrative area or part of it. eg. MI in USA, NSW in Australia, reference location to the administrative area
</xs:documentation>
82 <xs:extension base=
"ct:String">
83 <xs:attributeGroup ref=
"ct:grAbbreviation"/>
84 <xs:attribute name=
"NameType" type=
"AdministrativeAreaNameTypeList">
86 <xs:documentation>semantics of data associated with name
</xs:documentation>
89 <xs:attribute name=
"NameCode" type=
"AdministrativeAreaNameCodeList">
91 <xs:documentation>Name of administrative area represented as a code. e.g.
"COL" for COLORADO
</xs:documentation>
94 <xs:attribute name=
"NameCodeType" type=
"ct:String">
96 <xs:documentation>Type of code used to represent name as a code
</xs:documentation>
99 <xs:anyAttribute namespace=
"##other"/>
104 <xs:element name=
"SubAdministrativeArea" minOccurs=
"0">
106 <xs:documentation>The next level down division of the area. E.g. state / county, province / reservation. Note that not all countries have a subadministrative area
</xs:documentation>
110 <xs:element name=
"NameElement" maxOccurs=
"unbounded">
112 <xs:documentation>Data associated with the SubAdministrative Area. e.g. Full name of sub administrative area or part of it.
</xs:documentation>
116 <xs:extension base=
"ct:String">
117 <xs:attributeGroup ref=
"ct:grAbbreviation"/>
118 <xs:attribute name=
"NameType" type=
"SubAdministrativeAreaNameTypeList">
120 <xs:documentation>semantics of data associated with name
</xs:documentation>
123 <xs:attribute name=
"NameCode" type=
"SubAdministrativeAreaNameCodeList">
125 <xs:documentation>Name of administrative area represented as a code. e.g.
"COL" for COLORADO
</xs:documentation>
128 <xs:attribute name=
"NameCodeType" type=
"ct:String">
130 <xs:documentation>Type of code used to represent name as a code
</xs:documentation>
133 <xs:anyAttribute namespace=
"##other"/>
139 <xs:attribute name=
"Type" type=
"SubAdministrativeAreaTypeList">
141 <xs:documentation>Type of sub administrative area
</xs:documentation>
144 <xs:attributeGroup ref=
"ct:grDataQuality"/>
145 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
149 <xs:attribute name=
"Type" type=
"AdministrativeAreaTypeList">
151 <xs:documentation>Type of administrative area. e.g. state, city, town, etc
</xs:documentation>
154 <xs:attributeGroup ref=
"ct:grDataQuality"/>
155 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
158 <xs:element name=
"Locality" minOccurs=
"0">
160 <xs:documentation>Details of Locality which is a named densely populated area (a place) such as town, village, suburb, etc. A locality composes of many individual addresses. Many localities exist in an administrative area or a sub adminisrative area. A locality can also have sub localities. For example, a municipality locality can have many villages associated with it which are sub localities. Example: Tamil Nadu State, Erode District, Bhavani Taluk, Paruvachi Village is a valid address in India. Tamil Nadu is the Administrative Area, Erode is the sub admin area, Bhavani is the locality, and Paruvachi is the sub locality
</xs:documentation>
164 <xs:element name=
"NameElement" maxOccurs=
"unbounded">
166 <xs:documentation>Data associated with the locality. e.g. Full name of the locality or part of it, reference location to the locality
</xs:documentation>
170 <xs:extension base=
"ct:String">
171 <xs:attributeGroup ref=
"ct:grAbbreviation"/>
172 <xs:attribute name=
"NameType" type=
"LocalityNameTypeList">
174 <xs:documentation>semantics of data associated with name
</xs:documentation>
177 <xs:attribute name=
"NameCode" type=
"LocalityNameCodeList">
179 <xs:documentation>name of locality represented as a code
</xs:documentation>
182 <xs:attribute name=
"NameCodeType" type=
"ct:String">
184 <xs:documentation>type of code used to represent name as a code
</xs:documentation>
187 <xs:anyAttribute namespace=
"##other"/>
192 <xs:element name=
"SubLocality" minOccurs=
"0">
194 <xs:documentation>A locality that is smaller and is contained within the boundaries of its parent locality. Note that not all localities have sub locality. For example, many areas within a locality where each area is a sub locality
</xs:documentation>
198 <xs:element name=
"NameElement" maxOccurs=
"unbounded">
200 <xs:documentation>Data associated with the sub locality. e.g. Full name of the locality or part of it, reference location to the locality
</xs:documentation>
204 <xs:extension base=
"ct:String">
205 <xs:attributeGroup ref=
"ct:grAbbreviation"/>
206 <xs:attribute name=
"NameType" type=
"SubLocalityNameTypeList">
208 <xs:documentation>semantics of data associated with name
</xs:documentation>
211 <xs:attribute name=
"NameCode" type=
"SubLocalityNameCodeList">
213 <xs:documentation>name of locality represented as a code
</xs:documentation>
216 <xs:attribute name=
"NameCodeType" type=
"ct:String">
218 <xs:documentation>type of code used to represent name as a code
</xs:documentation>
221 <xs:anyAttribute namespace=
"##other"/>
227 <xs:attribute name=
"Type" type=
"SubLocalityTypeList">
229 <xs:documentation>Type of sub locality
</xs:documentation>
232 <xs:attributeGroup ref=
"ct:grDataQuality"/>
233 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
237 <xs:attribute name=
"Type" type=
"LocalityTypeList">
239 <xs:documentation>Type of locality. e.g. suburb, area, zone, village, etc
</xs:documentation>
242 <xs:attributeGroup ref=
"ct:grDataQuality"/>
243 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
246 <xs:element name=
"Thoroughfare" minOccurs=
"0">
248 <xs:documentation>Details of the Access route along which buildings/lot/land are located, such as street, road, channel, crescent, avenue, etc. This also includes canals/banks on which houses/boat houses are located where people live
</xs:documentation>
252 <xs:extension base=
"ThoroughfareType">
254 <xs:element name=
"SubThoroughfare" minOccurs=
"0" maxOccurs=
"5">
256 <xs:documentation>Another thoroughfare that is required to uniquely identify the location, such as an access route, intersection, corner, adjacent, boundary, etc
</xs:documentation>
260 <xs:extension base=
"ThoroughfareType"/>
269 <xs:element name=
"Premises" minOccurs=
"0">
271 <xs:documentation>Details of the Premises (could be building(s), site, loaction, property, premise, place) which is a landmark place which has a main address such as large mail user (e.g. Airport, Hospital, University) or could be a building (e.g. apartment, house) or a building or complex of buildings (e.g. an apartment complex or shopping centre) or even a vacant land (e.g. LOT). A premises can have many sub-addresses such as apartments in a building having its own addresses or buildings within an airport having its own addresses including its own thoroughfares
</xs:documentation>
275 <xs:extension base=
"PremisesType">
277 <xs:element name=
"SubPremises" minOccurs=
"0" maxOccurs=
"unbounded">
279 <xs:documentation>Examples of sub-premises are apartments and suites in buildings, shops in malls, etc. or sub-addresses in a land mark place such as airports, military bases, hospitals, etc. Some countries have blocks within blocks
</xs:documentation>
283 <xs:extension base=
"PremisesType">
284 <xs:attribute name=
"Type" type=
"SubPremisesTypeList"/>
285 <xs:attribute name=
"TypeCode" type=
"ct:String">
287 <xs:documentation>Type of code used for sub premises type attribute
</xs:documentation>
295 <xs:attribute name=
"Type" type=
"PremisesTypeList"/>
296 <xs:attribute name=
"TypeCode" type=
"ct:String">
298 <xs:documentation>Type of code use for Premises Type attribute
</xs:documentation>
305 <xs:element name=
"PostCode" minOccurs=
"0">
307 <xs:documentation>A container for a single free text or structured postcode. Note that not all countries have post codes
</xs:documentation>
311 <xs:element name=
"Identifier" type=
"IdentifierType" maxOccurs=
"unbounded">
313 <xs:documentation>The postcode is formatted according to country-specific rules. Example: SW3
0A8-
1A,
600074,
2067. This element can also be used to define the semantics of what each code in the post code means
</xs:documentation>
317 <xs:attributeGroup ref=
"ct:grDataQuality"/>
318 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
321 <xs:element name=
"RuralDelivery" minOccurs=
"0">
323 <xs:documentation>A container for postal-specific delivery identifier for remote communities. Note that not all countries have RuralDelivery
</xs:documentation>
327 <xs:element name=
"Identifier" type=
"IdentifierType" maxOccurs=
"unbounded">
329 <xs:documentation>Free text or structured description of rural delivery route. e.g. RD
6,
</xs:documentation>
333 <xs:attribute name=
"Type" type=
"RuralDeliveryTypeList">
335 <xs:documentation>Type of rural delivery. For some addresses, delivery to rural areas happens via water, air or road
</xs:documentation>
338 <xs:attributeGroup ref=
"ct:grDataQuality"/>
339 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
342 <xs:element name=
"PostalDeliveryPoint" minOccurs=
"0">
344 <xs:documentation>Final mail delivery point where the mail is dropped off for recipients to pick them up directly. E.g. POBox, Private Bag, pigeon hole, free mail numbers, etc.
</xs:documentation>
348 <xs:element name=
"Identifier" type=
"IdentifierType" maxOccurs=
"unbounded">
350 <xs:documentation>Free text or structured description of a postal delivery point.
</xs:documentation>
354 <xs:attribute name=
"Type" type=
"PostalDeliveryPointTypeList"/>
355 <xs:attributeGroup ref=
"ct:grDataQuality"/>
356 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
359 <xs:element name=
"PostOffice" minOccurs=
"0">
361 <xs:documentation>A delivery point/installation where all mails are delivered and the post man/delivery service picks up the mails and delivers it to the recipients through a delivery mode. Examples are a rural post office where post is delivered, a post office containing post office boxes/personal mail boxes. Note that not all countries have PostOffice. Can be used to represent overseas military addresses also along with PostalDeliveryPoint element
</xs:documentation>
365 <xs:element name=
"Identifier" type=
"IdentifierType" maxOccurs=
"unbounded">
367 <xs:documentation>Name or number of the post office in free text or structured form.
</xs:documentation>
371 <xs:attribute name=
"Type" type=
"PostOfficeTypeList">
373 <xs:documentation>Indicates the type of postal delivery office from where the mail will be distributed to the final delivery point by a delivery mode. Example: Post Office, Mail Collection Centre, Letter Carrier Depot, Station, etc.
</xs:documentation>
376 <xs:attributeGroup ref=
"ct:grDataQuality"/>
377 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
380 <xs:element name=
"GeoRSS" minOccurs=
"0">
382 <xs:documentation>GeoRSS GML from Open Geospatial Consortium (OGC – www.opengeospatial.net) is a formal GML Application Profile, and supports a greater range of features than Simple, notably coordinate reference systems other than WGS84 latitude/longitude. It is designed for use with Atom
1.0, RSS
2.0 and RSS
1.0, although it can be used just as easily in non-RSS XML encodings.
</xs:documentation>
386 <xs:any namespace=
"http://www.georss.org/georss" maxOccurs=
"unbounded">
388 <xs:documentation>Could be GeoRSS Simple or GeoRSS GML versions. Refer to http://georss.org/ and http://georss.org/gml for further documentation
</xs:documentation>
392 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
395 <xs:element name=
"LocationByCoordinates" minOccurs=
"0">
397 <xs:documentation>Simple Geo-coordinates of the address/location
</xs:documentation>
401 <xs:element name=
"Latitude" minOccurs=
"0">
403 <xs:documentation>Latitude details
</xs:documentation>
406 <xs:attribute name=
"DegreesMeasure" type=
"ct:String">
408 <xs:documentation>Measure of the latitude in degrees
</xs:documentation>
411 <xs:attribute name=
"MinutesMeasure" type=
"ct:String">
413 <xs:documentation>Measure of the latitude in minutes
</xs:documentation>
416 <xs:attribute name=
"SecondsMeasure" type=
"ct:String">
418 <xs:documentation>Measure of the latitude in seconds
</xs:documentation>
421 <xs:attribute name=
"Direction" type=
"DirectionTypeList">
423 <xs:documentation>The direction of latitude measurement offset from the equator
</xs:documentation>
426 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
429 <xs:element name=
"Longitude" minOccurs=
"0">
431 <xs:documentation>Longitude details
</xs:documentation>
434 <xs:attribute name=
"DegreesMeasure" type=
"ct:String">
436 <xs:documentation>Measure of the longitude in degrees
</xs:documentation>
439 <xs:attribute name=
"MinutesMeasure" type=
"ct:String">
441 <xs:documentation>Measure of the longitude in minutes
</xs:documentation>
444 <xs:attribute name=
"SecondsMeasure" type=
"ct:String">
446 <xs:documentation>Measure of the longitude in seconds
</xs:documentation>
449 <xs:attribute name=
"Direction" type=
"DirectionTypeList">
451 <xs:documentation>The direction of longitude measurement offset from the equator
</xs:documentation>
454 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
458 <xs:attribute name=
"Meridian" type=
"MeridianCodeList">
460 <xs:documentation>The collection of the coordinate numeric values for latitude amd longtitude depends on the agreed position of the meridian. Declaration of the meridian is necessary as it cannot be assumed in the data
</xs:documentation>
463 <xs:attribute name=
"MeridianCodeType" type=
"ct:String">
465 <xs:documentation>Type of code used. e.g. EPSG Code
</xs:documentation>
468 <xs:attribute name=
"Datum" type=
"DatumCodeList">
470 <xs:documentation>The collection of the coordinate numeric values depends on the agreed datum within which the measurement was taken. Declaration of the datum is necessary as it cannot be assumed in the data
</xs:documentation>
473 <xs:attribute name=
"DatumCodeType" type=
"ct:String">
475 <xs:documentation>Type of code used. e.g. EPSG Code, WGS-
84</xs:documentation>
478 <xs:attribute name=
"Projection" type=
"ProjectionCodeList">
480 <xs:documentation>Coordinates have limited utility and application depending on the projection required for visualisation in a map. Declaration of projection is necessary as it cannot be assumed in data
</xs:documentation>
483 <xs:attribute name=
"ProjectionCodeType" type=
"ct:String">
485 <xs:documentation>Type of code used. e.g. EPSG Code
</xs:documentation>
488 <xs:attributeGroup ref=
"ct:grDataQuality"/>
489 <xs:anyAttribute namespace=
"##other" processContents=
"lax"/>
493 <xs:attribute name=
"Type" type=
"AddressTypeList">
495 <xs:documentation>Defines the type of address. An address type can be
" Primary Address, Secondary Address, Rural Address, Military Address, etc.</xs:documentation>
498 <xs:attribute name="AddressID
" type="ct:String
">
500 <xs:documentation>A unique address identifier such as postal delivery idetifier assigned to the address by local postal authority, e.g. DPID in Australia.</xs:documentation>
503 <xs:attribute name="AddressIDType
" type="AddressIDTypeList
">
505 <xs:documentation>Type of address ID used. e.g. DPID, etc</xs:documentation>
508 <xs:attribute name="ID
" type="ct:String
">
510 <xs:documentation>A globally unique identifier assigned to the address</xs:documentation>
513 <xs:attribute name="Usage
" type="AddressUsageList
">
515 <xs:documentation>The purpose the address is used for. E.g. Postal, residential, business, exchange, update, create, delete, etc</xs:documentation>
518 <xs:attribute name="DeliveryMode
" type="DeliveryModeList
">
520 <xs:documentation>Mode of delivery of address. For example: rural route, normal delivery, post office box, etc. </xs:documentation>
523 <xs:attribute name="Status
" type="ct:StatusList
">
525 <xs:documentation>Status of the entity. e.g. Old, Current, Inactive, Active, etc</xs:documentation>
528 <xs:attributeGroup ref="ct:grValidityDate
"/>
529 <xs:attribute name="AddressKey
" type="ct:String
">
531 <xs:documentation>A primary key to reference Address.</xs:documentation>
534 <xs:attribute name="AddressKeyRef
" type="ct:String
">
536 <xs:documentation>A foreign key to reference attribute Key of Address.</xs:documentation>
539 <xs:attribute ref="xlink:type
"/>
540 <xs:attribute ref="xlink:label
"/>
541 <xs:attribute ref="xlink:href
"/>
542 <xs:attributeGroup ref="ct:grDataQuality
"/>
543 <xs:attributeGroup ref="ct:grLanguageCode
"/>
544 <xs:anyAttribute namespace="##other
" processContents="lax
"/>
546 <xs:complexType name="CountryType
">
548 <xs:documentation>Complex type that defines the name of the country and is reused in other CIQ specs</xs:documentation>
551 <xs:element name="NameElement
" maxOccurs="unbounded
">
553 <xs:documentation>Data associated with the name of the country in whatever form available, e.g. full, abbreviation, common use, code of the country, etc.</xs:documentation>
557 <xs:extension base="ct:String
">
558 <xs:attributeGroup ref="ct:grAbbreviation
"/>
559 <xs:attribute name="NameType
" type="CountryNameTypeList
">
561 <xs:documentation>Semantics of data associated with name. </xs:documentation>
564 <xs:attribute name="NameCode
" type="CountryNameCodeList
">
566 <xs:documentation>Name of the country represented as a code</xs:documentation>
569 <xs:attribute name="NameCodeType
" type="ct:String
">
571 <xs:documentation>Type of code used to represent name of country, e.g. iso-3166</xs:documentation>
574 <xs:anyAttribute namespace="##other
"/>
580 <xs:anyAttribute namespace="##other
" processContents="lax
"/>
582 <xs:complexType name="IdentifierType
">
584 <xs:documentation>Complex type for internal reuse</xs:documentation>
587 <xs:extension base="ct:String
">
588 <xs:attribute name="Type
" type="IdentifierElementTypeList
">
590 <xs:documentation>Indicates which part of number or identifier this element contains. Some "numbers
" are as simple as 42 and some "numbers
" are more like complex aplhanumberic identifiers as Postcodes in UK or Canada, e.g. M2H 2S5. It may be necessary to separate the "number
" into sub-elements and indicate what type of information each of them contains.</xs:documentation>
593 <xs:attributeGroup ref="ct:grAbbreviation
"/>
594 <xs:anyAttribute namespace="##other
" processContents="lax
"/>
598 <xs:complexType name="PremisesType
">
600 <xs:documentation>Complex type for internal reuse</xs:documentation>
602 <xs:choice maxOccurs="unbounded
">
603 <xs:element name="NameElement
">
605 <xs:documentation>Data associated with the name of the Premises. e.g. Full name of premises or part of the name. E.g. Westfield shopping center, reference data to support the premises location, street in the premises</xs:documentation>
609 <xs:extension base="ct:String
">
610 <xs:attributeGroup ref="ct:grAbbreviation
"/>
611 <xs:attribute name="NameType
" type="PremisesElementTypeList
">
613 <xs:documentation>Describes the type / part of name this element contains.</xs:documentation>
616 <xs:anyAttribute namespace="##other
"/>
621 <xs:element name="Number
" type="IdentifierType
">
623 <xs:documentation>Data associated with the number of the premises. E.g.House 15, number range, number suffix</xs:documentation>
627 <xs:anyAttribute namespace="##other
" processContents="lax
"/>
629 <xs:complexType name="ThoroughfareType
">
631 <xs:documentation>Complex type for internal reuse</xs:documentation>
633 <xs:choice maxOccurs="unbounded
">
634 <xs:element name="NameElement
">
636 <xs:documentation>Data associated with the thoroughfare details. e.g. Full thoroughfare name or part of it, type of thoroughfare, old name, new name, reference data in support of the thoroughfare</xs:documentation>
640 <xs:extension base="ct:String
">
641 <xs:attributeGroup ref="ct:grAbbreviation
"/>
642 <xs:attribute name="NameType
" type="ThoroughfareNameTypeList
">
644 <xs:documentation>Describes the type / part of name this element contains.</xs:documentation>
647 <xs:anyAttribute namespace="##other
"/>
652 <xs:element name="Number
" type="IdentifierType
">
654 <xs:documentation>Data associated with the number of the thoroughfare. E.g. 39 in 39 Baker Street, street range, street suffix</xs:documentation>
658 <xs:attribute name="Type
" type="ThoroughfareTypeList
">
660 <xs:documentation>Type of thoroughfare. eg. primary road, secondary road, road branch (e.g. Lane 14), road sub branch (e.g. Alley 21), adjourning street, cross street, closest street, etc</xs:documentation>
663 <xs:attribute name="TypeCode
" type="ct:String
">
665 <xs:documentation>Type of code use for thoroughfare</xs:documentation>
668 <xs:attributeGroup ref="ct:grDataQuality
"/>
669 <xs:anyAttribute namespace="##other
" processContents="lax
"/>