W3C home > Mailing lists > Public > xmlschema-dev@w3.org > March 2008

Re: Extensible Enumerations Technique

From: G. Ken Holman <gkholman@CraneSoftwrights.com>
Date: Tue, 11 Mar 2008 13:30:34 -0400
Message-Id: <7.0.1.0.2.20080311132546.027ad4c0@CraneSoftwrights.com>
To: xmlschema-dev@w3.org

Note that the OASIS Code List Representation Technical Committee is 
offering a layered technique to extended and restricted code lists, 
complete with list-level, code-level and instance-level meta data 
specification and matching:

   genericode 1.0 - lists of codes with list-level and code-level meta data

      http://docs.oasis-open.org/codelist/genericode

   context/value association using genericode 0.3 draft 1
                  - contextual code list usage and instance-level meta data

      http://www.oasis-open.org/committees/document.php?document_id=27454

I hope this is considered helpful.

. . . . . . . . . . . Ken

At 2008-03-11 10:11 -0700, Guillaume Lebleu wrote:
>I know techniques for extensible enumerations in W3C XML Schema 1.0 
>have been discussed on this list before (extensively), but I didn't 
>find the exact technique below, so I thought I'd post it here to get 
>feedback/comment.
>
>Enumeration types (say, Enumerated_Type) are defined as xs:union 
>between a Enumerated_Type_Base and Enumerated_Type_Ext in a base XSD file:
>
><xs:simpleType name="Enumerated_Type">
>   <xs:union memberTypes="Enumerated_Type_Base Enumerated_Type_Ext"/>
></xs:simpleType>
>
><xs:simpleType name="Enumerated_Type_Base">
>   <xs:restriction base="xs:NMTOKEN">
>      <xs:enumeration value="ExistingValue"/>
>      ...
>   </xs:restriction>
></xs:simpleType>
>
><xs:simpleType name="Enumerated_Type_Ext">
>   <xs:restriction base="xs:NMTOKEN"/>
></xs:simpleType>
>
>In the xs:redefine section of a separate extension XSD file 
>redefines the Enumerated_Type_Ext:
>
><xs:simpleType name="Enumerated_Type_Ext">
>   <xs:restriction base="Enumerated_Type_Ext">
>      <xs:enumeration value="ExtendedValue"/>
>   </xs:restriction>
></xs:simpleType>
>
>XSLT stylesheets are then optionally used to remove xs:redefine and 
>xs:union given that many tools (particularly XML/OO language 
>binders) do not support these constructs.
>
>Thanks in advance,
>
>Guillaume


--
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds:     publicly-available developer resources and training
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/x/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/x/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal
Received on Tuesday, 11 March 2008 17:31:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:15:02 GMT