Сначала добавьте шаблон идентификации в ваш XSLT
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
(Или, если вы используете XSLT 3.0, вы можете использовать <xsl:mode on-no-match="shallow-copy"/>
вместо этого)
Затем добавьте другой шаблон, чтобы игнорироватьtable
элементы
<xsl:template match="div[@id='about']/table" />
И, наконец, замените ваш xsl:copy-of
на xsl:apply-templates
, чтобы обеспечить сопоставление этих шаблонов, таким образом гарантируя, что элементы table
не будут скопированы.
Попробуйте это XSLT
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="div[@id='about']/table" />
<xsl:template match="/">
<div class="article">
<h1>
<xsl:value-of select="//div[@class='content-header']/h1/text()"/>
</h1>
<div>
<xsl:apply-templates select="//div[@id='about']"/>
</div>
</div>
</xsl:template>
</xsl:transform>