Cover Pages Logo SEARCH
Advanced Search
ABOUT
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

NEWS
Cover Stories
Articles & Papers
Press Releases

CORE STANDARDS
XML
SGML
Schemas
XSL/XSLT/XPath
XLink
XML Query
CSS
SVG

TECHNOLOGY REPORTS
XML Applications
General Apps
Government Apps
Academic Apps

EVENTS
LIBRARY
Introductions
FAQs
Bibliography
Technology and Society
Semantics
Tech Topics
Software
Related Standards
Historic

xNAL: xNL and xAL XML DTDs


xNAL: xNL and xAL XML DTDs
From: http://www.oasis-open.org/committees/ciq/ciq.shtml


<?xml version='1.0' encoding='UTF-8' ?>

<!--
	xNL: eXtensible Name Language
	This is an XML document type definition (DTD) for
	defining customer name(s).
	Date of Creation: 1 March 2001
	Copyright(c) 2000, OASIS. All Rights Reserved [http://www.oasis-open.org]
	Contact: Customer Information Quality Technical Committee, OASIS
	Version: 1.1
	   CHANGES FROM 1.0: 
	   May 16, 2001:
	    - Replaced attribute Type in FirstName, FirstNameDetails, MiddleName and LastName to
	      NameType. Included a new attribute for these elements called "Type" 
	    - Introduced a new element "AddresseeIndicator"
	    - Removed Indicator attribute from Name, NameDetails, Person, PersonDetails
	    - Changed attribute NameType of NameDetails to CustomerType 
	    - Introduced NameType attribute for FormerName and MaidenName
	    - Changed Preposition Element to LastNamePrefix
	    - Changed LastName to cater for multiplicity 
	    - Changed FirstName to cater for multiplicity
	    - Removed fixed attribute value restriction for NameType attribute on FirstName, 
	      MiddleName and LastName
	    - Removed PersonName element
	    - Changed MaidenName to OtherName and made it handle multiplicity
	    - Removed FirstNameDetails element and FirstNameExtra element and instead, use
	      FirstName itself
-->
<!--===========================NAML Document==============================-->
<!--The root element xNL contains the element CustomerNameDetails. All other elements
are then defined within the CustomerNameDetails element. This is so multiple records can 
be in the one XML file.   
-->
<!ELEMENT xNL (NameDetails+)>

<!ELEMENT NameDetails (AddresseeIndicator?, (Name* | (PersonName?, Function?) | OrganisationName*), 
                       (DependencyName | DependencyNameDetails)?)>	 
<!ATTLIST NameDetails CustomerType (Person | Organisation) #REQUIRED> 

<!-- Specific for name and address where the addressee is specified. eg. ATTENTION, 
     ter attentie van (in Holland), etc -->
<!ELEMENT AddresseeIndicator   (#PCDATA)> 

<!ELEMENT Name (#PCDATA)> <!-- Person or a company -->
<!-- Joint Name, free format name, etc.. -->
<!ATTLIST Name NameType CDATA #IMPLIED>
 
<!-- ORGANISATION DETAILS -->
<!ELEMENT OrganisationName (#PCDATA)> 
<!--- Pty. Ltd, Inc, etc. -->
<!ATTLIST OrganisationName Type CDATA #IMPLIED> 
<!-- can be legal name, trading name, former name, abbreviation, etc... -->
<!ATTLIST OrganisationName NameType  CDATA #IMPLIED>  

<!ELEMENT PersonName       (PrecedingTitle*, Title*, FirstName*, MiddleName*, LastNamePrefix?, 
							LastName*, OtherName*, FormerName*, Alias*, GenerationIdentifier*, 
						    Suffix*, GeneralSuffix?)>

<!-- HIS EXCELLENCY, ESTATE OF THE LATE .......-->
<!ELEMENT PrecedingTitle (#PCDATA)>

<!ELEMENT Title (#PCDATA)>
<!--- plural title such as MESSRS.....-->
<!ATTLIST Title Type CDATA #IMPLIED> 

<!ELEMENT FirstName (#PCDATA)>
<!-- Given Name, Christian Name, First Name, etc.. -->
<!ATTLIST FirstName  NameType CDATA #IMPLIED>
<!-- official, unofficial, initial, etc... -->
<!ATTLIST FirstName  Type  CDATA #IMPLIED>

<!ELEMENT MiddleName (#PCDATA)>  
<!-- Given Name, Christian Name, First Name, etc.. -->
<!ATTLIST MiddleName NameType CDATA #IMPLIED>
<!-- official, unofficial, initial, etc... -->
<!ATTLIST MiddleName Type  CDATA #IMPLIED>

<!--- DE, LA, VAN DE.... -->
<!ELEMENT LastNamePrefix (#PCDATA)>
<!ELEMENT LastName (#PCDATA)>
<!ATTLIST LastName NameType CDATA #IMPLIED>
<!-- official, unofficial, initial, etc... -->
<!ATTLIST LastName Type CDATA #IMPLIED>

<!ELEMENT OtherName (#PCDATA)>
<!-- Maiden Name, Patronymic name, Matronymic name, etc. -->
<!ATTLIST OtherName NameType CDATA #IMPLIED>

<!ELEMENT FormerName (#PCDATA)>
<!ATTLIST FormerName NameType CDATA #IMPLIED>

<!-- Nick Name, Pet name, etc.. -->
<!ELEMENT Alias (#PCDATA)>
<!ATTLIST Alias Type CDATA #IMPLIED>

<!-- JNR, THE THIRD, III -->
<!ELEMENT GenerationIdentifier  (#PCDATA)>

<!-- Could be compressed initials - PhD, VC, QC -->
<!ELEMENT Suffix (#PCDATA)>

<!-- DECEASED, RETIRED ... -->
<!ELEMENT GeneralSuffix  (#PCDATA)>

<!-- Managing Director, CEO, Marketing Manager, etc.. -->
<!ELEMENT Function (#PCDATA)>                            

<!-- Person-Person/Person-Organisation Relationship -->
<!ELEMENT DependencyName (#PCDATA)>
<!-- Care of, Wife of, etc... -->
<!ATTLIST DependencyName DependencyType CDATA #IMPLIED>

<!ELEMENT DependencyNameDetails (NameDetails)>
<!ATTLIST DependencyNameDetails DependencyType CDATA #IMPLIED>

---------------------------------------------------------------------------

<?xml version='1.0' encoding='UTF-8' ?>

<!--
	xAL: eXtensible Address Language
	This is an XML document type definition (DTD) for
	defining addresses.
	Date of Creation: 1 March 2001
	Copyright(c) 2000, OASIS. All Rights Reserved [http://www.oasis-open.org]
	Contact: Customer Information Quality Technical Committee, OASIS
	         http://www.oasis-open.org/committees/ciq
	VERSION: 1.3
	====================== VERSION HISTORY ==============================================
	VERSION SUMMARY (Version 1.0 to 1.1):
	May 10, 2001: - Added DependentLocalityNumber, Added NameType attribute for 
	                DependentLocalityName
	              - Added TypeNumberOccurence attribute for DependentLocalityNumber
	              - Changed StreetRange element to "StreetNumberRange"
	              - Changed StreetNumberType to "StreetNumberPrefix"  
	May 15, 2001: - Changed "Street" to "Thoroughfare" as a Thoroufare could be street, 
	                road, river, canal, etc. Introduced an attribute "type" for 
	                Thoroughfare. All the 
	                references to Street have been changed to Thoroughfare.
	May 17, 2001: - Included POBox and Thoroughfare in LargeMailUser Element
	May 18, 2001: - DeliveryIdentifier Element included in AddressDetails element
	
	VERSION SUMMARY (Version 1.1 to 1.2):
	May 21, 2001: - Included DependentLocality element under Thoroughfare element
	              - Changed "CountryCode" element to "CountryNameCode"
	May 28, 2001: - Added a new attribute "Separator" to ThoroughfareNumberRange element
				  - Added a new attribute "PremiseNumberSeparator" to SubPremiseNumber 
				    element
	June 14,2001: - Added an attribute "SupplementaryInfo" to the following elements:
					Locality, DependentLocality, Thoroughfare, DependentThoroughfare, 
					Premise, SubPremise
					
	VERSION SUMMARY (Version 1.2 to 1.3):
	Sep 04, 2001: - Added an attribute NumberType for PremiseNumber and SubPremiseNumber
	                because some premises have old and new numbers.
	Oct 03, 2001: - Added an attribute UsageType for AdministrativeArea, SubAdministrative
					Area, Locality and DependentLocality. Sometimes locations must be 
					distinguished between postal system, and physical locations as defined
					by a political system
	November 16, 2001:
				  - Added an attribute NumberSuffixConnector and NumberPrefixConnector for
				    the following elements: ThoroughfareNumber, PremiseNumber, SubPremise Number,
				    and PostOfficeBoxNumber
	======================================================================================
-->
 
<!ELEMENT xAL (AddressDetails+)>
<!ELEMENT AddressDetails (DeliveryIdentifier*, (Address | AddressLines | Country | 
                          AdministrativeArea | Locality | Thoroughfare))>
<!-- Track changes to customer address details 
     AddressType   -> Postal, residential,business, primary, secondary, etc
     CurrentStatus -> Moved, Living, Investment, Deceased, etc..
     ValidFromDate -> Start Date of the validity of address
     ValidToDate   -> End date of the validity of address
     Usage         -> Communication, Contact, etc. -->

<!ATTLIST AddressDetails
		  				 AddressType	CDATA #IMPLIED
	      				 CurrentStatus  CDATA #IMPLIED
	      				 ValidFromDate  CDATA #IMPLIED
	      				 ValidToDate    CDATA #IMPLIED
	      				 Usage          CDATA #IMPLIED
>

<!-- In some countries like USA, UK, Australia, each address is identifier with a unique number
     as defined by the postal authorities -->
<!ELEMENT DeliveryIdentifier   (#PCDATA)>
<!-- Defines the type of identifier. For example, in Australia it is called as 
     DPID - Delivery Point Identifier -->
<!ATTLIST DeliveryIdentifier IdentifierType  CDATA #IMPLIED>  
<!-- Old, new, etc.. -->
<!ATTLIST DeliveryIdentifier Type  CDATA #IMPLIED> 

<!-- The order of the AddressLine elements must be preserved-->
<!ELEMENT AddressLines (AddressLine+)>
<!ELEMENT Address (#PCDATA)>
<!ELEMENT AddressLine  (#PCDATA)> 
 
<!-- Specification of a country	--> 
<!ELEMENT Country (AddressLines | (CountryNameCode*, CountryName*, 
                   (AdministrativeArea | Locality | Thoroughfare)*))>

<!-- Specification of an administrative area. Examples of administrative areas are provinces, 
     bundesamts, etc. There are two places where the name of an administrative area can be 
     specified. --> 
<!ELEMENT AdministrativeArea (AddressLines | (AdministrativeAreaName*, SubAdministrativeArea?, 
						      (Locality | PostOffice | PostalCode)?))>
<!-- Province or State or County or Kanton or Unknown-->
<!ATTLIST AdministrativeArea Type CDATA  #IMPLIED>
<!-- Usage type : Postal or Political : Sometimes locations must be distinguished between
     postal system, and physical locations as defined by a political system -->
<!-- Erode (Dist) where (Dist) is the Indicator -->
<!ATTLIST AdministrativeArea UsageType CDATA #IMPLIED>
<!ATTLIST AdministrativeArea Indicator CDATA #IMPLIED>

<!-- Specification of a sub-administrative area. An example of a sub-administrative areas is a 
     county. There are two places where the name of an administrative area can be specified. -->
<!ELEMENT SubAdministrativeArea (SubAdministrativeAreaName*)>
<!-- Possible values but not limited to: Province or State or County or Kanton or Unknown-->
<!ATTLIST SubAdministrativeArea Type CDATA  #IMPLIED>
<!-- Usage type : Postal or Political : Sometimes locations must be distinguished between
     postal system, and physical locations as defined bya  political system -->
<!-- Erode (Dist) where (Dist) is the Indicator -->
<!ATTLIST SubAdministrativeArea UsageType CDATA #IMPLIED>
<!-- Erode (Dist) where (Dist) is the Indicator -->
<!ATTLIST SubAdministrativeArea Indicator CDATA #IMPLIED>

<!-- Specification of a locality. Examples of localities are cities, reservations and any other 
     built-up areas. -->
<!ELEMENT Locality (AddressLines | (LocalityName*, (PostBox | LargeMailUser | PostOffice)?, 
                    Thoroughfare?, Premise?, DependentLocality?, PostalCode?)) >
<!-- Possible values not limited to: City, IndustrialEstate, Unknown -->
<!ATTLIST Locality Type CDATA  #IMPLIED>
<!-- Usage type : Postal or Political : Sometimes locations must be distinguished between
     postal system, and physical locations as defined by a political system -->
<!-- Erode (Dist) where (Dist) is the Indicator -->
<!ATTLIST Locality UsageType CDATA #IMPLIED>
<!-- Erode (Dist) where (Dist) is the Indicator -->
<!ATTLIST Locality Indicator CDATA #IMPLIED>
<!-- Any additional info helpful to identify the localition. eg. 3kms past CITY XXX etc. -->
<!ATTLIST Locality SupplementaryInfo CDATA #IMPLIED>

<!-- Dependent localities are Districts within cities/towns, locality divisions, postal 
     divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no 
     nesting deeper than two exists (Locality->DependentLocality->DependentLocality). -->
<!ELEMENT DependentLocality (AddressLines | (DependentLocalityName*, DependentLocalityNumber?, 
                             (PostBox | LargeMailUser | PostOffice)?, Thoroughfare?, Premise?, 
                             DependentLocality?, PostalCode?))>
<!-- City or IndustrialEstate or Unknown When in use for DependentLocality: PostalZone -->
<!ATTLIST DependentLocality Type CDATA  #IMPLIED>
<!-- Eg. VIA as in Hill Top VIA Parish where Parish is a locality and Hill Top is a dependent 
     locality -->
<!-- Usage type : Postal or Political : Sometimes locations must be distinguished between
     postal system, and physical locations as defined bya  political system -->
<!-- Erode (Dist) where (Dist) is the Indicator -->
<!ATTLIST DependentLocality UsageType CDATA #IMPLIED>
<!ATTLIST DependentLocality Connector CDATA  #IMPLIED>
<!-- Erode (Dist) where (Dist) is the Indicator -->
<!ATTLIST DependentLocality Indicator CDATA #IMPLIED>
<!-- Any additional info helpful to identify the location. -->
<!ATTLIST DependentLocality SupplementaryInfo CDATA #IMPLIED>

<!-- Possible values not limited to: Company, Institution, Cedex, LargeUser -->
<!-- Specification of a large mail user address. Examples of large mail users are postal 
     companies, companies in France with a cedex number, hospitals and airports with their own 
     post code. Large mail user addresses do not have a street name with premise name or premise
     number in countries like netherlands. But they have a POBox and street also in countries 
     like France -->
<!ELEMENT LargeMailUser (AddressLines | (LargeMailUserName*, LargeMailUserIdentifier?, 
                         BuildingName*, Department?, PostBox?, Thoroughfare?, PostalCode?))>
<!ATTLIST LargeMailUser  Type CDATA  'LargeUser' >
 
<!-- Specification of a post office. Examples are a rural post office where post is delivered 
     and a post office containing post office boxes.  -->
<!ELEMENT PostOffice (AddressLines | ((PostOfficeName* | PostOfficeNumber?), PostalRoute?, 
                      PostBox?, PostalCode?))>
<!-- Could be a Mobile Postoffice Van as in Isreal -->
<!ATTLIST PostOffice Type CDATA  #IMPLIED>
<!-- Kottivakkam (P.O) here (P.O) is the Indicator -->
<!ATTLIST PostOffice Indicator CDATA  #IMPLIED>

<!-- Specification of a postbox like mail delivery point. Only a single postbox number can be 
     specified. Examples of postboxes are POBox, free mail numbers, etc. PostBoxType possible 
     values are, not limited to: POBox and Freepost.		-->
<!ELEMENT PostBox (AddressLines | (PostBoxNumber, PostBoxNumberPrefix?, PostBoxNumberSuffix?, 
                   Firm?, PostalCode?))>
<!ATTLIST PostBox  Type CDATA  #IMPLIED>
<!-- LOCKED BAG NO:1234 where the Indicator is NO: and Type is LOCKED BAG -->
<!ATTLIST PostBox  Indicator CDATA #IMPLIED> 

<!-- Specification of a firm, company, organization, etc. It can be specified as part of an 
     address that contains a street or a postbox. It is therefore different from a large mail 
     user address, which contains neither a street nor a postbox. -->
<!ELEMENT Firm (AddressLines | (FirmName+, Department*, PostalCode?))> 
<!-- Firm type could be company, university, etc.. -->
<!ATTLIST Firm Type  CDATA #IMPLIED> 

<!ELEMENT Department (DepartmentName+ , PostalCode?)>
<!-- School in Physics School -->
<!ATTLIST Department Type   CDATA #IMPLIED>

<!-- Specification of a thoroughfare. A thoroughfare could be a rd, street, canal, river, etc.  
     Note dependentlocality in a street. For example, in some countries, a large street will 
     have many subdivisions with numbers. Normally the subdivision name is the same as the road 
     name, but with a number to identifiy it. Eg. SOI SUKUMVIT 3, SUKUMVIT RD, BANGKOK -->
<!ELEMENT Thoroughfare (AddressLines | (ThoroughfareName*, ThoroughfarePreDirection?, 
                        ThoroughfareLeadingType?, ThoroughfareTrailingType?, 
                        (ThoroughfareNumber | ThoroughfareNumberRange)?, 
                        ThoroughfareNumberPrefix?, ThoroughfareNumberSuffix?,
                        ThoroughfarePostDirection?, DependentThoroughfare?, 
                        (DependentLocality | Premise | Firm | PostalCode)?))>
<!-- Street, Road, Canal, etc -->
<!ATTLIST Thoroughfare Type CDATA #IMPLIED>
<!-- Any street dependent on this Throughfare in the address -->
<!ATTLIST Thoroughfare DependentThoroughfares (Yes|No) "No">
<!-- Corner of, Intersection of -->
<!ATTLIST Thoroughfare  DependentThoroughfaresIndicator  CDATA #IMPLIED> 
<!-- Corner of Street1 AND Street 2 where AND is the Connector -->
<!ATTLIST Thoroughfare  DependentThoroughfaresConnector  CDATA #IMPLIED>
<!-- STS in GEORGE & ADELAIDE STS, RDS IN A & B RDS, etc. Use only when
     both the street types are the same -->
<!ATTLIST Thoroughfare  DependentThoroughfaresType  CDATA #IMPLIED>
<!-- Any additional info helpful to identify the location. -->
<!ATTLIST Thoroughfare  SupplementaryInfo CDATA #IMPLIED>

<!-- DependentThroughfare is related to a street; occurs in GB, IE, ES, PT -->
<!-- Corner of, Intersection are the indicators -->
<!ELEMENT DependentThoroughfare (AddressLines | (ThoroughfareName*, ThoroughfarePreDirection?, 
                                 ThoroughfareLeadingType?, ThoroughfareTrailingType?, 
                                 ThoroughfarePostDirection?))>
<!-- Street, Road, Canal, etc -->
<!ATTLIST DependentThoroughfare Type CDATA #IMPLIED>
<!-- Any additional info helpful to identify the location. -->
<!ATTLIST DependentThoroughfare SupplementaryInfo CDATA #IMPLIED>

<!-- Specification of a single premise, for example a house or a building. The premise as 
     a whole has a unique premise (house) number or a premise name.  There could be more than 
     one premise in a street referenced in an address. For example a building address near a 
     major shopping centre or raiwlay station  -->
<!ELEMENT Premise (AddressLines | (PremiseName*, (PremiseLocation | PremiseNumber*)?, 
                   PremiseNumberPrefix?, PremiseNumberSuffix?, BuildingName*, 
                   (SubPremise* | Firm?), PostalCode?, Premise?))>
<!-- COMPLEXE in COMPLEX DES JARDINS -->
<!ATTLIST Premise Type CDATA  #IMPLIED>
<!-- STREET, PREMISE, SUBPREMISE, PARK, FARM, etc -->
<!ATTLIST Premise PremiseDependency CDATA  #IMPLIED>
<!-- NEAR, ADJACENT TO, ..... -->
<!ATTLIST Premise PremiseDependencyType CDATA #IMPLIED> 
<!-- DES, DE, LA, LA, DU in RUE DU BOIS. These terms connect a premise/thoroughfare type and
     premise/thoroughfare name. Terms may appear with names AVE DU BOIS -->
<!ATTLIST Premise PremiseThoroughfareConnector CDATA #IMPLIED>
<!-- Any additional info helpful to identify the location. -->
<!ATTLIST Premise SupplementaryInfo CDATA #IMPLIED>

<!-- Specification of a single sub-premise. Examples of sub-premises are apartments and suites. 
     Each sub-premise should be uniquely identifiable. SubPremiseType: Specification of the name
     of a sub-premise type. Possible values not limited to: Suite, Appartment, Floor, Unknown.-->
<!-- Multiple levels within a premise by recursively calling SubPremise Eg. Level 4, Suite 2, 
     Block C -->
<!ELEMENT SubPremise (AddressLines | (SubPremiseName*, (SubPremiseLocation | SubPremiseNumber*)?, 
                      SubPremiseNumberPrefix?, SubPremiseNumberSuffix?, BuildingName*, Firm?, 
                      PostalCode?, SubPremise?))>
<!-- SubPremiseType may be Apartment, Lot, etc.-->
<!ATTLIST SubPremise Type CDATA  #IMPLIED>
<!-- Any additional info helpful to identify the location. -->
<!ATTLIST SubPremise SupplementaryInfo CDATA #IMPLIED>

<!-- Specification of a postcode. The postcode is formatted according to country-specific rules. 
     Example: SW3 0A8-1A  -->
<!ELEMENT PostalCodeNumber (#PCDATA)>
<!-- Old Postal Code, new code, etc-->
<!ATTLIST PostalCodeNumber NumberType  CDATA #IMPLIED> 

<!-- Sub-element of the PostalCode, specification of a post town. A post town is not the same 
     as a locality. A post town can encompass a collection of (small) localities. It can also be 
     a subpart of a locality. An actual post town in Norway is "Bergen". -->
<!ELEMENT PostTown (PostTownName+, PostTownSuffix?)>
<!ATTLIST PostTown Type CDATA #IMPLIED>

<!-- Values may for example be CEDEX 16 (France)-->
<!ELEMENT SortingCode (#PCDATA)> 

<!-- Examples are: 1234 (USA), 1G (UK), etc. -->
<!ELEMENT PostalCodeNumberExtension (#PCDATA)>
<!-- DeliveryPointSuffix, NewPostalCode, etc.. -->
<!ATTLIST PostalCodeNumberExtension Type  CDATA #IMPLIED> 

<!-- Specification of the name of an administrative area. Examples of administrative areas are 
     provinces counties, special regions (such as "Rijnmond"), etc. Possible values of NameType 
     not limited to: Official, Unique, Abbreviation, OldName, Synonym.-->
<!ELEMENT AdministrativeAreaName (#PCDATA)> 
<!ATTLIST AdministrativeAreaName NameType CDATA #IMPLIED>

<!-- Specification of the sub-administrative area name. Examples are county (Ireland) and 
     concelho (Portugal). Possible values of NameType not limited to: Official, Unique, 
     Abbreviation, OldName, Synonym.			-->
<!ELEMENT SubAdministrativeAreaName (#PCDATA)>
<!ATTLIST SubAdministrativeAreaName NameType CDATA #IMPLIED> 

<!--#DOCUMENTATION:Specification of the name of a locality. Possible values of NameType not 
    limited to: Official, Unique, Abbreviation, OldName, Vanity name, Synonym.-->
<!ELEMENT LocalityName (#PCDATA)> 
<!ATTLIST LocalityName NameType CDATA #IMPLIED>

<!-- Specification of the name of a Thoroughfare (also dependant street name). Possible values 
     of NameType not limited to: Official, Unique, Abbreviation, OldName, Synonym.-->
<!ELEMENT ThoroughfareName (#PCDATA)>
<!-- Possible values of NameType not limited to: Official, Unique, Abbreviation, 
     OldName, Synonym.			-->
<!ATTLIST ThoroughfareName NameType  CDATA #IMPLIED>   
<!ELEMENT ThoroughfareLeadingType   (#PCDATA)>
<!ELEMENT ThoroughfareTrailingType   (#PCDATA)>
<!ELEMENT ThoroughfareNumber         (#PCDATA)>
<!-- 12 Archer Street is "Single" and 12-14 Archer Street is "Range" -->
<!ATTLIST ThoroughfareNumber NumberType (Single|Range) "Single">
<!-- No. in Street No.12 or "#" in Street # 12, etc.-->
<!ATTLIST ThoroughfareNumber Indicator CDATA #IMPLIED>
<!-- No.12 where "No." is before actual street number -->
<!ATTLIST ThoroughfareNumber IndicatorOccurrence (Before|After) "After">
<!ELEMENT ThoroughfareNumberSuffix   (#PCDATA)>   
<!-- 12-A where 12 is number and A is suffix and "-" is the connector -->
<!ATTLIST ThoroughfareNumberSuffix NumberSuffixConnector CDATA #IMPLIED>      
<!ELEMENT ThoroughfarePreDirection   (#PCDATA)>
<!ELEMENT ThoroughfarePostDirection  (#PCDATA)>
<!-- LODGE in LODGE 5 ARCHER STREET -->
<!ELEMENT ThoroughfareNumberPrefix     (#PCDATA)> 
<!-- A-12 where 12 is number and A is prefix and "-" is the connector -->
<!ATTLIST ThoroughfareNumberPrefix NumberPrefixConnector CDATA #IMPLIED> 
<!-- 1-3 Albert Avenue -->
<!ELEMENT ThoroughfareNumberRange (ThoroughfareNumberFrom, ThoroughfareNumberTo)>
<!ATTLIST ThoroughfareNumberRange Indicator CDATA #IMPLIED>
<!-- "-" in 12-14  or "Thru" in 12 Thru 14 etc. -->
<!ATTLIST ThoroughfareNumberRange Separator CDATA #IMPLIED>
<!-- No.12-14 where "No." is before actual street number -->
<!ATTLIST ThoroughfareNumberRange IndicatorOccurrence (Before|After) "After">
<!-- Odd/Even -->
<!ATTLIST ThoroughfareNumberRange Type CDATA #IMPLIED>
<!ELEMENT ThoroughfareNumberFrom  (#PCDATA)>
<!ELEMENT ThoroughfareNumberTo  (#PCDATA)>

<!-- Specification of the number of the postoffice. Common in rural postoffices-->
<!ELEMENT PostOfficeNumber (#PCDATA)>
<!-- MS in MS 62, # in MS # 12, etc. -->
<!ATTLIST PostOfficeNumber Indicator CDATA #IMPLIED>
<!-- MS occurs before 62 in MS 62 -->
<!ATTLIST PostOfficeNumber IndicatorOccurrence (Before|After) "Before">

<!-- Specification of the name of the post office. This can be a rural postoffice where post 
     is delivered or a post office containing post office boxes.  Possible values of NameType 
     not limited to: Official, Unique, Abbreviation, OldName, Synonym.-->
<!ELEMENT PostOfficeName (#PCDATA)> 
<!ATTLIST PostOfficeName NameType CDATA #IMPLIED>

<!-- A Postal van is specific for a route as in Is`rael -->
<!ELEMENT PostalRoute ((PostalRouteName+ | PostalRouteNumber))>
<!ATTLIST PostalRoute Type  CDATA #IMPLIED>
<!ELEMENT PostalRouteName   (#PCDATA)>
<!ATTLIST PostalRouteName NameType CDATA #IMPLIED>
<!--Possible values of NameType not limited to: Official, Unique, Abbreviation, OldName, 
    Synonym. -->
<!ELEMENT PostalRouteNumber (#PCDATA)>

<!-- Specification of the name of a building. See also the specification of the SinglePremise 
     element. Possible values of NameType not limited to: Official, Unique, Abbreviation, 
     OldName, Synonym.-->
<!ELEMENT BuildingName (#PCDATA)>
<!-- Possible values of NameType not limited to: Official, Unique, Abbreviation, OldName, 
     Synonym.-->
<!ATTLIST BuildingName NameType  CDATA #IMPLIED>   
<!-- EGIS Building where EGIS occurs before Building -->
<!ATTLIST BuildingName TypeOccurrence (Before|After) "Before"> 

<!-- Specification of the name of the premise (house, building, park, farm, etc). A premise 
     name is specified when the premise cannot be addressed using a street name plus premise 
     (house) number. Possible values of NameType not limited to: Official, Unique, Abbreviation, 
     OldName, Synonym.-->
<!ELEMENT PremiseName (#PCDATA)>
<!-- Possible values of NameType not limited to: Official, Unique, Abbreviation, OldName, 
     Synonym.-->
<!ATTLIST PremiseName NameType  CDATA #IMPLIED>   
<!-- EGIS Building where EGIS occurs before Building, DES JARDINS occurs after 
     COMPLEXE DES JARDINS -->
<!ATTLIST PremiseName TypeOccurrence (Before|After) "Before"> 

<!-- Specification of the identifier of the premise (house, building, etc). Premises in a street 
     are often uniquely identified by means of consecutive identifiers. The identifier can be a 
     number, a letter or any combination of the two.  -->
<!ELEMENT PremiseNumber (#PCDATA)>  
<!-- No. in House No.12, # in #12, etc. -->
<!ATTLIST PremiseNumber Indicator CDATA #IMPLIED>
<!-- No. occurs before 12 -->
<!ATTLIST PremiseNumber IndicatorOccurrence (Before|After) "Before">
<!--  12 in BUILDING 12 occurs "after" premise type BUILDING--> 
<!ATTLIST PremiseNumber NumberTypeOccurrence (Before|After) "Before">
<!-- Old number, new number, official, un-official -->
<!ATTLIST PremiseNumber NumberType CDATA #IMPLIED>

<!-- LOBBY, BASEMENT, GROUND FLOOR, etc... -->
<!ELEMENT PremiseLocation  (#PCDATA)>
<!ELEMENT PremiseNumberSuffix (#PCDATA)>
<!-- 12-A where 12 is number and A is suffix and "-" is the connector -->
<!ATTLIST PremiseNumberSuffix NumberSuffixConnector CDATA #IMPLIED> 
<!ELEMENT PremiseNumberPrefix (#PCDATA)>
<!-- A-12 where 12 is number and A is prefix and "-" is the connector -->
<!ATTLIST PremiseNumberSuffix NumberPrefixConnector CDATA #IMPLIED> 

<!-- Possible values of NameType not limited to: Official, Unique, Abbreviation, OldName, 
     Synonym.-->
<!ELEMENT SubPremiseName (#PCDATA)> 
<!-- Possible values of NameType not limited to: Official, Unique, Abbreviation, 
     OldName, Synonym.			-->
<!ATTLIST SubPremiseName NameType  CDATA #IMPLIED>  
<!-- EGIS Building where EGIS occurs before Building -->
<!ATTLIST SubPremiseName TypeOccurrence (Before|After) "Before">

<!-- Specification of the identifier of a sub-premise. Examples of sub-premises are apartments 
     and suites. sub-premises in a building are often uniquely identified by means of consecutive
     identifiers. The identifier can be a number, a letter or any combination of the two. In the 
     latter case, the identifier includes exactly one variable (range) part, which is either a 
     number or a single letter that is surrounded by fixed parts at the left (prefix) or the 
     right (postfix).-->
<!ELEMENT SubPremiseNumber (#PCDATA)> 
<!-- TH in 12TH which is a floor number, NO. in NO.1, # in APT #12, etc.-->
<!ATTLIST SubPremiseNumber Indicator CDATA #IMPLIED>
<!-- No. occurs before 1 in No.1, or TH occurs after 12 in 12TH -->
<!ATTLIST SubPremiseNumber IndicatorOccurrence (Before|After) "Before">
<!-- 12TH occurs "before" FLOOR (a type of subpremise) in 12TH FLOOR --> 
<!ATTLIST SubPremiseNumber NumberTypeOccurrence (Before|After) "Before">
<!-- "/" in 12/14 Archer Street where 12 is sub-premise number and 14 is premise number -->
<!ATTLIST SubPremiseNumber PremiseNumberSeparator CDATA #IMPLIED>
<!-- Old number, new number, official, un-official -->
<!ATTLIST SubPremiseNumber NumberType CDATA #IMPLIED>
<!-- LOBBY, BASEMENT, GROUND FLOOR, etc... -->
<!ELEMENT SubPremiseLocation  (#PCDATA)>
<!ELEMENT SubPremiseNumberSuffix (#PCDATA)>
<!-- 12-A where 12 is number and A is suffix and "-" is the connector -->
<!ATTLIST SubPremiseNumberSuffix NumberSuffixConnector CDATA #IMPLIED> 
<!ELEMENT SubPremiseNumberPrefix (#PCDATA)>
<!-- A-12 where 12 is number and A is prefix and "-" is the connector -->
<!ATTLIST SubPremiseNumberSuffix NumberPrefixConnector CDATA #IMPLIED> 

<!-- Specification of the name of a post town. A post town is not the same as a locality. A post 
     town can encompass a collection of (small) localities. It can also be a subpart of a 
     locality. Possible values of NameType not limited to: Official, Unique, Abbreviation, 
     OldName, Synonym.-->
<!ELEMENT PostTownName (#PCDATA)> 
<!-- Possible values of NameType not limited to: Official, Unique, Abbreviation, OldName, 
     Synonym.-->
<!ATTLIST PostTownName NameType  CDATA #IMPLIED>  
<!-- GENERAL PO in MIAMI GENERAL PO -->
<!ELEMENT PostTownSuffix (#PCDATA)>

<!-- Specification of the number of a postbox -->
<!ELEMENT PostBoxNumber (#PCDATA)> 
<!ELEMENT PostBoxNumberPrefix (#PCDATA)>
<!-- A-12 where 12 is number and A is prefix and "-" is the connector -->
<!ATTLIST PostBoxNumberPrefix NumberPrefixConnector CDATA #IMPLIED> 
<!ELEMENT PostBoxNumberSuffix (#PCDATA)>
<!-- 12-A where 12 is number and A is suffix and "-" is the connector -->
<!ATTLIST PostBoxNumberSuffix NumberSuffixConnector CDATA #IMPLIED> 

<!-- Specification of the name of a large mail user. Possible values of NameType not limited to: 
     Official, Unique, Abbreviation, OldName, Synonym.-->
<!ELEMENT LargeMailUserName (#PCDATA)> 
<!-- Possible values of NameType not limited to: Official, Unique, Abbreviation, 
     OldName, Synonym.			-->
<!ATTLIST LargeMailUserName NameType  CDATA #IMPLIED>  

<!-- Specification of the name of a firm. Examples of a firm are companies and organizations. 
     Possible values of NameType not limited to: Official, Unique, Abbreviation, OldName, 
     Synonym.-->
<!ELEMENT FirmName (#PCDATA)> 
<!ATTLIST FirmName NameType  CDATA #IMPLIED> 
 
<!-- Specification of the name of a department. Possible NameType values not limited to: 
     Official, Unique, Abbreviation, OldName, Synonym.-->
<!ELEMENT DepartmentName (#PCDATA)> 
<!-- Possible values of NameType not limited to: Official, Unique, Abbreviation, OldName, 
     Synonym.-->
<!ATTLIST DepartmentName NameType  CDATA #IMPLIED>  

<!-- Specification of the name of a country. -->
<!ELEMENT CountryName (#PCDATA)> 
<!-- Possible values of NameType not limited to: Official, Unique, Abbreviation, 
     OldName, Synonym.			-->
<!ATTLIST  CountryName NameType CDATA #IMPLIED>
<!-- Country code scheme possible values, but not limited to: iso.3166-2, iso.3166-3 for 
     two- and three-character country codes.-->
<!ELEMENT CountryNameCode (#PCDATA)> 
<!--Possible values, but not limited to: iso.3166-2, iso.3166-3 for country code schemes-->
<!ATTLIST CountryNameCode Scheme CDATA  #IMPLIED>

<!-- Specification of the identification number of a large mail user. An example are the Cedex 
     codes in France.-->
<!ELEMENT LargeMailUserIdentifier (#PCDATA)> 
<!ATTLIST LargeMailUserIdentifier Type CDATA #IMPLIED>
<!-- Building 429 in which Building is the Indicator -->
<!ATTLIST LargeMailUserIdentifier Indicator CDATA #IMPLIED>

<!-- PostalCode is the container element for either simple or complex (extended) postal 
     codes. -->
<!ELEMENT PostalCode (PostalCodeNumber, PostTown?, SortingCode?, PostalCodeNumberExtension?)>
<!-- Area Code, Postcode, etc. -->
<!ATTLIST PostalCode Type CDATA #IMPLIED>

<!ELEMENT DependentLocalityName (#PCDATA)> 
<!-- Possible values of NameType not limited to: Official, Unique, Abbreviation, 
     OldName, Vanity, Synonym.			-->
<!ATTLIST DependentLocalityName NameType  CDATA #IMPLIED>  

<!-- some areas are numbered. Eg. SECTOR 5 in A Suburb as in India or SOI SUKUMVIT 10 as
     in Thailand -->
<!ELEMENT DependentLocalityNumber (#PCDATA)>
<!-- SECTOR occurs before 5 in SECTOR 5-->
<!ATTLIST DependentLocalityNumber TypeNumberOccurrence (Before|After) "Before"> 


Prepared by Robin Cover for The XML Cover Pages archive.


Globe Image

Document URL: http://xml.coverpages.org/XNAL-DTDs-display.html