I'm new to XSL, and not able to find information on this question. This is only for XSLT 1.0, and will eventually be run from XSLTproc.
Here is an example XML
<root>
<node>
<data />
<child>
<grandchild />
</child>
<step-child action="removenode" />
</node>
<node>
<data />
<step-child action="removenode" />
</node>
</root>
Basically, I want to keep everything except :
<child>
<step-child>
I can only figure out how to remove unwanted nodes, but even that is questionable. I really appreciate any help with this.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!--Identity template to copy all content by default-->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!--Remove node elements that do not have child elements,
and remove step-child elements -->
<xsl:template match="node[not(child)] | step-child"/>
</xsl:stylesheet>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With