|
From: Christoph J. <chr...@ma...> - 2018-04-10 07:38:29
|
Unfortunately I'm not familiar with XSL either.
But e.g. the group TradeCaptureReport.NoLegs.NoNestedPartyIDs.NoNestedPartySubIDs is also nested in
a component inside another component, isn't it? And that group works.
However, it seems that NestedPartyIDs component has a repeating group as start of the component,
whereas the problematic components UnderlyingLegInstrument and InstrumentLeg have the repeating
group further down in the list.
One thing you could try is to move e.g. the LegSecAltIDGrp directly to the start of the
InstrumentLeg component and recompile QFJ. If the generated code then has the
NoLegs.NoLegSecurityAltID group we only need to find out how to fix the XSL. ;)
Chris.
On 09/04/18 21:06, eri...@th... wrote:
> I’m not very experienced with XSL, but is it because the group is nested in a component inside
> another component?
>
> Does this:
>
> <xsl:template mode="group-factories" match="component"><xsl:param name="fullPath"/><xsl:variable
> name="name" select="@name"/><xsl:apply-templates mode="group-factories"
> select="/fix/components/component[@name=$name]/group"><xsl:with-param name="fullPath"
> select='$fullPath'/></xsl:apply-templates></xsl:template>
> Need a way to look for components another level deeper in the path? I don’t know how to do that.
>
> -------------------------
> Eric Goebelbecker
> eri...@th... <mailto:eri...@th...>
>
>
>
>> On Apr 6, 2018, at 17:33, Christoph John via Quickfixj-users
>> <qui...@li... <mailto:qui...@li...>> wrote:
>>
>>
>> Hi,
>>
>> strange, the generated code is indeed missing that group (along with group 1334
>> NoUnderlyingLegSecurityAltID). All other groups of the NoLegs group seem to be there:
>>
>> case quickfix.field.NoLegs.FIELD:
>> return new quickfix.fix50sp2.TradeCaptureReport.NoLegs();
>>
>> case quickfix.field.NoLegStipulations.FIELD:
>> return new quickfix.fix50sp2.TradeCaptureReport.NoLegs.NoLegStipulations();
>>
>> case quickfix.field.NoNestedPartyIDs.FIELD:
>> return new quickfix.fix50sp2.TradeCaptureReport.NoLegs.NoNestedPartyIDs();
>>
>> case quickfix.field.NoNestedPartySubIDs.FIELD:
>> return new
>> quickfix.fix50sp2.TradeCaptureReport.NoLegs.NoNestedPartyIDs.NoNestedPartySubIDs();
>>
>> case quickfix.field.NoOfLegUnderlyings.FIELD:
>> return new quickfix.fix50sp2.TradeCaptureReport.NoLegs.NoOfLegUnderlyings();
>>
>> Groups NoUnderlyingLegSecurityAltID and NoLegSecurityAltID are missing.
>> Seems to be an error with the code generation but at first glance I cannot tell why some
>> groupsare working and others not.
>>
>> Chris.
>>
>>
>> On 06/04/18 22:36,eri...@th...
>> <mailto:eri...@th...>wrote:
>>>
>>> Here it is, somewhat distilled:
>>>
>>>
>>> @Test
>>> public void yesItisMissing() {
>>>
>>> MessageFactory factory = new quickfix.fix50sp2.MessageFactory();
>>>
>>> Group goodGroup = factory.create(FixVersions.FIX50SP2, "AE", 1120);
>>>
>>> assertNotNull(goodGroup);
>>>
>>> Group badGroup = factory.create(FixVersions.FIX50SP2, "AE", 604);
>>>
>>> assertNull(badGroup);
>>>
>>> }
>>>
>>>
>>>
>>>
>>>
>>>
>>>> On Apr 6, 2018, at 15:12, Colin DuPlantis <co...@ma...
>>>> <mailto:co...@ma...><mailto:co...@ma...>> wrote:
>>>>
>>>>
>>>> Can you give us a code snippet?
>>>>
--
Christoph John
Development & Support
T +49 241 557080-28
chr...@ma...
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
www.macd.com
Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663
Geschäftsführer: George Macdonald
|