Как удалить элемент test: ws из x: ожидаемый результат в XSpec - PullRequest
0 голосов
/ 25 октября 2018

Ожидаемый результат выброса по xspec:

<nl/>
<test:ws xmlns:test="http://www.jenitennison.com/xslt/unit-test">
</test:ws>

Ожидаемый результат, который я хочу, - это желаемый элемент вывода:

<nl/>

1 Ответ

0 голосов
/ 25 октября 2018

Вам нужно сделать 3 вещи в вашем XSLT:

  1. Добавить пространство имен xmlns:test="http://www.jenitennison.com/xslt/unit-test"
  2. Исключить пространство имен exclude-result-prefixes="xs test"
  3. Написать пустой шаблон для теста:ш <xsl:template match="test:ws"/>

XML:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <nl/>
    <test:ws xmlns:test="http://www.jenitennison.com/xslt/unit-test"></test:ws>
</root>

XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:test="http://www.jenitennison.com/xslt/unit-test"
    exclude-result-prefixes="xs test" version="2.0">

    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="test:ws"/>

</xsl:stylesheet>

ВЫХОД:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <nl/>

</root>

См. Ниже ссылку для справки:

https://xsltfiddle.liberty -development.net / jyH9rNa

...