[This message was posted by Greg Malatestinic of Jordan & Jordan 
<[email protected]> to the "General Q/A" discussion forum at 
http://fixprotocol.org/discuss/22. You can reply to it on-line at 
http://fixprotocol.org/discuss/read/51a2badf - PLEASE DO NOT REPLY BY MAIL.]

EnumPair anomaly in Core XSD:

EnumPair_t defines enumID as a string with a pattern (must start with a letter).
However, ListItem_t in Layout defines enumID as an unconstrained string.

But - these enumIDs are supposed to line up, to enable mapping from uiRep in 
the Control, via enumID, to the wireValue in the parameter definition.

As such, it is possible to define a ListItem_t.enumID that cannot match an 
EnumPair_t.enumID.

            <xs:attribute name="enumID" use="required">
                  <xs:annotation>
                        <xs:documentation>The enumeration name that uniquely 
identifies a particular legal value of the parameter.</xs:documentation>
                  </xs:annotation>
                  <xs:simpleType>
                        <xs:restriction base="xs:string">
                              <xs:pattern value="[A-Za-z][A-za-z0-9_]{0,255}"/>
                        </xs:restriction>
                  </xs:simpleType>
            </xs:attribute>

Propose - enforce the same pattern on ListItem_t.enumID.

If too late to change the XSD - add a note that implementors of ATDL editors 
that ListItem_t.enumID should be constrained by pattern to: 
                              <xs:pattern value="[A-Za-z][A-za-z0-9_]{0,255}"/>


[You can unsubscribe from this discussion group by sending a message to 
mailto:[email protected]]

-- 
You received this message because you are subscribed to the Google Groups 
"Financial Information eXchange" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fix-protocol?hl=en.

Reply via email to