I thought I should summarize some of the issues I have encountered to inform work on Orchestra errata. Some of these may be fixed already.
- Deprecated values in codesets, in which only the case differs.
<xsl:template
match="fixr:codeSet[@id='221']/fixr:code[@deprecated]"/>
-
Unused codeset : NoStreamAssetAttributesCodeSet
<xsl:template
match=“fixr:codeSet[@name=‘NoStreamAssetAttributesCodeSet’]”/>
- references to undefined grp CollateralReinvestmentGrp
CollateralReinvestmentGrp
<xsl:template
match=“fixr:groupRef[@id=‘2266’]”/>
<xsl:template
match=“fixr:component[@id=‘2266’]”/>
<xsl:template
match=“fixr:componentRef[@id=‘2266’]”/>
<xsl:template
match=“fixr:componentRef[@id=‘2266’]”/>
-
Incorrect type on ManualOrderIdentifier
<xsl:template
match=“fixr:codeSet[@id=‘1081’]/fixr:code[@id=‘1081011’]”/> -
EntitlementAttribDatatypeCodeSet values that are Java primitive types, these should be renamed ideally
<xsl:template
match=“fixr:codeSet[@id=‘1779’]/fixr:code[@id=‘1779022’]”/>
<xsl:template
match=“fixr:codeSet[@id=‘1779’]/fixr:code[@id=‘1779024’]”/>
<xsl:template
match=“fixr:codeSet[@id=‘1779’]/fixr:code[@id=‘1779030’]”/> -
NoStreamAssetAttributesCodeSet incorrect type
<xsl:template match=“fixr:fields/fixr:field/@type”>
<xsl:attribute name=“type”>
xsl:choose
<xsl:when test=". = ‘NoStreamAssetAttributesCodeSet’">
<xsl:attribute name=“type”>
xsl:textNumInGroup</xsl:text>
</xsl:attribute>
</xsl:when>
xsl:otherwise
<xsl:value-of select="." />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:template>
See here for some of the work arounds to things in the standard Orchestration that cause difficulty with QFJ code generation. https://github.com/david-gibbs-ig/quickfixj/blob/fix-orchestra-with-updated-project-structure/quickfixj-orchestration/src/main/xsl/extractForQuickFIXJ.xsl
thanks and regards