<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by Navin Mathur (NSW Police) -->
<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" targetNamespace="urn:oasis:names:tc:ciq:xal:3" elementFormDefault="qualified" attributeFormDefault="qualified">
	<xs:annotation>
		<xs:documentation> 
		Specification Name: OASIS CIQ TC - extensible Address Language (xAL) 
		Description: Defines the W3C schema for representing addresses
		Produced by: OASIS Customer Information Quality Technical Committee
		Version: 3.0  
		Status: Public Review Dtaf
		Copyright: 2006, OASIS
		Last Modified: 05 April 2006
		Last Modified by: Ram Kumar 
		NOTE: Do not modify this schema as it will break specifications compatibility 
		</xs:documentation>
	</xs:annotation>
	<xs:include schemaLocation="xAL-types.xsd"/>
	<xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xLink.xsd"/>
	<xs:element name="Address" type="AddressType">
		<xs:annotation>
			<xs:documentation>Top level address element</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:attributeGroup name="grAbbreviation">
		<xs:annotation>
			<xs:documentation>A group of commonly used attributes for internal reuse</xs:documentation>
		</xs:annotation>
		<xs:attribute name="Abbreviation" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>If set to true then indicates that the value is an abbreviation or initial. If set to false then the value is definitely not an abbreviation. If omitted then it is not known if the value is an abbreviation or not.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:attributeGroup name="grDataQuality">
		<xs:annotation>
			<xs:documentation>A group of commonly used attributes for internal reuse</xs:documentation>
		</xs:annotation>
		<xs:attribute name="DataQuality" type="DataQualityEnumeration">
			<xs:annotation>
				<xs:documentation>This attribute indicates what level of trust can be given to the parent element. Omit this attribute if the data quality is unknown. If the data quality is known, the value is "Valid, else "InValid"</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ValidFrom" type="xs:dateTime"/>
		<xs:attribute name="ValidTo" type="xs:dateTime"/>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="grType">
		<xs:annotation>
			<xs:documentation>A group of commonly used attributes for internal reuse</xs:documentation>
		</xs:annotation>
		<xs:attribute name="Type" type="string">
			<xs:annotation>
				<xs:documentation>Free text description of the information type specified by the element. E.g. state and post code details, street details, etc</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:complexType name="AddressType">
		<xs:annotation>
			<xs:documentation>Complex type that defines the structure of an address for reuse</xs:documentation>
		</xs:annotation>
		<xs:all>
			<xs:element name="FreeTextAddress" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Container for free text address elements where address elements are not parsed </xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AddressLine" maxOccurs="unbounded">
							<xs:annotation>
								<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>
							</xs:annotation>
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="string">
										<xs:attributeGroup ref="grAbbreviation"/>
										<xs:attributeGroup ref="grType"/>
										<xs:attributeGroup ref="grDataQuality"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:anyAttribute namespace="##other" processContents="lax"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Country" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Country name</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Name" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Name of the country in whatever form available, e.g. full, abbreviation, common use, etc.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="NameType">
										<xs:attribute name="NameType" type="CountryElementTypeEnumeration">
											<xs:annotation>
												<xs:documentation>Describes the type of name this element contains. For example if the abbreviation for country name is true, then the abbreviation code can be define using this type namely, "ISO 3166" from the enumeration list. Sometimes an area is a part of a country's territory and we can use "Type" to categorise this territory from the actual country name. e.g. Hongkong is part of China</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attributeGroup ref="grDataQuality"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="AdministrativeArea" type="AdministrativeAreaType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>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>
				</xs:annotation>
			</xs:element>
			<xs:element name="Locality" type="LocalityType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Locality is a named densiliy populated area such as city, town, village, suburb, large mail user such as army base, airport, etc. Note that not all countries have localities</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Thoroughfare" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Access route along which buildings 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>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="ThoroughfareType">
							<xs:sequence>
								<xs:element name="SubThoroughfare" type="ThoroughfareType" minOccurs="0" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Another thoroughfare that is required to uniquely identify the location, such as an access route, intersection, corner, adjacent, boundary, etc</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="Premises" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Premises can be a building (e.g. apartment, house)  or complex of buildings or even a vacant land (e.g. LOT).</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="PremisesType">
							<xs:sequence>
								<xs:element name="SubPremises" type="PremisesType" minOccurs="0" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Examples of sub-premises are apartments and suites in buildings, shops in malls, etc. </xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="PostCode" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A container for a single free text or structured postcode. Note that not all countries have post codes</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Identifier" type="NumberType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The postcode is formatted according to country-specific rules. Example: SW3 0A8-1A, 600074, 2067</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
					<xs:attributeGroup ref="grDataQuality"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="RuralDelivery" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A container for postal-specific delivery identifier for remote communities. Note that not all countries have RuralDelivery</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Identifier" type="NumberType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Free text or structured description of rural delivery rout.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
					<xs:attributeGroup ref="grDataQuality"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="PostalDeliveryPoint" minOccurs="0">
				<xs:annotation>
					<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>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Identifier" type="NumberType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Free text or structured description of a postal delivery point.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
					<xs:attributeGroup ref="grDataQuality"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="PostOffice" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A delivery point where all mails are delivered and the post man picks of the mails and delivers it to the recipients. 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</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Identifier" type="NumberType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Name or number of the post office in free text of structured form.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
					<xs:attributeGroup ref="grDataQuality"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="PostTown" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Post town is a name of some locality that serves as a delivery point for a number of smaller communities/areas. Note that an administrative area or locality or post town could be the same for some countries.  E.g. Karattoor, Kuppandapalayam (P.O), Athani, Erode, India, where Karattoor is locality, Kuppandapalayam is Post Office, Athani is Post Town and Erode is admin. area. A post town could cover many postal office areas. Note that not all countries have PostTown.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Name" type="NameType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Name of the post town</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
					<xs:attributeGroup ref="grDataQuality"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="GML" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Geocoding coordinates of the address. GML (Geography Markup Language from Open GIS Consortium) is an industry standard for geocoding/geospatial data representation</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:any namespace="http://www.opengis.net/gml" processContents="lax" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Refer to documentation on the version of GML you are using.</xs:documentation>
							</xs:annotation>
						</xs:any>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:all>
		<xs:attribute name="ValidFrom" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Start date - time of the validity of address. Inclusive.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ValidTo" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>End date - time of the validity of address. Inclusive.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Usage" type="string">
			<xs:annotation>
				<xs:documentation>Free text description of the purpose the address is used for. E.g.  Postal, residential, business, primary, secondary, etc</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="PostalID" type="string">
			<xs:annotation>
				<xs:documentation>A unique postal delivery idetifier assigned to the address by local postal authority, e.g. DPID in Australia.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ID" type="xs:string">
			<xs:annotation>
				<xs:documentation>Globally unique identifier of the entity. </xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attributeGroup ref="xlink:grLocatorOrResource"/>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
	</xs:complexType>
	<xs:complexType name="AdministrativeAreaType">
		<xs:annotation>
			<xs:documentation>Complex type for internal reuse</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Name" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Full name of administrative area or part of it. eg. MI in USA, NSW in Australia</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="NameType">
							<xs:attribute name="NameType" type="AdministrativeAreaElementTypeEnumeration">
								<xs:annotation>
									<xs:documentation>Describes the type of name this element contains.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="SubAdministrativeArea" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<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>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="NameType">
							<xs:attribute name="NameType" type="AdministrativeAreaElementTypeEnumeration">
								<xs:annotation>
									<xs:documentation>Describes the type of name this element contains.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="grDataQuality"/>
	</xs:complexType>
	<xs:complexType name="LocalityType">
		<xs:annotation>
			<xs:documentation>Complex type for internal reuse</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Name" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Full name of the locality or part of it</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="string">
							<xs:attribute name="NameType" type="LocalityElementTypeEnumeration">
								<xs:annotation>
									<xs:documentation>Describes the type of name this element contains.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
							<xs:attributeGroup ref="grAbbreviation"/>
							<xs:anyAttribute namespace="##other" processContents="lax"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="SubLocality" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<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>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="string">
							<xs:attribute name="NameType" type="LocalityElementTypeEnumeration">
								<xs:annotation>
									<xs:documentation>Describes the type of name this element contains.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
							<xs:attributeGroup ref="grAbbreviation"/>
							<xs:anyAttribute namespace="##other" processContents="lax"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="grDataQuality"/>
	</xs:complexType>
	<xs:complexType name="NameType">
		<xs:annotation>
			<xs:documentation>Complex type for internal reuse</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="string">
				<xs:attributeGroup ref="grAbbreviation"/>
				<xs:anyAttribute namespace="##other" processContents="lax"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="NumberType">
		<xs:annotation>
			<xs:documentation>Complex type for internal reuse</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="string">
				<xs:attribute name="NumberType" type="NumberElementTypeEnumeration">
					<xs:annotation>
						<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>
					</xs:annotation>
				</xs:attribute>
				<xs:attributeGroup ref="grAbbreviation"/>
				<xs:anyAttribute namespace="##other" processContents="lax"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="PremisesType">
		<xs:annotation>
			<xs:documentation>Complex type for internal reuse</xs:documentation>
		</xs:annotation>
		<xs:choice maxOccurs="unbounded">
			<xs:element name="NameElement">
				<xs:annotation>
					<xs:documentation>Full name of premises or part of the name. E.g. Westfield shopping center</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="NameType">
							<xs:attribute name="NameType" type="PremisesElementTypeEnumeration">
								<xs:annotation>
									<xs:documentation>Describes the type / part of name this element contains.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="Number" type="NumberType">
				<xs:annotation>
					<xs:documentation>E.g. Flat 15</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
		<xs:attributeGroup ref="grDataQuality"/>
	</xs:complexType>
	<xs:complexType name="ThoroughfareType">
		<xs:annotation>
			<xs:documentation>Complex type for internal reuse</xs:documentation>
		</xs:annotation>
		<xs:choice maxOccurs="unbounded">
			<xs:element name="NameElement">
				<xs:annotation>
					<xs:documentation>Full thoroughfare name or part of it</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="NameType">
							<xs:attribute name="NameType" type="ThoroughfareElementTypeEnumeration">
								<xs:annotation>
									<xs:documentation>Describes the type / part of name this element contains.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="Number" type="NumberType">
				<xs:annotation>
					<xs:documentation>E.g. 39 in 39 Baker Street</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
		<xs:attributeGroup ref="grDataQuality"/>
	</xs:complexType>
</xs:schema>

