Я пытаюсь создать таблицу стилей для копирования элемента <body>
для вывода и неявного удаления всех других элементов.
Источник:
<!-- language: lang-xml -->
<?xml version="1.0" encoding="UTF-8"?>
<document>
<info>trial</info>
<style>unknown</style>
<body>
<section>
<p>para 1</p>
<p>para 2</p>
</section>
</body>
</document>
Требуемый вывод:
<!-- language: lang-xml -->
<?xml version="1.0" encoding="UTF-8"?>
<document>
<body>
<section>
<p>para 1</p>
<p>para 2</p>
</section>
</body>
</document>
XSLT:
<!-- language: lang-xsl -->
<?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" indent="yes" encoding="UTF-8"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="node()[not(descendant-or-self::body)]"/>
</xsl:stylesheet>
Выход вышеупомянутого XSLT:
<!-- language: lang-xml -->
<?xml version="1.0" encoding="UTF-8"?>
<document>
<body/>
</document>
Ps Я новичок ie в XSLT. Если бы вы могли объяснить свое решение и указать мне подходящий ресурс для изучения xpath и xslt 1.0, это спасет вас!