-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: wd32
-
Fix Version/s: wd33
-
Component/s: None
-
Labels:None
-
Environment:
Toby Considine
-
Proposal:
In the existing Schemas, almost are enumeration are extensible. They follow the general form
<xs:element name="optReason" type="eitc:OptReasonType"/>
<xs:simpleType name="OptReasonType">
<xs:annotation>
<xs:documentation>Reason for Opting.</xs:documentation>
</xs:annotation>
<xs:union memberTypes="eitc:OptReasonEnumeratedType eitc:EiExtensionTokenType"/>
</xs:simpleType>
<xs:simpleType name="OptReasonEnumeratedType">
<xs:annotation>
<xs:documentation>Enumerated Reasons for Opting.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="economic"/>
<xs:enumeration value="emergency"/>
<xs:enumeration value="mustRun"/>
<xs:enumeration value="notParticipating"/>
<xs:enumeration value="outageRunStatus"/>
<xs:enumeration value="overrideStatus"/>
<xs:enumeration value="participating"/>
</xs:restriction>
</xs:simpleType>
In using the most common tool sets (which seem based on either SAX or MSXML), this requires extra work to get to the enumerated values and increases not only the difficulty of code, but the complexity of code. Add an element instantiating each to make coding simpler.
In the example above, this would be:
<xs:element name="optReasonEnumerated" type="eitc:OptReasonEnumeratedType"/>
This does not change the messages or the information content, but makes coding easier. It is also consistent with NIEM expectations, perhaps for the same reason.