Professional Documents
Culture Documents
CIQ TC - Name, Address and Party Specification V3.0
CIQ TC - Name, Address and Party Specification V3.0
1
27xAL-Australia.XML
28 Address examples come from the Standard AS /NZ 4819:2003
29xAL-international.xml
30 Address examples come from a variety of sources including Universal Postal Union
31 website
33 TABLE OF CONTENTS
34
351 SCHEMA DESIGN APPROACH IN VERSION 3.0...................................................................5
36 1.1 VERSION 3.0 SCHEMA FILES............................................................................................................5
37 1.2 FORMAL DESIGN REQUIREMENTS FOR VERSION 3.0.........................................................................5
38 1.3 MAJOR ENTITIES...............................................................................................................................6
39 1.4 COMMON APPROACHES....................................................................................................................6
40 1.5 NAMESPACES....................................................................................................................................6
41 1.6 OTHER SPECIFICATIONS....................................................................................................................6
422 ENTITY “NAME”...........................................................................................................................7
43 2.1 SEMANTICS OF “NAME”...................................................................................................................7
44 2.2 DATA TYPES.....................................................................................................................................9
45 2.3 ENUMERATIONS................................................................................................................................9
46 2.4 ORDER OF ELEMENTS AND PRESENTATION.......................................................................................9
47 2.5 DATA MAPPING..............................................................................................................................10
48 2.6 DATA QUALITY..............................................................................................................................11
49 2.6.1 Data Quality Verification and trust........................................................................................12
50 2.6.2 Data Validation......................................................................................................................12
51 2.7 EXTENSIBILITY...............................................................................................................................12
52 2.7.1 Practical Applications............................................................................................................12
53 2.8 LINKING AND REFERENCING..........................................................................................................13
54 2.9 SCHEMA CUSTOMIZATION GUIDELINES..........................................................................................13
55 2.9.1 Namespace..............................................................................................................................13
56 2.9.2 Reducing the structure............................................................................................................13
57 2.9.3 Customizing the enumerations................................................................................................14
58 2.9.4 Implications............................................................................................................................15
593 ENTITY “ADDRESS”...................................................................................................................16
60 3.1 SEMANTICS OF “ADDRESS”............................................................................................................16
61 3.2 GEO-COORDINATES........................................................................................................................17
62 3.3 DATA TYPES...................................................................................................................................18
63 3.4 ENUMERATIONS..............................................................................................................................18
64 3.5 ORDER OF ELEMENTS AND PRESENTATION.....................................................................................18
65 3.6 DATA MAPPING..............................................................................................................................18
66 3.7 DATA QUALITY...............................................................................................................................19
67 3.8 EXTENSIBILITY...............................................................................................................................19
68 3.9 LINKING AND REFERENCING...........................................................................................................19
69 3.10 SCHEMA CUSTOMIZATION............................................................................................................19
704 COMBINATION OF “NAME” AND “ADDRESS”..................................................................20
71 4.1 USE OF ELEMENT XNAL:RECORD...................................................................................................20
72 4.2 USE OF ELEMENT XNAL:POSTALLABEL..........................................................................................20
735 ENTITY “PARTY”.......................................................................................................................22
74 5.1 DATA TYPES...................................................................................................................................24
75 5.2 ENUMERATIONS..............................................................................................................................25
76 5.3 ORDER OF ELEMENTS AND PRESENTATION.....................................................................................25
77 5.4 DATA MAPPING..............................................................................................................................25
78 5.5 DATA QUALITY...............................................................................................................................25
79 5.6 EXTENSIBILITY...............................................................................................................................25
80 5.7 LINKING AND REFERENCING...........................................................................................................25
81 5.8 SCHEMA CUSTOMIZATION..............................................................................................................25
11
108 Implementation complexity should be proportional the complexity of the subset of data
109 structures used by the implementer
1241.5 Namespaces
137
138
139The structure allows for different semantic levels based on the following paradigm:
140 A simple data structure with minimum semantics should fit into the schema with
141 minimal effort
142 A complex data structure should fit into the schema without loss of any semantic
143 information
144Example 1 – no semantics
145An imaginary database does not differentiate between person and organisation name with
146one field allocated for storing name information. This database can be mapped to xNL as
147follows:
148 <n:PartyName>
151In this example, information related to party name, resides in NameLine elements. It has no
152semantic information that may indicate what kind of name it is and what the individual name
153elements are (i.e., the data has not been parsed to identify the different components of the
154name). All is known is that it is a name of some party, be it a person or an organisation.
155
156Example 2 – minimal semantics
157The next complexity level is when a database differentiates between person and organisation
158name. In this case, names can be placed in their respective places inside the structure.
159Person name:
160 <n:PartyName>
161 <n:PersonName>
162 <n:NameLine>Mr Jeremy Apatuta Johnson</n:NameLine>
163 </n:PersonName>
164 </n:PartyName>
165This example shows that name information belongs to an individual, but the semantics of
166name elements (e.g. What is “Mr”, “Jeremy”, etc.) are unknown.
167
168Organisation name:
169 <n:PartyName>
170 <n:OrganisationName>
171 <n:NameElement>Khandallah Laundering Ltd.</n:NameElement>
172 </n:OrganisationName>
173 </n:PartyName>
174This example is similar to the previous one, except that the name belongs to an organisation.
175
176Example 3 – full semantics
177The next complexity level is when a database differentiates between person and organisation
178name and also differentiates between different name elements.
179 <n:PartyName>
180 <n:PersonName>
181 <n:NameElement Abbreviation="true" ElementType="Title">Mr</n:NameElement>
182 <n:NameElement ElementType="FirstName">Jeremy</n:NameElement>
183 <n:NameElement ElementType="MiddleName">Apatuta</n:NameElement>
184 <n:NameElement ElementType="LastName">Johnson</n:NameElement>
185 <n:NameElement ElementType="GenerationIdentifier">III</n:NameElement>
186 <n:NameElement ElementType="GenerationIdentifier">Junior</n:NameElement>
187 <n:NameElement ElementType="Title">PhD</n:NameElement>
188 </n:PersonName>
189 </n:PartyName>
190This example introduces ElementType attribute that indicates the exact meaning of the name
191element. This is an additional level of semantics that is supported through enumerated
192values. Technically, the enumerations sit in a separate schema “include” (xNL-types.xsd).
193An example of such enumeration is a list of name element types for a person name.
194 <xs:simpleType name="PersonNameElementsEnumeration">
195 <xs:restriction base="xs:string">
196 <xs:enumeration value="PrecedingTitle"/>
197 <xs:enumeration value="Title"/>
198 <xs:enumeration value="FirstName"/>
199 <xs:enumeration value="MiddleName"/>
200 <xs:enumeration value="LastName"/>
201 <xs:enumeration value="OtherName"/>
206This and other enumerations are built on the common sense and a culture-specific view of the
207subject area (in this case Anglo-American), rather than adopted from a specific application.
2142.3 Enumerations
215The Name, Address and Party schemas come with enumerations designed to satisfy some
216common usage scenario, but there is always a possibility that a specific application requires
217some other enumerated values. It is acceptable for specific applications to provide their own
218enumerated values, but all participants need to be aware of what they are and that they are
219different from the ones provided by this specification.
220Example – point-to-point
221 Assume that participants of some data exchange agreed that for their purpose only a
222 very simple name structure is required. One of the options for them is to modify
223 PersonNameElementsEnumeration simple type in xNL-types.xsd file with the following
224 values:
253 <n:PartyName>
254 <n:PersonName>
255 <n:NameElement>Mr</n:NameElement>
256 <n:NameElement>Jeremy</n:NameElement>
257 <n:NameElement>Apatuta</n:NameElement>
258 <n:NameElement>Johnson</n:NameElement>
259 <n:NameElement>PhD</n:NameElement>
260 </n:PersonName>
261 </n:PartyName>
262 and restored back to Mr Jeremy Apatuta Johnson PhD during data formatting exercise.
263 Any other order of NameElement tags in the XML fragment could lead to an incorrect
264 presentation of the name.
280
281
282Source database
285 <n:PersonName>
286 <n:NameElement n:ElementType="FirstName">John</n:NameElement>
287 <n:NameElement n:ElementType="MiddleName">Anthony</n:NameElement>
288 <n:NameElement n:ElementType="LastName">Jackson</n:NameElement>
289 </n:PersonName>
FULLNAME
John Anthony Jackson
292
293This type of mapping does not present a major challenge as it is a direct mapping from source
294to xNL and then a concatenation of values at the end.
295
296
297Example – simple-to-complex mapping
298The source database has the name in a simple unparsed form which can be easily mapped to
299xNL, but cannot be directly mapped to the target database as in the following diagram:
300
301
302
303
304Source database
FULLNAME
John Anthony Jackson
305
306xNL
307 <n:PersonName>
308 <n:NameElement>John Anthony Jackson</n:NameElement>
309 </n:PersonName>
310
311At this point, the name resolution software splits John Anthony Jackson into a form
312acceptable by the target database.
313
314Target database
315
NAME MIDDLENAME SURNAME
John Anthony Jackson
316
328 In this example John Anthony Jackson is known to be the true and correct value
329 asserted by the sender of this data.
330
331This feature allows the recipient of data to get an understanding of the quality of data they are
332receiving and assists them to take appropriate measures to handle the data according to its
333quality.
3412.7 Extensibility
342All elements in Name, Address and Party namespaces are extensible allowing for any
343number of attributes from a non-target namespace to be added.
344All elements share the same declaration:
345 <xs:anyAttribute namespace="##other" processContents="lax"/>
360 Attribute b:PartyID="123445" is not in xNL namespace and acts as an identifier for
361 system A. When system B returns a response or sends another message and needs to
362 include information about the same party, it may use the same identifier as in the
363 following example:
364
366 The response could include the original payload with the name details.
367Additional metadata
368 Sometime it is required to include some additional metadata that is specific to a
369 particular system or application. Consider these examples:
372
373 <n:PartyName xmlns:b="urn:acme.org:corporate ">
374 <n:PersonName>
375 <n:NameElement b:Corrected="true">John Johnson</n:NameElement>
376 </n:PersonName>
377 </n:PartyName>
378
395This example presumes that the recipient of this XML fragment has access to resource
396http://example.org/party and that the resource returns PartyName element as an XML
397fragment of text/xml MIME type.
398Usage of xLink attributes may slightly differ from the original xLink specification. See CIQ TC
399Party Relationships Specification for more information on using xLink with xNL. The
400specification is available at http://www.w3.org/TR/xlink/.
401Element PartyName can be either of type locator or resource in relation to xLink.
4072.9.1 Namespace
408The namespace identifier should be changed if it is possible for an XML fragment valid under
409the altered schema to be invalid under the original schema.
413
414This structure, although somewhat limited, still allows for most names to be represented, with
415exception for
416 additional names (KnownAs), e.g. maiden name as part of PartyName
417 organisation subdivision hierarchy (SubdivisionName), e.g. faculty / school /
418 department
419Any further reduction in structure may lead to loss of flexibility and expressive power of the
420schema.
421It is not recommended to remove any attributes from the schema as they can be easily
422ignored during the processing.
441This level of flexibility allows some customization of the schema through changing the
442enumerations only without changing its basic structure. It is important to ensure that all
443schema users use the same enumerations.
4442.9.4 Implications
445Any changes to the schemas are likely to break the compatibility one way or another.
446It may be possible that an XML fragment created for the original schema is invalid for the
447altered schema or vice versa. This issue needs to be considered before making any changes
448to the schema and breaking the compatibility.
456
457An address can be structured according to the complexity level of its source.
458Example – free text
459 Suppose that the source database does not differentiate between different address
460 elements and treats them as Address Line 1, Address Line 2, Address Line “N”, then
461 the address information can be placed inside the free text container.
462 <a:Address>
463 <a:FreeTextAddress>
464 <a:AddressLine>Substation C</a:AddressLine>
465 <a:AddressLine >17 James Street</a:AddressLine >
466 <a:AddressLine>SPRINGVALE VIC 3171</a:AddressLine>
467 </a:FreeTextAddress>
468 </a:Address>
469 It is up to the receiving application to parse this address and map to the target data
470 structure. It is possibly that some sort of parsing software or human involvement will
471 be required to accomplish the task.
476 <a:Address>
477 <a:AdministrativeArea>
478 <a:Name>WA</a:Name>
479 </a:AdministrativeArea>
480 <a:Locality>
481 <a:Name>OCEAN REEF</a:Name>
482 </a:Locality>
483 <a:Thoroughfare>
484 <a:NameElement>16 Patterson Street</a:NameElement>
485 </a:Thoroughfare>
486 </a:Address>
487 In this example, the free text information resides in containers that provide some
488 semantic information on the content. E.g. State -> AdministrativeArea, Suburb ->
489 Locality, Street -> Thoroughfare. At the same time, the Thoroughfare element
490 contains street name and number in one line as free text, which may not be detailed
491 enough for data structures where street name and number are separate fields.
492
493Example – fully structured address
494 The following example illustrates an address structure that was decomposed into its
495 atomic elements:
496 <a:Address>
497 <a:AdministrativeArea>
498 <a:Name a:Abbreviation="true" a:NameType="state">VIC</a:Name>
499 </a:AdministrativeArea>
500 <a:Locality>
501 <a:Name>CLAYTON</a:Name>
502 <a:SubLocality>
503 <a:Name>Technology Park</a:Name>
504 </a:SubLocality>
505 </a:Locality>
506 <a:Thoroughfare>
507 <a:NameElement>Dandenong Road</a:NameElement>
508 <a:Number a:EnumeratedType="RangeFrom">200</a:Number>
509 <a:Number a:EnumeratedType="Separator">-</a:Number>
510 <a:Number a:EnumeratedType="RangeTo">350</a:Number>
511 <a:SubThoroughfare>
512 <a:NameElement>Fifth Avenue</a:NameElement>
513 </a:SubThoroughfare>
514 </a:Thoroughfare>
515 <a:Premise>
516 <a:NameElement>Toshiba Building</a:NameElement>
517 </a:Premise>
518 <a:PostalCode>
519 <a:Number>3168</a:Number>
520 </a:PostalCode>
521 </a:Address>
5223.2 Geo-coordinates
523Geo-coordinates can be provided by using Geography Markup Language (GML), an industry
524standard (http://www.opengis.net).
525The reason for using some complex constructs from GML is due to the ambiguity of different
526coordinate systems, units and measurements. Also, GML incorporates a huge body of
527knowledge and expertise in geographical systems interoperability that can be reused for our
528purpose rather than re-inventing what has already been developed.
529The content of a:GML must comply with the following requirements:
5443.4 Enumerations
545Use of enumerations is identical to use of enumerations for entity “Name”. Refer to section
5462.3 Enumerations for more information.
547Enumerations used in xAL reside in an “include” file xAL-types.xsd.
559 <a:Address>
560 </a:Thoroughfare>
561 </a:Locality>
562 </a:AdministrativeArea>
563 </a:PostalCode>
564 </a:Country>
565 </a:Address>
566Some other elements can also appear in any order to preserve the original order.
581 <a:Address>
582 <a:FreeTextAddress>
583 <a:AddressLine>23 Archer Street</a:AddressLine>
584 <a:AddressLine>Chatswood, NSW 2067</a:AddressLine>
585 <a:AddressLine>Australia</a:AddressLine>
586 </a:FreeTextAddress>
587 </a:Address>
5993.8 Extensibility
600All element in Address namespace are extensible as described in section 2.7 Extensibility.
616
617The relationship type is application specific, but in general it is assumed that the people
618named in the xNL part somehow reside at the addresses specified in the xAL part. Use
619attributes from other namespace to specify the type of relationships and roles of names and
620addresses.
621Example
622 Mr H G Guy, 9 Uxbridge Street, Redwood, Christchurch 8005
623 <xnal:Record>
624 <n:PartyName>
625 <n:NameLine>Mr H G Guy</n:NameLine>
626 </n:PartyName>
627 <a:Address>
628 <a:Locality>
629 <a:Name>Christchurch</a:Name>
630 <a:SubLocality>
631 <a:Name>Redwood</a:Name>
632 </a:SubLocality>
633 </a:Locality>
634 <a:Thoroughfare>
635 <a:Number>9</a:Number>
636 <a:NameElement>Uxbridge Street</a:NameElement>
637 </a:Thoroughfare>
638 <a:PostCode>
639 <a:Identifier>8005</a:Identifier>
640 </a:PostCode>
641 </a:Address>
642 </xnal:Record>
659 <xnal:PostalLabel>
660 <xnal:Addressee>
661 <xnal:Designation>Attention: Mr S Mart</xnal:Designation>
662 <n:PartyName>
663 <n:NameLine>Name Plate Engravers</n:NameLine>
664 </n:PartyName>
665 </xnal:Addressee>
666 <a:Address>
667 <a:Locality>
668 <a:Name>Nelson</a:Name>
669 <a:SubLocality>
670 <a:Name>Atawhai</a:Name>
671 </a:SubLocality>
672 </a:Locality>
673 <a:Thoroughfare>
674 <a:NameElement>Atawhai Drive</a:NameElement>
675 <a:Number>855</a:Number>
676 </a:Thoroughfare>
677 <a:PostCode>
678 <a:Identifier>4001</a:Identifier>
679 </a:PostCode>
680 </a:Address>
681 </xnal:PostalLabel>
682
683
689
690
691The schema is separated in 3 parts: shared elements (all children of Party before
692OrganisationInfo and PersonInfo elements), OrganisationInfo and PersonInfo.
693The shared elements apply to organisation as well as person.
694Name of the party reuses PartyNameType construct from xNL namespace as illustrated in the
695following diagram:
700
701
702The design paradigm for this schema is similar to those of Name and Address entities.
703Likewise, it is possible to combine information at different detail and semantic levels.
704The following example illustrates use of some of party constructs
705
723
724Example – birth details
725 <p:BirthInfo p:BirthDateTime="1977-01-22T00:00:00"/>
726
727Example – driver license
728 <p:Document p:ValidTo="2004-04-22T00:00:00">
729 <p:IssuePlace>
730 <a:Country>
731 <a:Name>Australia</a:Name>
732 </a:Country>
733 <a:AdministrativeArea>
734 <a:Name>NSW</a:Name>
735 </a:AdministrativeArea>
736 </p:IssuePlace>
737 <p:DocumentElement p:ElementType="DocumentID">74183768C</p:DocumentElement>
738 <p:DocumentElement p:ElementType="DocumentType">Driver License</p:DocumentElement>
739 <p:DocumentElement p:ElementType="Priveledge">Silver</p:DocumentElement>
740 <p:DocumentElement p:ElementType="Restriction">Car</p:DocumentElement>
741 </p:Document>
742
743Example – contact phone number
744 <p:ContactNumber p:MediaType="Telephone" p:ContactNature="Business Line"
745 p:ContactHours="9:00AM - 5:00PM">
746 <p:ContactNumberElement p:ElementType="CountryCode">61</p:ContactNumberElement>
747 <p:ContactNumberElement p:ElementType="AreaCode">2</p:ContactNumberElement>
748 <p:ContactNumberElement p:ElementType="LocalNumber">94338765</p:ContactNumberElement>
749 </p:ContactNumber>
750
7735.6 Extensibility
774All element in Party namespaces are extensible as described in section 2.7 Extensibility.
784This example presumes that the recipient of this XML fragment has access to resource
785“http://example.org/party” (possibly over HTTP/GET) and that the resource returns as
786PartyName element as an XML fragment of text/xml MIME type.
7966.2 Examples
797Several examples of instance XML documents for name, address and party schemas are
798provided as XML files. The examples are informative and demonstrate the application of this
799Technical Specification.
800The example files and their content are being constantly improved and updated on no
801particular schedule.