OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

rights-specification message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: [rights-specification] Re: [rights] CR on ISO Codes


You should take a look at the UBL position paper on code lists, which very thoroughly analyzes  6 different models for encoding code lists.


The methods for handling code lists in schemas are as follows:
·       The enumerated list method, using the classic method of statically enumerating the valid codes corresponding to a code list in an XSD string-based type internally in UBL
·       The QName in content method, involving the use of XML Namespaces-based “qualified names” in the content of elements, where the namespace URI is associated with the supplementary components
·       The instance extension method, where a code is provided along with a cross-reference to somewhere in the same instance to the necessary supplementary information
·       The single type method, involving a single XSD type that sets up attributes for supplying the supplementary components directly on all elements containing codes
·       The multiple UBL types method, where each element dedicated to containing a code from a particular code list is bound to a unique UBL type, which external organizations must derive from
·       The multiple namespaced types method, where each element dedicated to containing a code from a particular code list is bound to a unique type that is qualified with a (potentially external) namespace



http://www.oasis-open.org/committees/ubl/ndrsc/pos/p-maler-codelists-09.doc

here is a schema template for the recommended approach, (the last one in the list above) which shows a very general way to handle code lists  -- it has the semantic clarity of the classic approach of enumerated values but is much better from the perspective of reusing externally defined schemas.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
  targetNamespace="{namespace for ISO 3166 code list module}"
  xmlns=”http://www.w3.org/2001/XMLSchema”
  xmlns:iso3166="{namespace for ISO 3166 code list module}"
  xmlns:xs=”http://www.w3.org/2001/XMLSchema”
  elementFormDefault="unqualified"
  attributeFormDefault="unqualified">
  <xs:simpleType name=”iso3166:CodeContentType”>
    <xs:extension base=”xs:token”>
      <xs:enumeration value=”DE”/>
      <xs:enumeration value=”FR”/>
      <xs:enumeration value=”US”/>
      . . .
    </xs:extension>
  </xs:simpleType>

  <xs:complexType name=”iso3166:CodeType”>
    <simpleContent>
      <xs:extension base="iso3166:CodeContentType">
        <xs:attribute name="ID"
          type="xs:token" fixed=”ISO 3166 Locale Code”/>
        <xs:attribute name="agencyID"
          type="xs:token" fixed=”ISO”/>
        <xs:attribute name="versionID"
          type="string" fixed=”1.0”/>
    </simpleContent>
  </xs:complexType>
</xs:schema>

--
Robert J. Glushko, Ph.D.
School of Information Management & Systems
102 South Hall
University of California, Berkeley CA 94720-4600



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC