How to create FIXML message with repeating groups using XSLT
Example 1:
XML repeating group tags contain set of values. XSLT scripts will sort them into standart FIXML repeating group.
Input | XSLT script | Output |
---|---|---|
<?xml version="1.0" encoding="utf-8"?> <FIXTradeStifel> <UpdateReasonsCount>3</UpdateReasonsCount> <UpdateReasons> <anyType>Price</anyType> <anyType>Principal</anyType> <anyType>Net</anyType> </UpdateReasons> <UpdateValues> <anyType>10.00</anyType> <anyType>10000.00</anyType>Â <anyType>10000.00</anyType> </UpdateValues> </FIXTradeStifel> Â Â | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml"/> <xsl:template match="/"> <FIXMessage> <g6041> <xsl:attribute name="v"> <xsl:value-of select="/FIXTradeStifel/UpdateReasonsCount"/> </xsl:attribute> <xsl:for-each select="/FIXTradeStifel/UpdateReasons/anyType"> <xsl:variable name="Position" select="position()"/> <e> <f6042><xsl:value-of select="."/></f6042> <f6043><xsl:value-of select="/FIXTradeStifel/UpdateValues/anyType[$Position]"/></f6043> </e> </xsl:for-each> </g6041> </FIXMessage> </xsl:template> </xsl:stylesheet> | <?xml version="1.0" encoding="UTF-8"?> <FIXMessage> <g6041 v="3"> <e> <f6042>Price</f6042> <f6043>10.00</f6043> </e> <e> <f6042>Principal</f6042> <f6043>10000.00</f6043> </e> <e> <f6042>Net</f6042> <f6043>10000.00</f6043> </e> </g6041> </FIXMessage> |