Итак, у меня есть таблица стилей, которая тратит большую часть своего времени на преобразование элементов из 'namespace a' в пространство имен xhtml.
В одном конкретном случае, однако, я хочу, чтобы входной словарь включал любой элемент xhtml. С точки зрения схемы, я добавил <xs:any namespace="...."/>
для пространства имен xhtml.
Похоже:
<btml:html-noscript xmlns="http://www.w3.org/1999/xhtml">
<div style="display:inline;">
<img height="1"
width="1"
style="border-style:none;"
alt=""
src="http://www.googleadservices.com/pagead/conversion/1070015830/?label=FoKlCKDxiAIQ1sqc_gM&guid=ON&script=0"/>
</div>
</btml:html-noscript>
Таблица стилей использует xsl:copy-of
для копирования дочерних элементов проходного элемента в вывод.
Saxon-B, который я использую (последний выпуск), кажется глупым в отношении пространств имен. Несмотря на то, что целевое пространство имен всего выходного документа является пространством имен xhtml, выходные данные выглядят следующим образом:
<noscript>
<div xmlns:btml="http://www.basistech.com/2010/btml/"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
style="display:inline;">
<img height="1"
width="1"
style="border-style:none;"
alt=""
src="http://www.googleadservices.com/pagead/conversion/1070015830/?label=FoKlCKDxiAIQ1sqc_gM&guid=ON&script=0"></img>
</div>
</noscript>
Обратите внимание на бессмысленные префиксы вместо того, чтобы просто ставить <div ...>
. Обратите внимание, что элемент документа всей компании (html) определяет xmlns="ttp://www.w3.org/1999/xhtml"
.
Есть ли способ убрать это?