[Libreoffice-commits] core.git: sfx2/classification

Miklos Vajna vmiklos at collabora.co.uk
Mon Feb 22 11:18:05 UTC 2016


 sfx2/classification/CommonTypes.xsd      |  103 ++++
 sfx2/classification/baf.xsd              |  298 +++++++++++++
 sfx2/classification/xAL-types.xsd        |  510 +++++++++++++++++++++++
 sfx2/classification/xAL.xsd              |  671 +++++++++++++++++++++++++++++++
 sfx2/classification/xNL-types.xsd        |  221 ++++++++++
 sfx2/classification/xNL.xsd              |  283 +++++++++++++
 sfx2/classification/xlink-2003-12-31.xsd |   89 ++++
 7 files changed, 2175 insertions(+)

New commits:
commit 22629764d731d715125c82d9f12a31599264c63d
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Mon Feb 22 11:51:31 2016 +0100

    sfx2 classification: import plain XML interchange format XSD schema
    
    The classification infobar loads the classification value from the
    document metadata. In order to add metadata to a document from the UI,
    it's necessary to know what are the possible choices. Those choices can
    be described in an XML file. The format of that XML is described using
    this XSD schema. baf.xsd is the main file from
    <https://www.tscp.org/wp-content/uploads/2013/08/TSCP_BAFv1.pdf>, the
    rest are just the dependencies.
    
    Change-Id: I6b22c0279031799cafa4fd6edd20ed1cdb09c8cc

