GregorHagedorn - Sun Sep 12 2004 - Version 1.1
Parent topic: AgentRoleEnum
The agent role enumerations are structured into three fundamental enumerations:
Unions of these are defined as:
This can be modeled as:
or as
However, neither model was accepted by Java Xerxes 2.6.2 (problem detected by detected by Jacob Asiedu). The error message was (astonishingly in both cases!) that
As a workaround, starting with UBIF 1.0 beta 19, the
<xs:simpleType name="AgentCreatorContribRoleEnum">
<xs:union memberTypes="AgentCreatorRoleEnum AgentContributorRoleEnum"/>
</xs:simpleType>
New definition (workaround):
<xs:simpleType name="AgentCreatorContribRoleEnum">
<xs:restriction base="AgentRoleEnum">
<xs:enumeration value="aut"/>
<xs:enumeration value="edt"/>
<xs:enumeration value="cre"/>
<xs:enumeration value="ill"/>
<xs:enumeration value="pht"/>
<xs:enumeration value="ctb"/>
<xs:enumeration value="trl"/>
<xs:enumeration value="trc"/>
<xs:enumeration value="clb"/>
<xs:enumeration value="col"/>
<xs:enumeration value="crp"/>
<xs:enumeration value="prg"/>
<xs:enumeration value="rth"/>
<xs:enumeration value="rtm"/>
<xs:enumeration value="res"/>
<xs:enumeration value="sad"/>
<xs:enumeration value="pfr"/>
<xs:enumeration value="mrk"/>
<xs:enumeration value="cmm"/>
<xs:enumeration value="rev"/>
<xs:enumeration value="csl"/>
</xs:restriction>
</xs:simpleType>
Note that the workaround does NOT change the enumeration lists and semantics and it should be possible to change to the more straightforward model later, without changing existing software.
See the attached zip file for example files (xml instance and xsd schmemata) in which the problem has been isolated.
-- Gregor Hagedorn - 12 Sept 2004