Hi All,
I Have below xml using XSLT I want to create new xml based on the node name passed in xpath.
Code:
<?xml version="1.0" standalone="yes"?>
<DataSet>
<Orders>
<SalesOrderID>43659</SalesOrderID>
<SalesOrderDetailID>1</SalesOrderDetailID>
<CarrierTrackingNumber>4911-403C-98</CarrierTrackingNumber>
<OrderQty>1</OrderQty>
<ProductID>776</ProductID>
<SpecialOfferID>1</SpecialOfferID>
<UnitPrice>2024.994</UnitPrice>
<UnitPriceDiscount>0.0000</UnitPriceDiscount>
<LineTotal>2024.994000</LineTotal>
<rowguid>b207c96d-d9e6-402b-8470-2cc176c42283</rowguid>
<ModifiedDate>2001-07-01T00:00:00+01:00</ModifiedDate>
</Orders>
<Orders>
<SalesOrderID>43659</SalesOrderID>
<SalesOrderDetailID>2</SalesOrderDetailID>
<CarrierTrackingNumber>4911-403C-98</CarrierTrackingNumber>
<OrderQty>3</OrderQty>
<ProductID>777</ProductID>
<SpecialOfferID>1</SpecialOfferID>
<UnitPrice>2024.994</UnitPrice>
<UnitPriceDiscount>0.0000</UnitPriceDiscount>
<LineTotal>6074.982000</LineTotal>
<rowguid>7abb600d-1e77-41be-9fe5-b9142cfc08fa</rowguid>
<ModifiedDate>2001-07-01T00:00:00+01:00</ModifiedDate>
</Orders>
</Orders>
</DataSet>
I want XSlt to produce XML like below:
Code:
<?xml version="1.0" standalone="yes"?>
<DataSet>
<Orders>
<SalesOrderID>43659</SalesOrderID>
<SalesOrderDetailID>1</SalesOrderDetailID>
<CarrierTrackingNumber>4911-403C-98</CarrierTrackingNumber>
</Orders>
<Orders>
<SalesOrderID>43659</SalesOrderID>
<SalesOrderDetailID>2</SalesOrderDetailID>
<CarrierTrackingNumber>4911-403C-98</CarrierTrackingNumber>
</Orders>
</Orders>
</DataSet>
I am trying to write XSLT like below
Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/DataSet">
<xsl:element name="NewDataSet">
<xsl:copy-of select="Orders[name()='SalesOrderID' or name()='SalesOrderDetailID' or name()='CarrierTrackingNumber' ]"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Based on the node name I want to filter the records.
Please can you correct the xslt what I am doing wrong?
Thanks
Nelly