I am working on a XSLT which needs to copy the entire XML maintaining the same structure and filtering out some nodes based on a condition.
in the below example i need to keep only the nodes where IsBusinness = Y
<CompanyTypes>
<Parent1>
<ChildNode1>Test</ChildNode1>
<ChildNode2>Test</ChildNode2>
<CompanyType>
<CompanyTypeID>1</CompanyTypeID>
<CompanyTypeName>Individual</CompanyTypeName>
<CompanyTypeDesc>Individual</CompanyTypeDesc>
<IsBusiness>N</IsBusiness>
</CompanyType>
</Parent1>
<Parent1>
<ChildNode1>Test1</ChildNode1>
<ChildNode2>Test</ChildNode2>
<CompanyType>
<CompanyTypeID>1</CompanyTypeID>
<CompanyTypeName>Individual</CompanyTypeName>
<CompanyTypeDesc>Individual</CompanyTypeDesc>
<IsBusiness>Y</IsBusiness>
</CompanyType>
</Parent1>
<Parent1>
<ChildNode1>Test3</ChildNode1>
<ChildNode2>Test9</ChildNode2>
<CompanyType>
<CompanyTypeID>1</CompanyTypeID>
<CompanyTypeName>Individual</CompanyTypeName>
<CompanyTypeDesc>Individual</CompanyTypeDesc>
<IsBusiness>Y</IsBusiness>
</CompanyType>
</Parent1>
</CompanyTypes>
desired output
<CompanyTypes>
<Parent1>
<ChildNode1>Test1</ChildNode1>
<ChildNode2>Test</ChildNode2>
<CompanyType>
<CompanyTypeID>1</CompanyTypeID>
<CompanyTypeName>Individual</CompanyTypeName>
<CompanyTypeDesc>Individual</CompanyTypeDesc>
<IsBusiness>Y</IsBusiness>
</CompanyType>
</Parent1>
<Parent1>
<ChildNode1>Test3</ChildNode1>
<ChildNode2>Test9</ChildNode2>
<CompanyType>
<CompanyTypeID>1</CompanyTypeID>
<CompanyTypeName>Individual</CompanyTypeName>
<CompanyTypeDesc>Individual</CompanyTypeDesc>
<IsBusiness>Y</IsBusiness>
</CompanyType>
</Parent1>
</CompanyTypes>
Use this
See transform at https://xsltfiddle.liberty-development.net/gWvjQfV/1
Output