Опустить ненужные пространства имен из вывода

Мой XSLT вытесняет некоторые тегиxmlns:x="http://something" атрибут ... Как избежать этого избыточного атрибута? Выходной XML никогда не используется, ни вx:tagни вx:attribute.

ПРИМЕР XML:

<root><p>Hello</p><p>world</p></root>

ПРИМЕР XSL:

<xsl:transform version="1.0" 
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
   xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:output encoding="UTF-8" method="xml" version="1.0" indent="no"/>

<xsl:template match="root"><foo>
   <xsl:for-each select="p">
    <p><xsl:value-of select="." /></p>
   </xsl:for-each></foo>
   <xsl:for-each select="x">
    <link xlink:href="{x}" />
   </xsl:for-each></foo>
</xsl:template>

ПРИМЕР ВЫХОДА XML:

<foo>
   <p xmlns:xlink="http://www.w3.org/1999/xlink">Hello</p>
   <p xmlns:xlink="http://www.w3.org/1999/xlink">world</p>
</foo>

xmlns:xlink это накладные расходы, это не используется!

Типичный случай где XSLT должен использовать пространство имен, но не вывод:

 <xsl:value-of select="php:function('regFunction', . )" />

Ответы на вопрос(2)

Ваш ответ на вопрос