XSL добавляет элемент из другого пространства имен для вывода без объявления xmlns - PullRequest
0 голосов
/ 25 марта 2020

Мне нужны элементы из 2 доменов в моем выводе XML, но я не хочу никаких атрибутов xmnls в выводе.

Мой XML:

<p>Talking about stuff.</p>

Мой XSL:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amazon="http://www.amazon.com" exclude-result-prefixes="amazon">
<xsl:output method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/>

<!-- root -->
<xsl:template match="/">
    <!-- speak element -->
    <xsl:element name="speak">
        <amazon:domain name="conversational">
           <xsl:apply-templates/>
        </amazon:domain>
    </xsl:element>
</xsl:template>

<!-- Paragraph -->
<xsl:template match="*[local-name()='p' or local-name()='P']">
    <p><xsl:value-of select="normalize-space()"/></p>
</xsl:template>

</xsl:stylesheet>

И мой результат:

<speak>
   <amazon:domain xmlns:amazon="http://www.amazon.com" name="conversational">
      <p>Talking about stuff.</p>
   </amazon:domain>
</speak>

Но мне нужно, чтобы он был:

<speak>
   <amazon:domain name="conversational">
      <p>Talking about stuff.</p>
   </amazon:domain>
</speak>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...