I am using wso2esb. I wish to transform the data using wso2esb i have done the issue is while response i am getting data in descending manner how would i arrange in to ascending way .
<soapenv:Envelope xmlns:soapenv="http://ift.tt/sVJIaE">
<soapenv:Header>
</soapenv:Header>
<soapenv:Body>
<open:employeeresponse xmlns:open="http://www.openuri.org/">
<env:enve xmlns:env="http://ift.tt/1BUlxNw">
<Domain xmlns="http://ift.tt/1BUlxNw" xmlns:mm="http://ift.tt/1zrrAVI">mnh</Domain>
<Service xmlns="http://ift.tt/1BUlxNw" xmlns:mm="http://ift.tt/1zrrAVI">customer</Service>
<Sender xmlns="http://ift.tt/1BUlxNw" xmlns:mm="http://ift.tt/1zrrAVI">amng</Sender>
<MessageId xmlns="http://ift.tt/1BUlxNw" xmlns:mm="http://ift.tt/1zrrAVI">7001274870</MessageId>
<Language xmlns="http://ift.tt/1BUlxNw" xmlns:mm="http://ift.tt/1zrrAVI">En</Language>
<UserId xmlns="http://ift.tt/1BUlxNw" xmlns:mm="http://ift.tt/1zrrAVI">kmt</UserId>
<env:Payload>
<customer xmlns="http://ift.tt/1zrrAVI" xmlns:ns2="http://www.openuri.org/">
<Response>
<Result_OutputData>
<resultCode>0</resultCode>
<reference_ID>23455</reference_ID>
</Result_OutputData>
<Output>
<mmount_No>1</mmount_No>
<mmount_Type>Business Individual</mmount_Type>
<Company_Name>AKA</Company_Name>
<codeid>556</codeid>
<Current_Status>AC</Current_Status>
<Status_Desc>ACTIVE</Status_Desc>
<Enhance_Data/>
<Enhance_Data_Fax/>
<Tariff_Plan_Code>GSM DIW</Tariff_Plan_Code>
<Tariff_Plan_Name>FARSI MOBILE DETAILS</Tariff_Plan_Name>
<COW_Date>2013-10-22+05:30</COW_Date>
<PUK1>12345678</PUK1>
<PUK2>2</PUK2>
<hj>0</hj>
</Output>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>255</mm:empid>
<mm:amt>0</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>false</mm:Flag>
</mm:Output_Data>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>10</mm:empid>
<mm:amt>0</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>true</mm:Flag>
</mm:Output_Data>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>9</mm:empid>
<mm:amt>1000</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>false</mm:Flag>
</mm:Output_Data>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>8</mm:empid>
<mm:amt>0</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>true</mm:Flag>
</mm:Output_Data>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>7</mm:empid>
<mm:amt>200</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>false</mm:Flag>
</mm:Output_Data>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>6</mm:empid>
<mm:amt>100</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>false</mm:Flag>
</mm:Output_Data>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>5</mm:empid>
<mm:amt>1000</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>false</mm:Flag>
</mm:Output_Data>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>4</mm:empid>
<mm:amt>1000</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>false</mm:Flag>
</mm:Output_Data>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>3</mm:empid>
<mm:amt>1000</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>false</mm:Flag>
</mm:Output_Data>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>2</mm:empid>
<mm:amt>1000</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>false</mm:Flag>
</mm:Output_Data>
<mm:Output_Data xmlns:mm="http://ift.tt/1zrrAVI">
<mm:empid>1</mm:empid>
<mm:amt>1000</mm:amt>
<mm:date>Wed Sep 30 20:20:30 IST 2009</mm:date>
<mm:/>
<mm:Flag>false</mm:Flag>
</mm:Output_Data>
</Response>
</customer>
</env:Payload>
</env:enve>
</open:employeeresponse>
</soapenv:Body>
</soapenv:Envelope>
I wish to arrange the mm:Output_Data tag data in ascending order based on mm:empid so how would i arrange this I tried with xquery but i couldn't find the any function regarding element sorting , cusId should be appear in 1,2,3,... I have tried with this XSLT but no erros and no expected response
<xsl:stylesheet xmlns:xsl="http://ift.tt/tCZ8VR" xmlns:mm="http://ift.tt/1zrrAVI" version="1.0">
<xsl:output indent="yes"></xsl:output>
<xsl:strip-space elements="*"></xsl:strip-space>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="//mm:Response">
<xsl:copy>
<xsl:apply-templates select="//acc:Result_OutputData" />
<xsl:apply-templates select="//acc:Output"/>
<xsl:apply-templates select="//acc:Output_Data">
<xsl:sort order="ascending" select="//acc:empid" data-type="number"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
but its not working not giving any results. How would i achieve this i know there is no function in xpath for this thanks in advance.
No comments:
Post a Comment