XSLT 1.0:根据条件删除 ITEM

XSLT 1.0: To remove ITEM based on condition

专家们,我需要编写XSLT 1.0代码来删除IT_EPC_LIST下的ITEM,当EPC=(00)时,所有其他的ITEM必须原样传递。

我附上了示例输入和输出,如下所示。请检查。

输入:

<?xml version="1.0" encoding="UTF-8"?>
<ns1:AIF xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
    <IT_ATTRIBUTES>
        <item>
            <NAME>check</NAME>
            <VALUE>T</VALUE>
        </item>
    </IT_ATTRIBUTES>
    <IT_EPC_LIST>
        <item>
            <PARENT_EPC/>
            <EPC>(01)0541378700</EPC>
        </item>
        <item>
            <PARENT_EPC/>
            <EPC>(00)</EPC>
        </item>
        <item>
            <PARENT_EPC/>
            <EPC>(01)0541378(21)1000169</EPC>
        </item>
        <item>
            <PARENT_EPC/>
            <EPC>(01)0541378(21)1000180</EPC>
        </item>
    </IT_EPC_LIST>
    <IV_BATCH/>
    <IV_TEST_RUN/>
</ns1:AIF>

** 期望输出:**

<?xml version="1.0" encoding="UTF-8"?>
<ns1:AIF xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
    <IT_ATTRIBUTES>
        <item>
            <NAME>check</NAME>
            <VALUE>T</VALUE>
        </item>
    </IT_ATTRIBUTES>
    <IT_EPC_LIST>
        <item>
            <PARENT_EPC/>
            <EPC>(01)0541378700</EPC>
        </item>     
        <item>
            <PARENT_EPC/>
            <EPC>(01)0541378(21)1000169</EPC>
        </item>
        <item>
            <PARENT_EPC/>
            <EPC>(01)0541378(21)1000180</EPC>
        </item>
    </IT_EPC_LIST>
    <IV_BATCH/>
    <IV_TEST_RUN/>
</ns1:AIF>

** 我使用的 XSLT 如下:**

<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

 
<xsl:template match="IT_EPC_LIST[ not(.// EPC)]"/>
 

</xsl:stylesheet>

此 XSLT 未按要求删除 ITEMS,您能否在此提供帮助..

我想你想要的模板是这样的:

<xsl:template match="IT_EPC_LIST/item[EPC='(00)']"/>