I need your help on fixing my xslt.
My requirement is to remove specific child node based on its decedents(grandchild) value.
in the below example, i need to write an xslt which gives me xml containing whose decedent "SID" value not equal to "1113181"
Input XML:
<CDM CDMVersion="1.3" FType="Transactional" FOID="85b40b86-e6f1-4813-a5f4-0b98c90bd72d" CreationDateTime="2016-08-19T19:04:25" xmlns="http://www.example.com/ns/CDM/v1.3" xmlns:xyz="http://www.example.com/ns/CDM/MData">
<TestData EduOID="LX4211-204" MDataVersionOID="34" xyz:AuditSubCategoryName="Verify">
<SubData SubKey="5117f771-790f-4cde-b261-1a2db0dcd04b" xyz:SubKeyType="SubUUID" xyz:SubName="204-0114-002">
<SRef LocOID="LX4211204_0114"/>
<SubEventData EduEventOID="EOT" EduEventRepeatKey="EOT[1]" xyz:InstanceId="76194">
<FmData FmOID="VS2" FmRepeatKey="1" xyz:DataPageId="388465">
<IGroupData IGroupOID="VS2" xyz:RecordId="1044557">
<IData ItemOID="VS2.VSORRES4_2" TransactionType="Upsert" xyz:Verify="Yes">
<Record>
<TesterRef TesterOID="bballardamad1"/>
<LocRef LocOID="LX4211204_0114"/>
<DateTimeStamp>2016-08-16T17:07:15</DateTimeStamp>
<ReasonForChange/>
<SID>1113181</SID>
</Record>
</IData>
</IGroupData>
</FmData>
</SubEventData>
</SubData>
</TestData>
<TestData EduOID="LX4211-204" MDataVersionOID="34" xyz:AuditSubCategoryName="QueryClose">
<SubData SubKey="5117f771-790f-4cde-b261-1a2db0dcd04b" xyz:SubKeyType="SubUUID" xyz:SubName="204-0114-002">
<SRef LocOID="LX4211204_0114"/>
<SubEventData EduEventOID="EOT" EduEventRepeatKey="EOT[1]" xyz:InstanceId="76194">
<FmData FmOID="VS2" FmRepeatKey="1" xyz:DataPageId="388465">
<IGroupData IGroupOID="VS2" xyz:RecordId="1044557">
<IData ItemOID="VS2.VSORRES4_2" TransactionType="Upsert">
<Record>
<TesterRef TesterOID="bballardamad1"/>
<LocRef LocOID="LX4211204_0114"/>
<DateTimeStamp>2016-08-16T17:07:15</DateTimeStamp>
<ReasonForChange/>
<SID>1113182</SID>
</Record>
<xyz:Query QueryRepeatKey="552326" Status="Closed" Recipient="Site from CRA"/>
</IData>
</IGroupData>
</FmData>
</SubEventData>
</SubData>
</TestData>
<TestData EduOID="LX4211-204" MDataVersionOID="34" xyz:AuditSubCategoryName="Verify">
<SubData SubKey="5117f771-790f-4cde-b261-1a2db0dcd04b" xyz:SubKeyType="SubUUID" xyz:SubName="204-0114-002">
<SRef LocOID="LX4211204_0114"/>
<SubEventData EduEventOID="WK1_POST" EduEventRepeatKey="WK1_POST[1]" xyz:InstanceId="119171">
<FmData FmOID="VS2" FmRepeatKey="1" xyz:DataPageId="670872">
<IGroupData IGroupOID="VS2" xyz:RecordId="1934354">
<IData ItemOID="VS2.VSORRES12" TransactionType="Upsert" xyz:Verify="Yes">
<Record>
<TesterRef TesterOID="bballardamad1"/>
<LocRef LocOID="LX4211204_0114"/>
<DateTimeStamp>2016-08-16T17:09:10</DateTimeStamp>
<ReasonForChange/>
<SID>1114610</SID>
</Record>
</IData>
</IGroupData>
</FmData>
</SubEventData>
</SubData>
</TestData>
</CDM>
================================================================================
My XSLT:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<!--<xsl:template match="//SID[text()!=1113181]"/>-->
<xsl:template match="/CDM/TestData/SubData/SubEventData/FmData/IGroupData/IData/Record/SID[text()!=68943181]"/>
</xsl:stylesheet>
Expected Output:
#<CDM CDMVersion="1.3" FType="Transactional" FOID="85b40b86-e6f1-4813-a5f4-0b98c90bd72d" CreationDateTime="2016-08-19T19:04:25" xmlns="http://www.example.com/ns/CDM/v1.3" xmlns:xyz="http://www.example.com/ns/CDM/MData">
<TestData EduOID="LX4211-204" MDataVersionOID="34" xyz:AuditSubCategoryName="QueryClose">
<SubData SubKey="5117f771-790f-4cde-b261-1a2db0dcd04b" xyz:SubKeyType="SubUUID" xyz:SubName="204-0114-002">
<SRef LocOID="LX4211204_0114"/>
<SubEventData EduEventOID="EOT" EduEventRepeatKey="EOT[1]" xyz:InstanceId="76194">
<FmData FmOID="VS2" FmRepeatKey="1" xyz:DataPageId="388465">
<IGroupData IGroupOID="VS2" xyz:RecordId="1044557">
<IData ItemOID="VS2.VSORRES4_2" TransactionType="Upsert">
<Record>
<TesterRef TesterOID="bballardamad1"/>
<LocRef LocOID="LX4211204_0114"/>
<DateTimeStamp>2016-08-16T17:07:15</DateTimeStamp>
<ReasonForChange/>
<SID>1113182</SID>
</Record>
<xyz:Query QueryRepeatKey="552326" Status="Closed" Recipient="Site from CRA"/>
</IData>
</IGroupData>
</FmData>
</SubEventData>
</SubData>
</TestData>
<TestData EduOID="LX4211-204" MDataVersionOID="34" xyz:AuditSubCategoryName="Verify">
<SubData SubKey="5117f771-790f-4cde-b261-1a2db0dcd04b" xyz:SubKeyType="SubUUID" xyz:SubName="204-0114-002">
<SRef LocOID="LX4211204_0114"/>
<SubEventData EduEventOID="WK1_POST" EduEventRepeatKey="WK1_POST[1]" xyz:InstanceId="119171">
<FmData FmOID="VS2" FmRepeatKey="1" xyz:DataPageId="670872">
<IGroupData IGroupOID="VS2" xyz:RecordId="1934354">
<IData ItemOID="VS2.VSORRES12" TransactionType="Upsert" xyz:Verify="Yes">
<Record>
<TesterRef TesterOID="bballardamad1"/>
<LocRef LocOID="LX4211204_0114"/>
<DateTimeStamp>2016-08-16T17:09:10</DateTimeStamp>
<ReasonForChange/>
<SID>1114610</SID>
</Record>
</IData>
</IGroupData>
</FmData>
</SubEventData>
</SubData>
</TestData>
</CDM>
#