4.2 DTD, Inconsistent treatment of LimitOrder

Imported from previous forum

[ original email was from David Pattinson - dpattinson@thoughtworks.com ]
I noticed that the LimitOrder element of OrderType doesn’t have any attributes specified. This is in contrast to every other element of OrderType, all of which specify a FixTag attribute of “40” and some corresponding allowable set of values.
Is this deliberate? It makes processing via xslt slightly more difficult. The fixml2fix utility posted in the working group archive appears to break on processing a LimitOrder, producing a tag <SOH>“40=”<SOH>

If this is in fact an error, is the DTD likely to be amended or should I modify my xslt to handle the exceptional case?

Regards, David.

Sample taken from 4.2v1.1 DTD (same in this respect as 4.2v1.0):

<!ELEMENT FunariOrder (Price)>

<!ATTLIST FunariOrder SDValue CDATA #FIXED 'Funari’
Value CDATA #FIXED 'I’
DataType CDATA #FIXED 'char’
FIXTag CDATA #FIXED ‘40’ >
<!ELEMENT LimitOrder (Price)>

<!ELEMENT StopOrder (StopPx)>

<!ATTLIST StopOrder FIXTag CDATA #FIXED '40’
DataType CDATA #FIXED 'char’
Value CDATA #FIXED '3’
SDValue CDATA #FIXED ‘Stop’ >

[ original email was from John Goeller - jgoeller@lehman.com ]
Download the later version of the DTD version 1.2. We fixed it.

> I noticed that the LimitOrder element of OrderType doesn’t have any attributes specified. This is in contrast to every other element of OrderType, all of which specify a FixTag attribute of “40” and some corresponding allowable set of values.
> Is this deliberate? It makes processing via xslt slightly more difficult. The fixml2fix utility posted in the working group archive appears to break on processing a LimitOrder, producing a tag <SOH>“40=”<SOH>
>
> If this is in fact an error, is the DTD likely to be amended or should I modify my xslt to handle the exceptional case?
>
> Regards, David.
>
> Sample taken from 4.2v1.1 DTD (same in this respect as 4.2v1.0):
>
> <!ELEMENT FunariOrder (Price)>
>
> <!ATTLIST FunariOrder SDValue CDATA #FIXED ‘Funari’
> Value CDATA #FIXED ‘I’
> DataType CDATA #FIXED ‘char’
> FIXTag CDATA #FIXED ‘40’ >
> <!ELEMENT LimitOrder (Price)>
>
> <!ELEMENT StopOrder (StopPx)>
>
> <!ATTLIST StopOrder FIXTag CDATA #FIXED ‘40’
> DataType CDATA #FIXED ‘char’
> Value CDATA #FIXED ‘3’
> SDValue CDATA #FIXED ‘Stop’ >
>