Я пытаюсь добавить атрибут xmlns к результирующему XML со значением, переданным параметром во время преобразования XSLT с использованием JDK Transformer (Oracle XML v2 Parser или JAXP), но по умолчанию он всегда имеет значение http://www.w3.org/2000/xmlns/
Мой исходный XML
<test/>
Мой XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://example.com">
<xsl:param name="myNameSpace" select="'http://neilghosh.com'"/>
<xsl:template match="/">
<process>
<xsl:attribute name="xmlns:neil">
<xsl:value-of select="$myNameSpace"/>
</xsl:attribute>
</process>
</xsl:template>
</xsl:stylesheet>
Мой результат
<?xml version="1.0"?>
<process xmlns="http://www.w3.org/2000/xmlns/" xmlns:neil="neilghosh.com">
</process>
Мой желаемый результат
<?xml version="1.0"?>
<process xmlns="http://example.com" xmlns:neil="neilghosh.com">
</process>
http://example.com/
, а неhttp://example.com
. Браузеры исправят последнее на первое, если вы введете их в адресную строку, но это исправит очевидную ошибку при вводе. У вас не может быть HTTP URI без части пути. - person Jon Hanna   schedule 29.08.2012