Установить на навигацию
style="position:fixed; width:100%;"
Вам необходимо вставить узел пространства имен в элемент документа вашего результирующего дерева. Это можно сделать несколькими способами, в зависимости от того, используете ли вы XSLT 1.0 или 2.0. Ниже приводится решение версии 2.0. Я предполагаю, что вы выполняете преобразование измененного идентификатора во входном документе (в вашем вопросе на самом деле не указано):
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- special rule for the document element -->
<xsl:template match="/*">
<xsl:copy>
<!-- Add a namespace node -->
<xsl:namespace name="mynamespace" select="'somenamespace'"/>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<!-- the identity template -->
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<!-- the rest of your rules -->
</xsl:stylesheet>
Для полного охвата всех различных методов управления пространствами имен в выходном документе ознакомьтесь с Раздел «Недостаточно пространств имен» статьи «Пространства имен в XSLT» на моем веб-сайте.
Возможно, я неправильно понял вопрос, но я думаю, вам следует сделать следующее:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="somenamespace"
version="2.0">
<xsl:output method="xml" omit-xml-declaration="no" standalone="yes" indent="yes"/>
<xsl:template match="myMatchedNode">
<tag>Some text i want inserted into the xsl</mynamespace>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Это должно позволить вам использовать теги пространства имен в качестве пространства имен по умолчанию, и в выходном документе они будут по умолчанию пространство имен. Ваш входной документ может по-прежнему использовать неприятный синтаксис mynamespace: tag.
Вы также можете попробовать сделать это:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="somenamespace"
xmlns:mynamespace="somenamespace"
version="2.0">
Я не совсем уверен, что заменит mynamespace: tag только на тег, и если это так, он может зависеть от реализации.