diff --git a/sfx2/classification/CommonTypes.xsd b/sfx2/classification/CommonTypes.xsd
new file mode 100644
index 0000000..b0404bc
--- /dev/null
+++ b/sfx2/classification/CommonTypes.xsd
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:oasis:names:tc:ciq:ct:3" targetNamespace="urn:oasis:names:tc:ciq:ct:3" elementFormDefault="qualified" attributeFormDefault="qualified">
+	<xs:annotation>
+		<xs:documentation> 
+		Specification Name: OASIS CIQ TC - CIQ V3.0
+		Description: Defines the W3C schema with commonly used types in the name, address and party schemas
+		(Using XML Schema based standard code list/enumeration mechanism - OPTION 1 AND DEFAULT)
+		Produced by: OASIS Customer Information Quality Technical Committee
+		URL: http://www.oasis-open.org/committees/ciq
+		Version: 3.0  
+		Status: Committee Specification
+		Copyright: 2006-07, OASIS, http://www.oasis-open.org
+		Last Modified: 18 September 2007
+		Last Modified by: Ram Kumar, Chair, OASIS CIQ TC 
+		</xs:documentation>
+	</xs:annotation>
+	<xs:simpleType name="String">
+		<xs:annotation>
+			<xs:documentation>Normalized and Collapsed String</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:whiteSpace value="collapse"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="DataQualityTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of values to indicate the level of reliability of the data</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Valid">
+				<xs:annotation>
+					<xs:documentation>The data was validated and is considered to be true and correct.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Invalid">
+				<xs:annotation>
+					<xs:documentation>Indicates that at least some part of the content is known to be incorrect.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="StatusList">
+		<xs:annotation>
+			<xs:documentation>A list of values to indicate the status of the entity</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string"/>
+	</xs:simpleType>
+	<xs:attributeGroup name="grValidityDate">
+		<xs:annotation>
+			<xs:documentation>Date Valid from to Date Valid to</xs:documentation>
+		</xs:annotation>
+		<xs:attribute name="DateValidFrom" type="xs:dateTime">
+			<xs:annotation>
+				<xs:documentation>Could be start date, issue date, validity start date, etc</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="DateValidTo" type="xs:dateTime">
+			<xs:annotation>
+				<xs:documentation>Could be end date, expiry date, validity end date, etc</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:attributeGroup>
+	<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="DataQualityType" type="DataQualityTypeList">
+			<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:annotation>
+				<xs:documentation>Date the data quality is valid from </xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="ValidTo" type="xs:dateTime">
+			<xs:annotation>
+				<xs:documentation>Date the data quality is valid to</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:attributeGroup>
+	<xs:attributeGroup name="grLanguageCode">
+		<xs:annotation>
+			<xs:documentation>The language used (name of human language, e.g. en, en-US)</xs:documentation>
+		</xs:annotation>
+		<xs:attribute name="LanguageCode" type="xs:language">
+			<xs:annotation>
+				<xs:documentation>Human Language used. e.g. "en", "en-US", "en-AUS", etc</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:attributeGroup>
+</xs:schema>
diff --git a/sfx2/classification/baf.xsd b/sfx2/classification/baf.xsd
new file mode 100644
index 0000000..dc3e961
--- /dev/null
+++ b/sfx2/classification/baf.xsd
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xal="urn:oasis:names:tc:ciq:xal:3" xmlns:xnl="urn:oasis:names:tc:ciq:xnl:3" xmlns="urn:tscp:names:baf:1.1" targetNamespace="urn:tscp:names:baf:1.1">
+  <xs:import namespace="urn:oasis:names:tc:ciq:xal:3" schemaLocation="xAL.xsd"/>
+  <xs:import namespace="urn:oasis:names:tc:ciq:xnl:3" schemaLocation="xNL.xsd"/>
+  <!--
+Business Authorization
+-->
+  <xs:complexType name="BusinessAuthorization">
+    <xs:sequence>
+      <xs:element ref="AdministrativeData"/>
+      <xs:element ref="Scope" minOccurs="0" maxOccurs="1"/>
+      <xs:element ref="Included"/>
+      <xs:element ref="Excluded" minOccurs="0" maxOccurs="1"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="AdministrativeData">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ProgramID"/>
+        <xs:element ref="LicenseID" minOccurs="0" maxOccurs="1"/>
+        <xs:element ref="StartValidityDate" minOccurs="0" maxOccurs="1"/>
+        <xs:element ref="StopValidityDate" minOccurs="0" maxOccurs="1"/>
+        <xs:element ref="Applicant" minOccurs="0" maxOccurs="1"/>
+        <xs:element ref="Signatories" minOccurs="0" maxOccurs="1"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Included">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="BusinessAuthorizationCategory" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Excluded">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="BusinessAuthorizationCategory" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="StopValidityDate">
+    <xs:simpleType>
+      <xs:restriction base="xs:date"/>
+    </xs:simpleType>
+  </xs:element>
+  <xs:element name="StartValidityDate">
+    <xs:simpleType>
+      <xs:restriction base="xs:date"/>
+    </xs:simpleType>
+  </xs:element>
+  <!--
+Business Authorization Category
+-->
+  <xs:element name="BusinessAuthorizationCategory">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="AccessRules" minOccurs="0" maxOccurs="1"/>
+        <xs:element ref="HandlingRules" minOccurs="0" maxOccurs="1"/>
+	<xs:element ref="LabelingRules"/>
+	<xs:element ref="ImpactLevel"/>
+      </xs:sequence>
+      <xs:attribute name="Identifier" type="xs:anyURI" use="required"/>
+      <xs:attribute name="Name" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+  <!--
+Impact Level
+-->
+  <xs:element name="ImpactLevel">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="Scale"/>
+        <xs:element ref="ConfidentalityValue" minOccurs="0" maxOccurs="1"/>
+        <xs:element ref="IntegrityValue" minOccurs="0" maxOccurs="1"/>
+        <xs:element ref="AvailabilityValue" minOccurs="0" maxOccurs="1"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Scale" type="xs:string"/>
+  <xs:element name="ConfidentalityValue" type="xs:string"/>
+  <xs:element name="IntegrityValue" type="xs:string"/>
+  <xs:element name="AvailabilityValue" type="xs:string"/>
+  <!--
+Handling Rule
+-->
+  <xs:complexType name="HandlingRule" abstract="true"/>
+  <xs:complexType name="SecureWEBTransmission">
+    <xs:complexContent>
+      <xs:extension base="HandlingRule"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="StorageRule">
+    <xs:complexContent>
+      <xs:extension base="HandlingRule"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SecureWEBStorage">
+    <xs:complexContent>
+      <xs:extension base="StorageRule"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SecureFileTransferTransmission">
+    <xs:complexContent>
+      <xs:extension base="HandlingRule"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SecureEmailTransmission">
+    <xs:complexContent>
+      <xs:extension base="HandlingRule"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MediumAuthentication">
+    <xs:complexContent>
+      <xs:extension base="HandlingRule"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="FileDeletion">
+    <xs:complexContent>
+      <xs:extension base="HandlingRule"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DesktopStorage">
+    <xs:complexContent>
+      <xs:extension base="HandlingRule"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <!--
+Labeling Rule
+-->
+  <xs:element name="VisualMarkingPart">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="Identifier"/>
+        <xs:element ref="Value"/>
+      </xs:sequence>
+      <xs:attribute name="type" type="xs:anyURI" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Identifier"/>
+  <xs:element name="Value"/>
+  <!--
+Others
+-->
+  <xs:element name="WorkEffortsScope">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="WorkEfforts"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WorkEfforts">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="WorkEffort" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WorkEffort">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="Name"/>
+      </xs:sequence>
+      <xs:attribute name="id" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Signatories">
+    <xs:complexType/>
+  </xs:element>
+  <xs:element name="Scope">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="OrganizationsScope"/>
+        <xs:element ref="WorkEffortsScope"/>
+        <xs:element ref="ActionsScope"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Rules">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="HandlingRules"/>
+        <xs:element ref="LabelingRules"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProgramID" type="xs:string"/>
+  <xs:element name="OrganizationsScope">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="Organizations"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Organizations">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="Organization" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Organization">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="xnl:PartyName"/>
+        <xs:element ref="xal:Address"/>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:string"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Name" type="xs:string"/>
+  <xs:element name="LicenseID" type="xs:anyURI"/>
+  <xs:element name="Level">
+    <xs:simpleType>
+      <xs:restriction base="xs:string">
+        <xs:enumeration value="Moderate"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:element>
+  <xs:element name="LabelingRules">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="VisualMarkingPart" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="InformationScope">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ImpactLevel"/>
+        <xs:element ref="ClassificationNumbers"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="HandlingRules">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="HandlingRule" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="HandlingRule" type="HandlingRule"/>
+  <xs:element name="Countries">
+    <xs:complexType/>
+  </xs:element>
+  <xs:element name="ClassificationNumbers">
+    <xs:complexType/>
+  </xs:element>
+  <xs:element name="BusinessAuthorization" type="BusinessAuthorization"/>
+  <xs:element name="Applicant">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="xnl:PartyName"/>
+        <xs:element ref="xal:Address"/>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:string"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ActionsScope">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="Actions"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Actions">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="Action" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Action">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="Name"/>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:string"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="AccessRules">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="AccessRule" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="AccessRule">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="Organization"/>
+        <xs:element ref="Countries"/>
+        <xs:element ref="WorkEffort"/>
+        <xs:element ref="Actions"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
diff --git a/sfx2/classification/xAL-types.xsd b/sfx2/classification/xAL-types.xsd
new file mode 100644
index 0000000..57bd32e
--- /dev/null
+++ b/sfx2/classification/xAL-types.xsd
@@ -0,0 +1,510 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns="urn:oasis:names:tc:ciq:xal:3" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:oasis:names:tc:ciq:xal:3" elementFormDefault="qualified" attributeFormDefault="qualified">
+	<xs:annotation>
+		<xs:documentation> 
+		Specification Name: OASIS CIQ TC - extensible AddressLanguage Types (xAL-types)
+		Description: Defines the W3C schema that provides enumeration lists to support xNL v3.0
+		(Using XML Schema based standard code list/enumeration mechanism - OPTION 1 AND DEFAULT)
+		Produced by: OASIS Customer Information Quality Technical Committee
+		URL: http://www.oasis-open.org/committees/ciq
+		Version: 3.0  
+		Status: Committee Specification
+		Copyright: 2006-07, OASIS, http://www.oasis-open.org
+		Last Modified: 18 September 2007
+		Last Modified by: Ram Kumar, Chair, OASIS CIQ TC 
+		
+		NOTE: This is the schema that users can customise the enumeration lists to meet their
+		exchange requirements. The enumeration values provided are ONLY SAMPLES and 
+		is not complete. It is upto the application to decide what the values should be.  To achieve 
+		interoperability between applications using this specification, it is recommended that an
+		SLA/agreement is in place as to what the enumeration values will be used in this file 
+		</xs:documentation>
+	</xs:annotation>
+	<xs:simpleType name="AddressTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of types of addresses</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Airport"/>
+			<xs:enumeration value="Business"/>
+			<xs:enumeration value="CaravanPark"/>
+			<xs:enumeration value="CommercialPark"/>
+			<xs:enumeration value="CommunityDevelopment"/>
+			<xs:enumeration value="EducationalInstitution"/>
+			<xs:enumeration value="Entertainment"/>
+			<xs:enumeration value="Hospital"/>
+			<xs:enumeration value="Location"/>
+			<xs:enumeration value="Marina"/>
+			<xs:enumeration value="MilitaryBase"/>
+			<xs:enumeration value="OverseasMilitary"/>
+			<xs:enumeration value="Port"/>
+			<xs:enumeration value="Primary"/>
+			<xs:enumeration value="RecreationalPark"/>
+			<xs:enumeration value="Resort"/>
+			<xs:enumeration value="RetirementVillage"/>
+			<xs:enumeration value="Rural"/>
+			<xs:enumeration value="Secondary"/>
+			<xs:enumeration value="ShoppingCentre"/>
+			<xs:enumeration value="SportingCentre"/>
+			<xs:enumeration value="Urban"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AddressIDTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of types of address identiifers </xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="AddressLineTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of ypes of address line., e.g. street details, locality details</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="AddressUsageList">
+		<xs:annotation>
+			<xs:documentation>A list of types of usage of the address</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Business"/>
+			<xs:enumeration value="Billing"/>
+			<xs:enumeration value="Communication"/>
+			<xs:enumeration value="Contact"/>
+			<xs:enumeration value="Mailing"/>
+			<xs:enumeration value="Personal"/>
+			<xs:enumeration value="Postal"/>
+			<xs:enumeration value="Residential"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AdministrativeAreaTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of administrative area types</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="City">
+				<xs:annotation>
+					<xs:documentation>Only name of the administrative area without its type, e.g. NSW, CA, Quebec</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="State">
+				<xs:annotation>
+					<xs:documentation>The type of the area, e.g. state, district, province, etc.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Territory"/>
+			<xs:enumeration value="Province"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AdministrativeAreaNameTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of administrative area name element types</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Name">
+				<xs:annotation>
+					<xs:documentation>Name of the administrative area</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Number"/>
+			<xs:enumeration value="ReferenceLocation">
+				<xs:annotation>
+					<xs:documentation>Reference location information in support of the administrative area. e.g. Territory of France</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Type">
+				<xs:annotation>
+					<xs:documentation>Other supporting information </xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AdministrativeAreaNameCodeList">
+		<xs:annotation>
+			<xs:documentation>A list of codes for name of administrative area</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="CountryNameTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of country name element types</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Name">
+				<xs:annotation>
+					<xs:documentation>Name of the country  e.g. AUSTRALIA</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Type">
+				<xs:annotation>
+					<xs:documentation>Although a Country, could be classified as a territory of a country. For example, "NOUVELLE CALEDONIE" is a territory of "FRANCE".</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="CountryNameCodeList">
+		<xs:annotation>
+			<xs:documentation>A list of codes for name of country</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="DatumCodeList">
+		<xs:annotation>
+			<xs:documentation>A list of codes for datum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="DeliveryModeList">
+		<xs:annotation>
+			<xs:documentation>A list of codes for mode of delivery of address</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="DirectionTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of directions for geo-coordinates</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="East"/>
+			<xs:enumeration value="West"/>
+			<xs:enumeration value="North"/>
+			<xs:enumeration value="South"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="IdentifierElementTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of name types for commonly used Number type</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Name">
+				<xs:annotation>
+					<xs:documentation>Applicable to mail box office names such as PO BOX, GPO BOX, MAIL BAG NO., etc. </xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="RangeFrom">
+				<xs:annotation>
+					<xs:documentation>Indicates that the element contains the lower value of a range, e.g. 25 in 25-37</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Range">
+				<xs:annotation>
+					<xs:documentation>Indicates that the value is a range, e.g. 25-37</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="RangeTo">
+				<xs:annotation>
+					<xs:documentation>Indicates that the element contains the top value of a range, e.g. 25 in 25-37</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Prefix">
+				<xs:annotation>
+					<xs:documentation>Indocates that the element contains some value that is important, but not exactly the number itself. E.g. PoBox can be a prefix in PoBox 2020, street no. A-15, where A is the prefix and 15 is the number</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Suffix">
+				<xs:annotation>
+					<xs:documentation>Indicates that the element contains some value that is important, but not exactly the number itself. E.g. 'bis' in '45 bis'</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Number">
+				<xs:annotation>
+					<xs:documentation>Indicates that the value is number, e.g. 2020 in PoBox 2020. The actual value can be alpha-numeric. </xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Separator">
+				<xs:annotation>
+					<xs:documentation>Indicates that the value is a separator that is expected to be preserved. Examples are / - #, as in 15-A where "-" is the separator</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Extension">
+				<xs:annotation>
+					<xs:documentation>Indicates that the value is an extension number of some identifier, e.g. 01 in Private Bag 2330-01, where the main number of the private bag is 2330, 12345-1223 in post code where 1223 is the extension</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="LocalityNameTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of locality name element types such as name of locality, reference data in support of locality</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Name">
+				<xs:annotation>
+					<xs:documentation>Name of the locality</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Number"/>
+			<xs:enumeration value="ReferenceLocation">
+				<xs:annotation>
+					<xs:documentation>Any reference locality data in support of the locality. e.g. Next town north of Town A, via-town name</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Type">
+				<xs:annotation>
+					<xs:documentation>Other supporting information </xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="LocalityNameCodeList">
+		<xs:annotation>
+			<xs:documentation>A list of codes for name of locality</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="LocalityTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of locality name types such as Municipality, Village, Area, etc</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Municipality"/>
+			<xs:enumeration value="PostTown"/>
+			<xs:enumeration value="Place"/>
+			<xs:enumeration value="Suburb"/>
+			<xs:enumeration value="Town"/>
+			<xs:enumeration value="Village"/>
+			<xs:enumeration value="Area"/>
+			<xs:enumeration value="Zone"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="MeridianCodeList">
+		<xs:annotation>
+			<xs:documentation>A list of meridian codes</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="PostOfficeTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of types of postal delivery offices</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="PostalDeliveryPointTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of postal delivery point types</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="GPOBox"/>
+			<xs:enumeration value="POBox"/>
+			<xs:enumeration value="LockedBag"/>
+			<xs:enumeration value="MailStop"/>
+			<xs:enumeration value="PigeonHole"/>
+			<xs:enumeration value="PrivateBag"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="ProjectionCodeList">
+		<xs:annotation>
+			<xs:documentation>A list of codes for projection</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="PremisesElementTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of name types for premises</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Name">
+				<xs:annotation>
+					<xs:documentation>Names of Premises such as airport, hospital, university, military base, etc. Can also be the name of the building or house or apartment</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Location">
+				<xs:annotation>
+					<xs:documentation>Where in the building/landmark the premises is located, e.g. lobby, ground floor, penthouse, or where in a larger complex (e.g. airport) the address is located.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="SubPremisesConnector">
+				<xs:annotation>
+					<xs:documentation>Free text description that is required to logically connect the 2 premises</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="InternalThoroughfare">
+				<xs:annotation>
+					<xs:documentation>Roads and streets within boundaries of larger complexes/premises such as hospitals, airports, etc.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="ReferenceLocation">
+				<xs:annotation>
+					<xs:documentation>Free text description of some other location and how this premises relates to it, e.g. 300m from water station, new the police station, etc.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Type">
+				<xs:annotation>
+					<xs:documentation>additional supporting information</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="PremisesTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of premises type</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Airport"/>
+			<xs:enumeration value="Area"/>
+			<xs:enumeration value="Building"/>
+			<xs:enumeration value="Farm"/>
+			<xs:enumeration value="Hospital"/>
+			<xs:enumeration value="House"/>
+			<xs:enumeration value="LandMark"/>
+			<xs:enumeration value="LargeMailUser"/>
+			<xs:enumeration value="Lot"/>
+			<xs:enumeration value="RailwayStation"/>
+			<xs:enumeration value="ShoppingComplex"/>
+			<xs:enumeration value="University"/>
+			<xs:enumeration value="Unit"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="RuralDeliveryTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of rural delivery types such as road, air, water</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="SubAdministrativeAreaNameTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of sub administrative area name element types</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Name">
+				<xs:annotation>
+					<xs:documentation>Name of the sub administrative area</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Number"/>
+			<xs:enumeration value="ReferenceLocation">
+				<xs:annotation>
+					<xs:documentation>Reference location information in support of the sub administrative area.  </xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Type">
+				<xs:annotation>
+					<xs:documentation>Other supporting information </xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="SubAdministrativeAreaNameCodeList">
+		<xs:annotation>
+			<xs:documentation>A list of codes for name of sub adiministrative area</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="SubAdministrativeAreaTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of sub administrative area name types</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="County"/>
+			<xs:enumeration value="District"/>
+			<xs:enumeration value="Province"/>
+			<xs:enumeration value="Region"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="SubLocalityNameTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of sub locality name element types</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Name"/>
+			<xs:enumeration value="Number"/>
+			<xs:enumeration value="ReferenceLocation"/>
+			<xs:enumeration value="Type">
+				<xs:annotation>
+					<xs:documentation>Other supporting information </xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="SubLocalityNameCodeList">
+		<xs:annotation>
+			<xs:documentation>A list of codes for names of sub locality</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="SubLocalityTypeList">
+		<xs:annotation>
+			<xs:documentation>A ist of sublocality types</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Municipality"/>
+			<xs:enumeration value="Village"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="SubPremisesTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of sub premises types</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Room"/>
+			<xs:enumeration value="Suite"/>
+			<xs:enumeration value="Apartment"/>
+			<xs:enumeration value="Shop"/>
+			<xs:enumeration value="Office"/>
+			<xs:enumeration value="Unit"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="ThoroughfareNameTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of name element types for thoroughfare</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="NameOnly">
+				<xs:annotation>
+					<xs:documentation>Just the name part, such as Baker in Baker Street.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="PreDirection">
+				<xs:annotation>
+					<xs:documentation>North Archer Street, where "North" is PreDirection</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="PostDirection">
+				<xs:annotation>
+					<xs:documentation>Archer Street North, where "North" is PostDirection</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="NameAndNumber">
+				<xs:annotation>
+					<xs:documentation>This value indicates that the element contains the street name and street number. E.g. 39 Baker Street. Use this when you do not want to break the thoroughfare into atomic types</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="NameAndType">
+				<xs:annotation>
+					<xs:documentation>Baker Street, where Baker is Name and Street is Type</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="NameNumberAndType">
+				<xs:annotation>
+					<xs:documentation>21 Archer Street (Full thoroughfare details)</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Unstructured">
+				<xs:annotation>
+					<xs:documentation>Full details of a thorughfare in a single line (unstructured)
+e.g. 39 Baker Street North</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="SubThoroughfareConnector">
+				<xs:annotation>
+					<xs:documentation>When more than one street name is required to identify the location this type can be used to connect them with values such as CORNER OF or VIA.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="ReferenceLocation">
+				<xs:annotation>
+					<xs:documentation>Free text description of some other location and how this thoroughfare relates to it, e.g. 300m from water station, new the police station, etc.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Type">
+				<xs:annotation>
+					<xs:documentation>Additional description like intersection, cross streets, etc</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="ThoroughfareTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of types for thoroughfare (e.g. STREET, ROAD, CRT)</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+</xs:schema>
diff --git a/sfx2/classification/xAL.xsd b/sfx2/classification/xAL.xsd
new file mode 100644
index 0000000..4d1933a
--- /dev/null
+++ b/sfx2/classification/xAL.xsd
@@ -0,0 +1,671 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+	<xs:annotation>
+		<xs:documentation> 
+		Specification Name: OASIS CIQ TC - extensible Address Language (xAL) 
+		Description: Defines the W3C schema for representing addresses
+		(Using XML Schema based standard code list/enumeration mechanism - OPTION 1 AND DEFAULT)
+		Produced by: OASIS Customer Information Quality Technical Committee
+		URL: http://www.oasis-open.org/committees/ciq
+		Version: 3.0  
+		Status: Public Review Draft 03 ERRATA 
+		Copyright: 2007-08, OASIS, http://www.oasis-open.org
+		Last Modified: 08 April 2008  
+		Last Modified by: Ram Kumar, Chair, OASIS CIQ TC 
+		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="urn:oasis:names:tc:ciq:ct:3" schemaLocation="CommonTypes.xsd"/>
+	<xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink-2003-12-31.xsd"/>
+	<xs:element name="Address" type="AddressType">
+		<xs:annotation>
+			<xs:documentation>Top level element for address with geocode details</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+	<xs:complexType name="AddressType">
+		<xs:annotation>
+			<xs:documentation>Complex type that defines the structure of an address with geocode details for reuse</xs:documentation>
+		</xs:annotation>
+		<xs:sequence>
+			<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="ct:String">
+										<xs:attribute name="Type" type="AddressLineTypeList">
+											<xs:annotation>
+												<xs:documentation>What does the address line describe? e.g. Street details, suburb details, post code details, whole address, etc</xs:documentation>
+											</xs:annotation>
+										</xs:attribute>
+										<xs:attributeGroup ref="ct:grDataQuality"/>
+										<xs:anyAttribute namespace="##other"/>
+									</xs:extension>
+								</xs:simpleContent>
+							</xs:complexType>
+						</xs:element>
+					</xs:sequence>
+					<xs:attributeGroup ref="ct:grDataQuality"/>
+					<xs:anyAttribute namespace="##other" processContents="lax"/>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="Country" minOccurs="0">
+				<xs:annotation>
+					<xs:documentation>Country details</xs:documentation>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:complexContent>
+						<xs:extension base="CountryType"/>
+					</xs:complexContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="AdministrativeArea" minOccurs="0">
+				<xs:annotation>
+					<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>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="NameElement" maxOccurs="unbounded">
+							<xs:annotation>
+								<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>
+							</xs:annotation>
+							<xs:complexType>
+								<xs:simpleContent>
+									<xs:extension base="ct:String">
+										<xs:attributeGroup ref="ct:grAbbreviation"/>
+										<xs:attribute name="NameType" type="AdministrativeAreaNameTypeList">
+											<xs:annotation>
+												<xs:documentation>semantics of data associated with name</xs:documentation>
+											</xs:annotation>
+										</xs:attribute>
+										<xs:attribute name="NameCode" type="AdministrativeAreaNameCodeList">
+											<xs:annotation>
+												<xs:documentation>Name of administrative area represented as a code. e.g. "COL" for COLORADO</xs:documentation>
+											</xs:annotation>
+										</xs:attribute>
+										<xs:attribute name="NameCodeType" type="ct:String">
+											<xs:annotation>
+												<xs:documentation>Type of code used to represent name as a code</xs:documentation>
+											</xs:annotation>
+										</xs:attribute>
+										<xs:anyAttribute namespace="##other"/>
+									</xs:extension>
+								</xs:simpleContent>
+							</xs:complexType>
+						</xs:element>
+						<xs:element name="SubAdministrativeArea" minOccurs="0">
+							<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:sequence>
+									<xs:element name="NameElement" maxOccurs="unbounded">
+										<xs:annotation>
+											<xs:documentation>Data associated with the SubAdministrative Area. e.g. Full name of sub administrative area or part of it.  </xs:documentation>
+										</xs:annotation>
+										<xs:complexType>
+											<xs:simpleContent>
+												<xs:extension base="ct:String">
+													<xs:attributeGroup ref="ct:grAbbreviation"/>
+													<xs:attribute name="NameType" type="SubAdministrativeAreaNameTypeList">
+														<xs:annotation>
+															<xs:documentation>semantics of data associated with name</xs:documentation>
+														</xs:annotation>
+													</xs:attribute>
+													<xs:attribute name="NameCode" type="SubAdministrativeAreaNameCodeList">
+														<xs:annotation>
+															<xs:documentation>Name of administrative area represented as a code. e.g. "COL" for COLORADO</xs:documentation>
+														</xs:annotation>
+													</xs:attribute>
+													<xs:attribute name="NameCodeType" type="ct:String">
+														<xs:annotation>
+															<xs:documentation>Type of code used to represent name as a code</xs:documentation>
+														</xs:annotation>
+													</xs:attribute>
+													<xs:anyAttribute namespace="##other"/>
+												</xs:extension>
+											</xs:simpleContent>
+										</xs:complexType>
+									</xs:element>
+								</xs:sequence>
+								<xs:attribute name="Type" type="SubAdministrativeAreaTypeList">
+									<xs:annotation>
+										<xs:documentation>Type of sub administrative area</xs:documentation>
+									</xs:annotation>
+								</xs:attribute>
+								<xs:attributeGroup ref="ct:grDataQuality"/>
+								<xs:anyAttribute namespace="##other" processContents="lax"/>
+							</xs:complexType>
+						</xs:element>
+					</xs:sequence>
+					<xs:attribute name="Type" type="AdministrativeAreaTypeList">
+						<xs:annotation>
+							<xs:documentation>Type of administrative area. e.g. state, city, town, etc</xs:documentation>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attributeGroup ref="ct:grDataQuality"/>
+					<xs:anyAttribute namespace="##other" processContents="lax"/>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="Locality" minOccurs="0">
+				<xs:annotation>
+					<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>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="NameElement" maxOccurs="unbounded">
+							<xs:annotation>
+								<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>
+							</xs:annotation>
+							<xs:complexType>
+								<xs:simpleContent>
+									<xs:extension base="ct:String">
+										<xs:attributeGroup ref="ct:grAbbreviation"/>
+										<xs:attribute name="NameType" type="LocalityNameTypeList">
+											<xs:annotation>
+												<xs:documentation>semantics of data associated with name</xs:documentation>
+											</xs:annotation>
+										</xs:attribute>
+										<xs:attribute name="NameCode" type="LocalityNameCodeList">
+											<xs:annotation>
+												<xs:documentation>name of locality represented as a code</xs:documentation>
+											</xs:annotation>
+										</xs:attribute>
+										<xs:attribute name="NameCodeType" type="ct:String">
+											<xs:annotation>
+												<xs:documentation>type of code used to represent name as a code</xs:documentation>
+											</xs:annotation>
+										</xs:attribute>
+										<xs:anyAttribute namespace="##other"/>
+									</xs:extension>
+								</xs:simpleContent>
+							</xs:complexType>
+						</xs:element>
+						<xs:element name="SubLocality" minOccurs="0">
+							<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:sequence>
+									<xs:element name="NameElement" maxOccurs="unbounded">
+										<xs:annotation>
+											<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>
+										</xs:annotation>
+										<xs:complexType>
+											<xs:simpleContent>
+												<xs:extension base="ct:String">
+													<xs:attributeGroup ref="ct:grAbbreviation"/>
+													<xs:attribute name="NameType" type="SubLocalityNameTypeList">
+														<xs:annotation>
+															<xs:documentation>semantics of data associated with name</xs:documentation>
+														</xs:annotation>
+													</xs:attribute>
+													<xs:attribute name="NameCode" type="SubLocalityNameCodeList">
+														<xs:annotation>
+															<xs:documentation>name of locality represented as a code</xs:documentation>
+														</xs:annotation>
+													</xs:attribute>
+													<xs:attribute name="NameCodeType" type="ct:String">
+														<xs:annotation>
+															<xs:documentation>type of code used to represent name as a code</xs:documentation>
+														</xs:annotation>
+													</xs:attribute>
+													<xs:anyAttribute namespace="##other"/>
+												</xs:extension>
+											</xs:simpleContent>
+										</xs:complexType>
+									</xs:element>
+								</xs:sequence>
+								<xs:attribute name="Type" type="SubLocalityTypeList">
+									<xs:annotation>
+										<xs:documentation>Type of sub locality</xs:documentation>
+									</xs:annotation>
+								</xs:attribute>
+								<xs:attributeGroup ref="ct:grDataQuality"/>
+								<xs:anyAttribute namespace="##other" processContents="lax"/>
+							</xs:complexType>
+						</xs:element>
+					</xs:sequence>
+					<xs:attribute name="Type" type="LocalityTypeList">
+						<xs:annotation>
+							<xs:documentation>Type of locality. e.g. suburb, area, zone, village, etc</xs:documentation>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attributeGroup ref="ct:grDataQuality"/>
+					<xs:anyAttribute namespace="##other" processContents="lax"/>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="Thoroughfare" minOccurs="0">
+				<xs:annotation>
+					<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>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:complexContent>
+						<xs:extension base="ThoroughfareType">
+							<xs:sequence>
+								<xs:element name="SubThoroughfare" minOccurs="0" maxOccurs="5">
+									<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:complexType>
+										<xs:complexContent>
+											<xs:extension base="ThoroughfareType"/>
+										</xs:complexContent>
+									</xs:complexType>
+								</xs:element>
+							</xs:sequence>
+						</xs:extension>
+					</xs:complexContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="Premises" minOccurs="0">
+				<xs:annotation>
+					<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>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:complexContent>
+						<xs:extension base="PremisesType">
+							<xs:sequence>
+								<xs:element name="SubPremises" minOccurs="0" maxOccurs="unbounded">
+									<xs:annotation>
+										<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>
+									</xs:annotation>
+									<xs:complexType>
+										<xs:complexContent>
+											<xs:extension base="PremisesType">
+												<xs:attribute name="Type" type="SubPremisesTypeList"/>
+												<xs:attribute name="TypeCode" type="ct:String">
+													<xs:annotation>
+														<xs:documentation>Type of code used for sub premises type attribute</xs:documentation>
+													</xs:annotation>
+												</xs:attribute>
+											</xs:extension>
+										</xs:complexContent>
+									</xs:complexType>
+								</xs:element>
+							</xs:sequence>
+							<xs:attribute name="Type" type="PremisesTypeList"/>
+							<xs:attribute name="TypeCode" type="ct:String">
+								<xs:annotation>
+									<xs:documentation>Type of code use for Premises Type attribute</xs:documentation>
+								</xs:annotation>
+							</xs:attribute>
+						</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="IdentifierType" maxOccurs="unbounded">
+							<xs:annotation>
+								<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>
+							</xs:annotation>
+						</xs:element>
+					</xs:sequence>
+					<xs:attributeGroup ref="ct:grDataQuality"/>
+					<xs:anyAttribute namespace="##other" processContents="lax"/>
+				</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="IdentifierType" maxOccurs="unbounded">
+							<xs:annotation>
+								<xs:documentation>Free text or structured description of rural delivery route. e.g. RD 6, </xs:documentation>
+							</xs:annotation>
+						</xs:element>
+					</xs:sequence>
+					<xs:attribute name="Type" type="RuralDeliveryTypeList">
+						<xs:annotation>
+							<xs:documentation>Type of rural delivery. For some addresses, delivery to rural areas happens via water, air or road</xs:documentation>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attributeGroup ref="ct:grDataQuality"/>
+					<xs:anyAttribute namespace="##other" processContents="lax"/>
+				</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="IdentifierType" 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:attribute name="Type" type="PostalDeliveryPointTypeList"/>
+					<xs:attributeGroup ref="ct:grDataQuality"/>
+					<xs:anyAttribute namespace="##other" processContents="lax"/>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="PostOffice" minOccurs="0">
+				<xs:annotation>
+					<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>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="Identifier" type="IdentifierType" maxOccurs="unbounded">
+							<xs:annotation>
+								<xs:documentation>Name or number of the post office in free text or structured form.</xs:documentation>
+							</xs:annotation>
+						</xs:element>
+					</xs:sequence>
+					<xs:attribute name="Type" type="PostOfficeTypeList">
+						<xs:annotation>
+							<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>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attributeGroup ref="ct:grDataQuality"/>
+					<xs:anyAttribute namespace="##other" processContents="lax"/>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="GeoRSS" minOccurs="0">
+				<xs:annotation>
+					<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>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:sequence>
+						<xs:any namespace="http://www.georss.org/georss" maxOccurs="unbounded">
+							<xs:annotation>
+								<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>
+							</xs:annotation>
+						</xs:any>
+					</xs:sequence>
+					<xs:anyAttribute namespace="##other" processContents="lax"/>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="LocationByCoordinates" minOccurs="0">
+				<xs:annotation>
+					<xs:documentation>Simple Geo-coordinates of the address/location</xs:documentation>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="Latitude" minOccurs="0">
+							<xs:annotation>
+								<xs:documentation>Latitude details</xs:documentation>
+							</xs:annotation>
+							<xs:complexType>
+								<xs:attribute name="DegreesMeasure" type="ct:String">
+									<xs:annotation>
+										<xs:documentation>Measure of the latitude in degrees</xs:documentation>
+									</xs:annotation>
+								</xs:attribute>
+								<xs:attribute name="MinutesMeasure" type="ct:String">
+									<xs:annotation>
+										<xs:documentation>Measure of the latitude in minutes</xs:documentation>
+									</xs:annotation>
+								</xs:attribute>
+								<xs:attribute name="SecondsMeasure" type="ct:String">
+									<xs:annotation>
+										<xs:documentation>Measure of the latitude in seconds</xs:documentation>
+									</xs:annotation>
+								</xs:attribute>
+								<xs:attribute name="Direction" type="DirectionTypeList">
+									<xs:annotation>
+										<xs:documentation>The direction of latitude measurement offset from the equator</xs:documentation>
+									</xs:annotation>
+								</xs:attribute>
+								<xs:anyAttribute namespace="##other" processContents="lax"/>
+							</xs:complexType>
+						</xs:element>
+						<xs:element name="Longitude" minOccurs="0">
+							<xs:annotation>
+								<xs:documentation>Longitude details</xs:documentation>
+							</xs:annotation>
+							<xs:complexType>
+								<xs:attribute name="DegreesMeasure" type="ct:String">
+									<xs:annotation>
+										<xs:documentation>Measure of the longitude in degrees</xs:documentation>
+									</xs:annotation>
+								</xs:attribute>
+								<xs:attribute name="MinutesMeasure" type="ct:String">
+									<xs:annotation>
+										<xs:documentation>Measure of the longitude in minutes</xs:documentation>
+									</xs:annotation>
+								</xs:attribute>
+								<xs:attribute name="SecondsMeasure" type="ct:String">
+									<xs:annotation>
+										<xs:documentation>Measure of the longitude in seconds</xs:documentation>
+									</xs:annotation>
+								</xs:attribute>
+								<xs:attribute name="Direction" type="DirectionTypeList">
+									<xs:annotation>
+										<xs:documentation>The direction of  longitude measurement offset from the equator</xs:documentation>
+									</xs:annotation>
+								</xs:attribute>
+								<xs:anyAttribute namespace="##other" processContents="lax"/>
+							</xs:complexType>
+						</xs:element>
+					</xs:sequence>
+					<xs:attribute name="Meridian" type="MeridianCodeList">
+						<xs:annotation>
+							<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>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attribute name="MeridianCodeType" type="ct:String">
+						<xs:annotation>
+							<xs:documentation>Type of code used. e.g. EPSG Code</xs:documentation>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attribute name="Datum" type="DatumCodeList">
+						<xs:annotation>
+							<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>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attribute name="DatumCodeType" type="ct:String">
+						<xs:annotation>
+							<xs:documentation>Type of code used. e.g. EPSG Code, WGS-84</xs:documentation>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attribute name="Projection" type="ProjectionCodeList">
+						<xs:annotation>
+							<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>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attribute name="ProjectionCodeType" type="ct:String">
+						<xs:annotation>
+							<xs:documentation>Type of code used. e.g. EPSG Code</xs:documentation>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attributeGroup ref="ct:grDataQuality"/>
+					<xs:anyAttribute namespace="##other" processContents="lax"/>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+		<xs:attribute name="Type" type="AddressTypeList">
+			<xs:annotation>
+				<xs:documentation>Defines the type of address. An address type can be" Primary Address, Secondary Address, Rural Address, Military Address, etc.</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="AddressID" type="ct:String">
+			<xs:annotation>
+				<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>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="AddressIDType" type="AddressIDTypeList">
+			<xs:annotation>
+				<xs:documentation>Type of address ID used. e.g. DPID, etc</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="ID" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>A globally unique identifier assigned to the address</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="Usage" type="AddressUsageList">
+			<xs:annotation>
+				<xs:documentation>The purpose the address is used for. E.g.  Postal, residential, business,  exchange, update, create, delete, etc</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="DeliveryMode" type="DeliveryModeList">
+			<xs:annotation>
+				<xs:documentation>Mode of delivery of address. For example: rural route, normal delivery, post office box, etc. </xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="Status" type="ct:StatusList">
+			<xs:annotation>
+				<xs:documentation>Status of the entity. e.g. Old, Current, Inactive, Active, etc</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attributeGroup ref="ct:grValidityDate"/>
+		<xs:attribute name="AddressKey" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>A primary key to reference Address.</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="AddressKeyRef" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>A foreign key to reference attribute Key of Address.</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute ref="xlink:type"/>
+		<xs:attribute ref="xlink:label"/>
+		<xs:attribute ref="xlink:href"/>
+		<xs:attributeGroup ref="ct:grDataQuality"/>
+		<xs:attributeGroup ref="ct:grLanguageCode"/>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	<xs:complexType name="CountryType">
+		<xs:annotation>
+			<xs:documentation>Complex type that defines the name of the country and is reused in other CIQ specs</xs:documentation>
+		</xs:annotation>
+		<xs:sequence>
+			<xs:element name="NameElement" maxOccurs="unbounded">
+				<xs:annotation>
+					<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>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="ct:String">
+							<xs:attributeGroup ref="ct:grAbbreviation"/>
+							<xs:attribute name="NameType" type="CountryNameTypeList">
+								<xs:annotation>
+									<xs:documentation>Semantics of data associated with name. </xs:documentation>
+								</xs:annotation>
+							</xs:attribute>
+							<xs:attribute name="NameCode" type="CountryNameCodeList">
+								<xs:annotation>
+									<xs:documentation>Name of the country represented as a code</xs:documentation>
+								</xs:annotation>
+							</xs:attribute>
+							<xs:attribute name="NameCodeType" type="ct:String">
+								<xs:annotation>
+									<xs:documentation>Type of code used to represent name of country, e.g. iso-3166</xs:documentation>
+								</xs:annotation>
+							</xs:attribute>
+							<xs:anyAttribute namespace="##other"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	<xs:complexType name="IdentifierType">
+		<xs:annotation>
+			<xs:documentation>Complex type for internal reuse</xs:documentation>
+		</xs:annotation>
+		<xs:simpleContent>
+			<xs:extension base="ct:String">
+				<xs:attribute name="Type" type="IdentifierElementTypeList">
+					<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="ct: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>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>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="ct:String">
+							<xs:attributeGroup ref="ct:grAbbreviation"/>
+							<xs:attribute name="NameType" type="PremisesElementTypeList">
+								<xs:annotation>
+									<xs:documentation>Describes the type / part of name this element contains.</xs:documentation>
+								</xs:annotation>
+							</xs:attribute>
+							<xs:anyAttribute namespace="##other"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="Number" type="IdentifierType">
+				<xs:annotation>
+					<xs:documentation>Data associated with the number of the premises. E.g.House 15, number range, number suffix</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:choice>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</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>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>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="ct:String">
+							<xs:attributeGroup ref="ct:grAbbreviation"/>
+							<xs:attribute name="NameType" type="ThoroughfareNameTypeList">
+								<xs:annotation>
+									<xs:documentation>Describes the type / part of name this element contains.</xs:documentation>
+								</xs:annotation>
+							</xs:attribute>
+							<xs:anyAttribute namespace="##other"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="Number" type="IdentifierType">
+				<xs:annotation>
+					<xs:documentation>Data associated with the number of the thoroughfare. E.g. 39 in 39 Baker Street, street range, street suffix</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:choice>
+		<xs:attribute name="Type" type="ThoroughfareTypeList">
+			<xs:annotation>
+				<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>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="TypeCode" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>Type of code use for thoroughfare</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attributeGroup ref="ct:grDataQuality"/>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+</xs:schema>
diff --git a/sfx2/classification/xNL-types.xsd b/sfx2/classification/xNL-types.xsd
new file mode 100644
index 0000000..50f5e98
--- /dev/null
+++ b/sfx2/classification/xNL-types.xsd
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns="urn:oasis:names:tc:ciq:xnl:3" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:oasis:names:tc:ciq:xnl:3" elementFormDefault="qualified" attributeFormDefault="qualified">
+	<xs:annotation>
+		<xs:documentation> 
+		Specification Name: OASIS CIQ TC - extensible Name Language Types (xNL-types)
+		Description: Defines the W3C schema that provides enumeration lists to support xNL v3.0
+		(Using XML Schema based standard code list/enumeration mechanism - OPTION 1 AND DEFAULT)
+		Produced by: OASIS Customer Information Quality Technical Committee
+		URL: http://www.oasis-open.org/committees/ciq
+		Version: 3.0  
+		Status: Committee Specification
+		Copyright: 2006-07, OASIS, http://www.oasis-open.org
+		Last Modified: 18 September 2007
+		Last Modified by: Ram Kumar, Chair, OASIS CIQ TC 
+		
+		NOTE: This is the schema that users can customise the enumeration lists to meet their
+		exchange requirements. The enumeration values provided are ONLY SAMPLES and 
+		is not complete. It is upto the application to decide what the values should be.  To achieve 
+		interoperability between applications using this specification, it is recommended that an
+		SLA/agreement is in place as to what the enumeration values will be used in this file 
+		</xs:documentation>
+	</xs:annotation>
+	<xs:simpleType name="JointNameConnectorList">
+		<xs:annotation>
+			<xs:documentation>A list of possible values for joint name connector</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="NameLineTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of possible values for types of name lines</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="PartyNameIDTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of all types of Party Name IDs</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="PartyNameUsageList">
+		<xs:annotation>
+			<xs:documentation>A list of usage types of party name</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string"/>
+	</xs:simpleType>
+	<xs:simpleType name="PersonNameElementList">
+		<xs:annotation>
+			<xs:documentation>A list of person name element types, e.g. First Name, Last Name, Title, etc.</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="PrecedingTitle">
+				<xs:annotation>
+					<xs:documentation>His Excellency, Honorable, etc.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Title">
+				<xs:annotation>
+					<xs:documentation>A title signifies some sort of status, such as Mr, Miss, Ms (marriage status), or education such as Professor, PhD, Dr, etc.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="FirstName">
+				<xs:annotation>
+					<xs:documentation>The most important name element by which this particular individual is identified in the group. E.g. John, Sam, Brian for Anglo-Saxon cultures.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="MiddleName">
+				<xs:annotation>
+					<xs:documentation>Name elements related to additional identification of the individual, such as names are parents or places.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="LastName">
+				<xs:annotation>
+					<xs:documentation>Name element that identifies the group the individual belongs to and is identified by, such as Last Name, Surname, Family Name, etc. </xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="OtherName">
+				<xs:annotation>
+					<xs:documentation>Any other additional names that are not directly used to identify or call the individual, such as names of ancestors, saints, etc.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Alias">
+				<xs:annotation>
+					<xs:documentation>A simple nick name that is commonly used as part of the name. E.g. a fancy kick-boxer can be commonly known as Bill "Storm" Bababoons, where "Storm" is obviously an alias.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="GenerationIdentifier">
+				<xs:annotation>
+					<xs:documentation>Junior, Senior, The Second, IV,  etc.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="Degree"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="PersonNameUsageList">
+		<xs:annotation>
+			<xs:documentation>A list of usage types of person name</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="PersonIDTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of all types of person name IDs</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="OrganisationIDTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of all types of organisation name IDs</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="OrganisationNameElementList">
+		<xs:annotation>
+			<xs:documentation>A list of organisation name element types, e.g. Name, propriety type, liability type, etc.</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="NameOnly">
+				<xs:annotation>
+					<xs:documentation>"Sakthisoft" in "Sakthisoft Pty. Ltd". "Pty.Ltd" is the legal entity for the organisation name "Sakthisoft"</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="TypeOnly">
+				<xs:annotation>
+					<xs:documentation>"Pty. Ltd" in Sakthisoft Pty.Ltd, where "Sakthisoft" is the name of the organisation.
+
+""Inc" in ABC Inc, where "ABC" is organisation name</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="FullName">
+				<xs:annotation>
+					<xs:documentation>Full Name of the organisation. e.g. Sakthisoft Pty. Ltd</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="OrganisationNameUsageList">
+		<xs:annotation>
+			<xs:documentation>A list of usage types for organisation name</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString"/>
+	</xs:simpleType>
+	<xs:simpleType name="PersonNameTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of common types for person names</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Alias"/>
+			<xs:enumeration value="LegalName"/>
+			<xs:enumeration value="KnownAs"/>
+			<xs:enumeration value="MaidenName">
+				<xs:annotation>
+					<xs:documentation>Name of an individual before marriage.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="FormerName">
+				<xs:annotation>
+					<xs:documentation>Former name of the person</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="CommonUse">
+				<xs:annotation>
+					<xs:documentation>Name that is commonly used by others, e.g. a simplified form of the official name.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="NameAtBirth">
+				<xs:annotation>
+					<xs:documentation>A name given to an individual at birth, but later changed (common in some cultures)</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="PreferredName">
+				<xs:annotation>
+					<xs:documentation>Indicates that the party prefers to be called by this name</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="OfficialName">
+				<xs:annotation>
+					<xs:documentation>An official name of the person, e.g. as in the passport. incorporation certificate, etc.</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="UnofficialName"/>
+			<xs:enumeration value="NickName"/>
+			<xs:enumeration value="PetName"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="OrganisationNameTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of common types for organisation names</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="LegalName"/>
+			<xs:enumeration value="FormerName">
+				<xs:annotation>
+					<xs:documentation>Former name of the organisation</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="CommonUse"/>
+			<xs:enumeration value="PublishingName"/>
+			<xs:enumeration value="OfficialName"/>
+			<xs:enumeration value="UnofficialName"/>
+			<xs:enumeration value="Undefined">
+				<xs:annotation>
+					<xs:documentation>unknown</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="SubDivisionTypeList">
+		<xs:annotation>
+			<xs:documentation>A list of common types for subdivisions</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:normalizedString">
+			<xs:enumeration value="Department"/>
+			<xs:enumeration value="Division"/>
+			<xs:enumeration value="Branch"/>
+			<xs:enumeration value="BusinessUnit"/>
+			<xs:enumeration value="School"/>
+			<xs:enumeration value="Section"/>
+		</xs:restriction>
+	</xs:simpleType>
+</xs:schema>
diff --git a/sfx2/classification/xNL.xsd b/sfx2/classification/xNL.xsd
new file mode 100644
index 0000000..8bf11c8
--- /dev/null
+++ b/sfx2/classification/xNL.xsd
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns="urn:oasis:names:tc:ciq:xnl:3" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ct="urn:oasis:names:tc:ciq:ct:3" targetNamespace="urn:oasis:names:tc:ciq:xnl:3" elementFormDefault="qualified" attributeFormDefault="qualified">
+	<xs:annotation>
+		<xs:documentation> 
+		Specification Name: OASIS CIQ TC - extensible Name Language (xNL) 
+		Description: Defines the W3C schema for representing party names (Person or Organisation)
+		(Using XML Schema based standard code list/enumeration mechanism - OPTION 1 AND DEFAULT)
+		Produced by: OASIS Customer Information Quality Technical Committee
+		URL: http://www.oasis-open.org/committees/ciq
+		Version: 3.0  
+		Status: Committee Specification
+		Copyright: 2006-07, OASIS, http://www.oasis-open.org
+		Last Modified: 18 September 2007
+		Last Modified by: Ram Kumar, Chair, OASIS CIQ TC 
+		
+		NOTE: Do not modify this schema as it will break specifications compatibility 
+		</xs:documentation>
+	</xs:annotation>
+	<xs:include schemaLocation="xNL-types.xsd"/>
+	<xs:import namespace="urn:oasis:names:tc:ciq:ct:3" schemaLocation="CommonTypes.xsd"/>
+	<xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink-2003-12-31.xsd"/>
+	<xs:attributeGroup name="grNameKey">
+		<xs:annotation>
+			<xs:documentation>Reference to another Person Name or Organisation Name with primary and foreign key reinforcement. </xs:documentation>
+		</xs:annotation>
+		<xs:attribute name="NameKey" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>A primary key to reference Party Name.</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="NameKeyRef" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>A foreign key to reference attribute Key of Party Name.</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:attributeGroup>
+	<xs:complexType name="PartyNameType">
+		<xs:annotation>
+			<xs:documentation>Reusable complex type for a party. A party is a person or an organisation</xs:documentation>
+		</xs:annotation>
+		<xs:sequence>
+			<xs:element ref="NameLine" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="PersonName" minOccurs="0" maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:documentation>Container for person name details. Same person with many types (e.g. alias, pet name, nick name)  of names can be used by this container.  </xs:documentation>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:complexContent>
+						<xs:extension base="PersonNameType"/>
+					</xs:complexContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="OrganisationName" minOccurs="0" maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:documentation>A container for organisation name details. Same organisaion with many types of names can be used by this container</xs:documentation>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:complexContent>
+						<xs:extension base="OrganisationNameType"/>
+					</xs:complexContent>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+		<xs:attribute name="PartyNameID" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>A unique identifier of a party</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="PartyNameIDType" type="PartyNameIDTypeList">
+			<xs:annotation>
+				<xs:documentation>Type of Party Name ID</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="ID" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>Globally unique identifier</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="Usage" type="PartyNameUsageList">
+			<xs:annotation>
+				<xs:documentation>Tye of use of this data. e.g. data exchange, contact, update, create</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="Status" type="ct:StatusList">
+			<xs:annotation>
+				<xs:documentation>Status of the entity. e.g. Old, Current, Inactive, Active, etc</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="JointNameConnector" type="JointNameConnectorList">
+			<xs:annotation>
+				<xs:documentation>The connector used to join more than one person name. Example: Mr Hunt AND Mrs Clark, where AND is the JointNameConnector. The flow is from the preceding to the following. If there is more than 2 names then all names are connected using this connector in the natural order.</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attributeGroup ref="ct:grValidityDate"/>
+		<xs:attributeGroup ref="grNameKey"/>
+		<xs:attribute ref="xlink:type"/>
+		<xs:attribute ref="xlink:label"/>
+		<xs:attribute ref="xlink:href"/>
+		<xs:attributeGroup ref="ct:grDataQuality"/>
+		<xs:attributeGroup ref="ct:grLanguageCode"/>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	<xs:complexType name="PersonNameType">
+		<xs:annotation>
+			<xs:documentation>Reusable complex type</xs:documentation>
+		</xs:annotation>
+		<xs:sequence>
+			<xs:element name="NameElement" minOccurs="0" maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:documentation>Name or part of a name. </xs:documentation>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="ct:String">
+							<xs:attribute name="ElementType" type="PersonNameElementList">
+								<xs:annotation>
+									<xs:documentation>Clarifies the meaning of the element.Could be first name, middle name, etc. that is defined in the List list. Omit this attribute if the type of the name element is not known.</xs:documentation>
+								</xs:annotation>
+							</xs:attribute>
+							<xs:attributeGroup ref="ct:grAbbreviation"/>
+							<xs:anyAttribute namespace="##other" processContents="lax"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+		<xs:attribute name="Type" type="PersonNameTypeList">
+			<xs:annotation>
+				<xs:documentation>Enumerated list of type of name.  example: Alias, Nick Name, former name, known as, etc</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="PersonID" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>A unique identifier of a person</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="PersonIDType" type="PersonIDTypeList">
+			<xs:annotation>
+				<xs:documentation>Type of identifier</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="ID" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>Globally unique identifier</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="Usage" type="PersonNameUsageList">
+			<xs:annotation>
+				<xs:documentation>Usage of a person name. How is it used and for what purpose. Allows user which name in a set of names to select for a given purpose.
+e.g. used for legal purposes</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="Status" type="ct:StatusList">
+			<xs:annotation>
+				<xs:documentation>Status of the entity. e.g. Old, Current, Inactive, Active, etc</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attributeGroup ref="ct:grValidityDate"/>
+		<xs:attributeGroup ref="grNameKey"/>
+		<xs:attribute ref="xlink:type"/>
+		<xs:attribute ref="xlink:label"/>
+		<xs:attribute ref="xlink:href"/>
+		<xs:attributeGroup ref="ct:grDataQuality"/>
+		<xs:attributeGroup ref="ct:grLanguageCode"/>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	<xs:complexType name="OrganisationNameType">
+		<xs:annotation>
+			<xs:documentation>Reusable complex type</xs:documentation>
+		</xs:annotation>
+		<xs:sequence>
+			<xs:element name="NameElement" minOccurs="0" maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:documentation>Name of the organisation. E.g. ACME Inc.</xs:documentation>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="ct:String">
+							<xs:attribute name="ElementType" type="OrganisationNameElementList">
+								<xs:annotation>
+									<xs:documentation>Clarifies the meaning of the element. Example: name, type . Omit this attribute if the type of the name element is not known.</xs:documentation>
+								</xs:annotation>
+							</xs:attribute>
+							<xs:attributeGroup ref="ct:grAbbreviation"/>
+							<xs:anyAttribute namespace="##other" processContents="lax"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="SubDivisionName" minOccurs="0" maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:documentation>Name of a subdivision of an organisation (e.g. department) </xs:documentation>
+				</xs:annotation>
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="ct:String">
+							<xs:attribute name="Type" type="SubDivisionTypeList">
+								<xs:annotation>
+									<xs:documentation>Type of sub division. e.g. department, warehouse, branch</xs:documentation>
+								</xs:annotation>
+							</xs:attribute>
+							<xs:attributeGroup ref="ct:grAbbreviation"/>
+							<xs:anyAttribute namespace="##other" processContents="lax"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+		<xs:attribute name="Type" type="OrganisationNameTypeList">
+			<xs:annotation>
+				<xs:documentation>Enumerated list of common types of aliases or name types.</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="OrganisationID" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>A unique identifier of an organisation</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="OrganisationIDType" type="OrganisationIDTypeList">
+			<xs:annotation>
+				<xs:documentation>Type of identifier</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="ID" type="ct:String">
+			<xs:annotation>
+				<xs:documentation>Globally unique identifer</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="Usage" type="OrganisationNameUsageList">
+			<xs:annotation>
+				<xs:documentation>Usage of organisation name. How is it used and for what purpose. Allows user which name in a set of names to select for a given purpose.
+e.g. used for legal purposes</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="Status" type="ct:StatusList">
+			<xs:annotation>
+				<xs:documentation>Status of the entity. e.g. Old, Current, Inactive, Active, etc</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attributeGroup ref="ct:grValidityDate"/>
+		<xs:attributeGroup ref="grNameKey"/>
+		<xs:attribute ref="xlink:type"/>
+		<xs:attribute ref="xlink:label"/>
+		<xs:attribute ref="xlink:href"/>
+		<xs:attributeGroup ref="ct:grDataQuality"/>
+		<xs:attributeGroup ref="ct:grLanguageCode"/>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	<xs:element name="NameLine">
+		<xs:annotation>
+			<xs:documentation>Define name as a free format text. Use this when the type of the entity (person or organisation) is unknown, or is not broken down into individual elements (e.g. unstructured, unparsed) or is beyond the provided types. The name represented may be formatted in the right order or may not be as it is not parsed/broken into atomic fields</xs:documentation>
+		</xs:annotation>
+		<xs:complexType>
+			<xs:simpleContent>
+				<xs:extension base="ct:String">
+					<xs:attribute name="Type" type="NameLineTypeList">
+						<xs:annotation>
+							<xs:documentation>Type define what this free format name line could mean. For example, the Type could be "Unknown" </xs:documentation>
+						</xs:annotation>
+					</xs:attribute>
+					<xs:attributeGroup ref="ct:grAbbreviation"/>
+					<xs:attributeGroup ref="ct:grDataQuality"/>
+					<xs:anyAttribute namespace="##other" processContents="lax"/>
+				</xs:extension>
+			</xs:simpleContent>
+		</xs:complexType>
+	</xs:element>
+	<xs:element name="PartyName" type="PartyNameType">
+		<xs:annotation>
+			<xs:documentation>Container for defining a name of a Person, an Organisation or combination of the above as a joint name.</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+	<xs:element name="PersonName" type="PersonNameType">
+		<xs:annotation>
+			<xs:documentation>Person Name</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+	<xs:element name="OrganisationName" type="OrganisationNameType">
+		<xs:annotation>
+			<xs:documentation>Organisation Name</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+</xs:schema>
diff --git a/sfx2/classification/xlink-2003-12-31.xsd b/sfx2/classification/xlink-2003-12-31.xsd
new file mode 100644
index 0000000..bfe7a79
--- /dev/null
+++ b/sfx2/classification/xlink-2003-12-31.xsd
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) XBRL International.  See www.xbrl.org/legal  
+ XLink attribute specification - produced by xBRL group in December 2006
+    Thanks to xBRL for giving OASIS CIQ TC permission to use this specification
+-->
+<schema xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xlink" elementFormDefault="qualified" attributeFormDefault="qualified">
+	<annotation>
+		<documentation>
+    XLink attribute specification
+    </documentation>
+	</annotation>
+	<attribute name="type">
+		<simpleType>
+			<annotation>
+				<documentation>
+	    Enumeration of values for the type attribute
+	    </documentation>
+			</annotation>
+			<restriction base="string">
+				<enumeration value="simple"/>
+				<enumeration value="extended"/>
+				<enumeration value="locator"/>
+				<enumeration value="arc"/>
+				<enumeration value="resource"/>
+				<enumeration value="title"/>
+			</restriction>
+		</simpleType>
+	</attribute>
+	<attribute name="role">
+		<simpleType>
+			<annotation>
+				<documentation>
+	      A URI with a minimum length of 1 character.
+	      </documentation>
+			</annotation>
+			<restriction base="anyURI">
+				<minLength value="1"/>
+			</restriction>
+		</simpleType>
+	</attribute>
+	<attribute name="arcrole">
+		<simpleType>
+			<annotation>
+				<documentation>
+	      A URI with a minimum length of 1 character.
+	      </documentation>
+			</annotation>
+			<restriction base="anyURI">
+				<minLength value="1"/>
+			</restriction>
+		</simpleType>
+	</attribute>
+	<attribute name="title" type="string"/>
+	<attribute name="show">
+		<simpleType>
+			<annotation>
+				<documentation>
+	      Enumeration of values for the show attribute
+	      </documentation>
+			</annotation>
+			<restriction base="string">
+				<enumeration value="new"/>
+				<enumeration value="replace"/>
+				<enumeration value="embed"/>
+				<enumeration value="other"/>
+				<enumeration value="none"/>
+			</restriction>
+		</simpleType>
+	</attribute>
+	<attribute name="actuate">
+		<simpleType>
+			<annotation>
+				<documentation>
+      Enumeration of values for the actuate attribute
+      </documentation>
+			</annotation>
+			<restriction base="string">
+				<enumeration value="onLoad"/>
+				<enumeration value="onRequest"/>
+				<enumeration value="other"/>
+				<enumeration value="none"/>
+			</restriction>
+		</simpleType>
+	</attribute>
+	<attribute name="label" type="NCName"/>
+	<attribute name="from" type="NCName"/>
+	<attribute name="to" type="NCName"/>
+	<attribute name="href" type="anyURI"/>
+</schema>


More information about the Libreoffice-commits mailing list