AgentRoleEnumXerces262Problem

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 AgentCreatorContributorRole is not a valid restriction of the AgentRole.

As a workaround, starting with UBIF 1.0 beta 19, the AgentCreatorContributorRoleEnum was therefore modeled as an explicit restriction of the AgentRoleEnum itself, which is way more cumbersome and unintuitive than the original model using simple unions. Original definition:


  <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