Imported from previous forum
The FIXML-4-4 schema does not seem to properly describe fields of type MultipleValueString. These are always defined as a simpleType with an enumeration of all possible values.
However, this means that a FIXML document that uses a MultipleValueString (e.g. ExecInst=“1 5 A e”) does not validate, because the simpleType’s enumeration only allows a single value.
I’m using a schema tool (xmlbeans in my case) to generate code from the schema. Problem is that this generated code does not accept a true MultipleValueString. What would you guys suggest? Should I modify the schema document and change each MultipleValueString into a type that does support space-separated values?
I’ve tested with ExecInst (tag 18), which lead to the following definition of ExecInst_enum_t:
<xs:simpleType name=“ExecInst_enum_t”>
<xs:restriction base=“xs:string”>
<xs:pattern value=’\d[A-Z][a-e]*’/>
</xs:restriction>
</xs:simpleType>
Is there anyone else using automated schema tools, or schema validation and running into this problem?
regards,
Erik van Zijst
I’m afraid the xml tags from my example got stripped. Let’s try again:
<xs:simpleType name=“ExecInst_enum_t”>
<xs:restriction base=“xs:string”>
<xs:pattern value=‘\d[A-Z][a-e]*’/>
</xs:restriction>
</xs:simpleType>
The FIXML-4-4 schema does not seem to properly describe fields of type
MultipleValueString. These are always defined as a simpleType with an
enumeration of all possible values.However, this means that a FIXML document that uses a
MultipleValueString (e.g. ExecInst=“1 5 A e”) does not validate, because
the simpleType’s enumeration only allows a single value.I’m using a schema tool (xmlbeans in my case) to generate code from the
schema. Problem is that this generated code does not accept a true
MultipleValueString. What would you guys suggest? Should I modify the
schema document and change each MultipleValueString into a type that
does support space-separated values?I’ve tested with ExecInst (tag 18), which lead to the following
definition of ExecInst_enum_t:<xs:simpleType name=“ExecInst_enum_t”>
<xt:restriction base=“xs:string”>
<xu:pattern value=‘\d[A-Z][a-e]*’/>
</xs:restriction> </xs:simpleType>Is there anyone else using automated schema tools, or schema validation
and running into this problem?regards, Erik van Zijst
[ original email was from Jim Northey - jnorthey@jandj.com ]
Erik,
You have identified an obvious error on my part in the current FIXML Schema. Following your lead we should try and come up with a MultipleValueString datatype that can encapsulate the appropriate behavior.
This then leads to an interesting question - how do we then provide a mechanism to validate a MultiValueString against a set of enumerations if we carry forward the same format of space separated values?
We have been working with FpML, MDDL, ISO 20022 on adopting Genericode by Tony Coates for representation of larger sets of data - such as MICs, BICs, etc. Not sure if it would be an applicable mechanism for us or not. http://genericode.org
One could argue with XML we should eliminate the multiple value string and instead have a repeating occurrence within an element of values. This would create a real inefficiency for those moving ExecInst from FIXML to FIX.
On the other hand maybe we should take this opportunity to use XML appropriately for the representation of multiple value fields instead of bringing forward an artefact from FIX tag=value syntax.
Thank you for highlighting this error - we definitely need to resolve this deficiency in the schema some way.
Jim N
I’m afraid the xml tags from my example got stripped. Let’s try again:
<xs:simpleType name=“ExecInst_enum_t”>
<xt:restriction base=“xs:string”>
<xu:pattern value=‘\d[A-Z][a-e]*’/>
</xs:restriction> </xs:simpleType>The FIXML-4-4 schema does not seem to properly describe fields of type
MultipleValueString. These are always defined as a simpleType with an
enumeration of all possible values.However, this means that a FIXML document that uses a
MultipleValueString (e.g. ExecInst=“1 5 A e”) does not validate,
because the simpleType’s enumeration only allows a single value.I’m using a schema tool (xmlbeans in my case) to generate code from
the schema. Problem is that this generated code does not accept a true
MultipleValueString. What would you guys suggest? Should I modify the
schema document and change each MultipleValueString into a type that
does support space-separated values?I’ve tested with ExecInst (tag 18), which lead to the following
definition of ExecInst_enum_t:<xs:simpleType name=“ExecInst_enum_t”>
<xt:restriction base=“xs:string”>
<xu:pattern value=‘\d[A-Z][a-e]*’/>
</xs:restriction> </xs:simpleType>Is there anyone else using automated schema tools, or schema
validation and running into this problem?regards, Erik van Zijst
[ original email was from Tayfun Cakirtas - tayfun@financeIQ.com ]
Hi all;
This is causing problems for us too. And the bad part is, even though it has been almost 3 year, this problem has not been addressed yet by the committee.
I would like to hear from others about how they handle multiple string issue while generating code from schema.
Regards, Tayfun
The FIXML-4-4 schema does not seem to properly describe fields of type
MultipleValueString. These are always defined as a simpleType with an
enumeration of all possible values.However, this means that a FIXML document that uses a
MultipleValueString (e.g. ExecInst=“1 5 A e”) does not validate, because
the simpleType’s enumeration only allows a single value.I’m using a schema tool (xmlbeans in my case) to generate code from the
schema. Problem is that this generated code does not accept a true
MultipleValueString. What would you guys suggest? Should I modify the
schema document and change each MultipleValueString into a type that
does support space-separated values?I’ve tested with ExecInst (tag 18), which lead to the following
definition of ExecInst_enum_t:<xs:simpleType name=“ExecInst_enum_t”>
<xt:restriction base=“xs:string”>
<xu:pattern value=‘\d[A-Z][a-e]*’/>
</xs:restriction> </xs:simpleType>Is there anyone else using automated schema tools, or schema validation
and running into this problem?regards, Erik van Zijst
Tayfun
Your point is well taken. The plan has been to include this fix in the Repository Maintenance Release planned for 2009. However, we may need to address this in and of itself early by patching the schema - instead of regenerating.
We hear you - and will bring this up with the GTC Governance Board ASAP.
Thanks,
Jim N
Hi all;
This is causing problems for us too. And the bad part is, even though it
has been almost 3 year, this problem has not been addressed yet by the
committee.I would like to hear from others about how they handle multiple string
issue while generating code from schema.Regards, Tayfun
The FIXML-4-4 schema does not seem to properly describe fields of type
MultipleValueString. These are always defined as a simpleType with an
enumeration of all possible values.However, this means that a FIXML document that uses a
MultipleValueString (e.g. ExecInst=“1 5 A e”) does not validate,
because the simpleType’s enumeration only allows a single value.I’m using a schema tool (xmlbeans in my case) to generate code from
the schema. Problem is that this generated code does not accept a true
MultipleValueString. What would you guys suggest? Should I modify the
schema document and change each MultipleValueString into a type that
does support space-separated values?I’ve tested with ExecInst (tag 18), which lead to the following
definition of ExecInst_enum_t:<xs:simpleType name=“ExecInst_enum_t”>
<xt:restriction base=“xs:string”>
<xu:pattern value=‘\d[A-Z][a-e]*’/>
</xs:restriction> </xs:simpleType>Is there anyone else using automated schema tools, or schema
validation and running into this problem?regards, Erik van Zijst
Hello,
I have downloaded the FIXML Schema files for FIX 5.0 SP2 with 20110818 Errata, and tried to validate a sample FIXML ExecutionReport message which specifies ExecInst=“n C 1”. The validation fails: same reason as Erik van Zijst (2006) and Tayfun Cakirtas (2009) came up with.
Hasn’t this FIXML schema-related issue been solved yet?
Regards,
Aitor.
Tayfun
Your point is well taken. The plan has been to include this fix in the Repository Maintenance Release planned for 2009. However, we may need to address this in and of itself early by patching the schema - instead of regenerating.
We hear you - and will bring this up with the GTC Governance Board ASAP.
Thanks,
Jim N
Hi all;
This is causing problems for us too. And the bad part is, even though it
has been almost 3 year, this problem has not been addressed yet by the
committee.I would like to hear from others about how they handle multiple string
issue while generating code from schema.Regards, Tayfun
The FIXML-4-4 schema does not seem to properly describe fields of type
MultipleValueString. These are always defined as a simpleType with an
enumeration of all possible values.However, this means that a FIXML document that uses a
MultipleValueString (e.g. ExecInst=“1 5 A e”) does not validate,
because the simpleType’s enumeration only allows a single value.I’m using a schema tool (xmlbeans in my case) to generate code from
the schema. Problem is that this generated code does not accept a true
MultipleValueString. What would you guys suggest? Should I modify the
schema document and change each MultipleValueString into a type that
does support space-separated values?I’ve tested with ExecInst (tag 18), which lead to the following
definition of ExecInst_enum_t:<xs:simpleType name=“ExecInst_enum_t”>
<xt:restriction base=“xs:string”>
<xu:pattern value=‘\d[A-Z][a-e]*’/>
</xs:restriction> </xs:simpleType>Is there anyone else using automated schema tools, or schema
validation and running into this problem?regards, Erik van Zijst