0

I need to set split values in different parameters.My response like below.

  `<Response >
     <Result>100002 0 Testing 1500.00 YES</Result>
  </Response>`

What i need is to get above split value in different result like below .[please note i have hard coded "select="100002" " values]

          ` <xsl:element name="ns1:Response">
              <xsl:value-of select="100002">
           </xsl:element>`

     `<xsl:element name="ns1:amount">
              <xsl:value-of select="0 ">
           </xsl:element>`

    `<xsl:element name="ns1:name">
              <xsl:value-of select="Testing  ">
           </xsl:element>`

   `<xsl:element name="ns1:Amount">
              <xsl:value-of select="1500.00">
           </xsl:element>`

 `<xsl:element name="ns1:Other">
              <xsl:value-of select="Yes">
           </xsl:element>`
Kasun
  • 31
  • 7

2 Answers2

0

There are plenty topics to a split function already. E.g.: Split implementation

This should help you out. WithRefering to that you should just need a result template looking like this:

<xsl:template match="result">
    <xsl:call-template name="splitfunction">
        <xsl:with-param name="string" select="."/>
        <xsl:with-param name="seperator" select=" "/>
    </xsl:call:template>
</xsl:template>
Christian Mosz
  • 543
  • 2
  • 12
0

You can use

<xsl:template match="Result">
        <xsl:call-template name="abc">
            <xsl:with-param name="data" select="."></xsl:with-param>
        </xsl:call-template>
    </xsl:template>

        <xsl:template name="abc">
    <xsl:param name="data"/>
    <xsl:element name="ns1:Response">
        <xsl:value-of select="substring-before($data, ' ')"/>
    </xsl:element>

    <xsl:element name="ns1:amount">
        <xsl:value-of select="substring-before(substring-after($data, ' '), ' ')"/>
    </xsl:element>

    <xsl:element name="ns1:name">
        <xsl:value-of select="substring-before(substring-after(substring-after($data, ' '), ' '), ' ')"/>
    </xsl:element>

    <xsl:element name="ns1:Amount">
        <xsl:value-of select="substring-before(substring-after(substring-after(substring-after($data, ' '), ' '), ' '), ' ')"/>
    </xsl:element>

    <xsl:element name="ns1:Other">
        <xsl:value-of select="substring-after(substring-after(substring-after(substring-after($data, ' '), ' '), ' '), ' ')"/>
    </xsl:element>
</xsl:template>
Rupesh_Kr
  • 3,395
  • 2
  • 17
  • 32