FpML Issues Tracker
closed
Minor
Always
Commodities
SteveTurner
mgratacos
Summary
Purely by chance I spotted another example of an untyped element - similar to http://fpml.aws.isda.org/issues/view.php?id=1065
In this case additionalCommoditySwapLeg should be of type Leg as an abstract base.
Although seen in 4-9 - it goes further back to at least 4-8, possibly 4-7 (not present in 4-6)
Notes:
mgratacos
09/29/11 9:04 am
Yes, an additionalCommodityForwardLeg has the same issue too. I’ll fix them by making both of them of type Leg.
mgratacos
09/29/11 9:27 am
I committed the fix, by making both of them of type Leg, to Subversion. The fix will be published in 5.2 Recommendation, 5.3 Second Working Draft, and 4.10 First Working Draft.
SteveTurner
01/09/13 7:27 pm
For additionalCommodityForwardLeg and additionalCommoditySwapLeg the change made is incorrect / insufficient. When one tries to create an instance document with validation fails with: “The ‘abstract’ attribute of element must be set to ‘false’.”
So 2 solutions:
1) either declare the globals as concrete:
2) remove the globals and simply inline the declaration as above.
I think the intent here was to allow any type of Leg to be available via use of xsi:type extension in the message. Either solution will make that possible.
Since neither global are referenced anywhere else in the schema then I would favour (2) – since (1) generally breaks the FpML architecture style.
SteveTurner
01/09/13 8:24 pm
There is a 3rd option. Declare as a proper substitution point:
All 3 cases would require in the message
mgratacos
02/12/13 11:14 am
Steve, but the goal here was that additionalCommoditySwapLeg should be replaced by your own leg so additionalCommoditySwapLeg must not appear in the instance document.
The additionalCommoditySwapLeg is the head of a substitution group.
mgratacos
02/15/13 10:21 am
I uploaded a quick test (schema and example) with a type leg that substitues additionalCommodityForwardLeg. It seems to work fine.
SteveTurner
02/15/13 11:40 am
I can see how that would work with an external resource, but the problem is that the FpML schema itself is internally inconsistent as a stand-alone entity.
We are unable to process this part of it therefore without modifying it in some way.
mgratacos
02/15/13 3:19 pm
This was fixed in version 5.3. See attached fpml-com-5-3_CommoditySwapDetails.png for new models of commodity swap legs. All legs are now part of substitution group. The additional legs are not present in the schema anymore.
The same design approach with substitution group was applied to commodityForward.