XSLT でタグを削除したいのですが、すべてそのままにしておきます。
私はこのソースを持っています:
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT>
<div>
<p>foo</p>
<div>we want any divs found in here</div>
<p>we want to keep everything</p>
<p>except the div that follows DOCUMENT</p>
</div>
</DOCUMENT>
そして、この出力が欲しい:
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT>
<p>foo</p>
<div>we want any divs found in here</div>
<p>we want to keep everything</p>
<p>except the div that follows DOCUMENT</p>
</DOCUMENT>
不要な<div>
ものは常に続き、それは私が削除したかっ<DOCUMENT>
た唯一のものです。<div>
このXSLTでこれを行うことができます
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/DOCUMENT/div">
<xsl:apply-templates select="@*|node()"/>
</xsl:template>
</xsl:stylesheet>
問題: プッシュではなく「プル」変換を行っているため、identity-transform テンプレートでこれを実行したくありません。しかし、私は代替案を見つけるのに困惑しています。