GarryJolleyRogers - Wed Nov 25 2009 - Version 1.4
Parent topic: BDI.SDD_.SchemaDiscussion
Many UBIF features are controlled through enumerated values (i.e. a controlled vocabulary).
Enumerated values are used in two cases: 1 To create a main/subclass hierarchy. Example: all Representation/Label elements are structurally identical, but we desire to further specify detailed semantics of labels. For this purpose, the Label element has a role attribute, with controlled values like Full, Short, Abbrev, Sort for the default full label, short and abbreviated equivalents, and a label preferred for sorting purposes. Note that although the use of role is related to value-based weak typing, in the context used in UBIF it is used only when the subclass have identical syntax and structure to the superclasses. 2 To express machine-readable semantics for application interoperability. Example: Applications need to know what the status value for missing data is, or which statistical measure has been used.
In version 1.0 and 1.1 of UBIF (and BDI.SDD_) we use fully constrained schema enumerations. It is not possible to add further values. However, this is intended to be a preliminary restriction to ensure that a community consensus about relevant is reached. Ultimately, these values should be extensible through URIs.
TEI defines three kinds of value lists:
In future versions we intend to make most, or perhaps all enumerations of the kind "semi". Applications builders are asked to write their code in consideration of this.
-- Main.GregorHagedorn - 10 May 2006