Java XSL转换抱怨将前缀绑定到命名空间

Java XSL转换抱怨将前缀绑定到命名空间,java,xslt,Java,Xslt,我尝试用XSL和javax.XML.transform.Transformer从Garmin Watch转换一个XML文档,它是一个TCX文件。这是文件(缩短): 2014-08-23T15:36:15.000Z 3181 7620 21.887998580932617 386 119 167 忙碌的 手册 2014-08-23T11:50:34.375Z 48.17259333333333 10.191565 542.5505981445312 0 70 缺席的 [...] 笔记 笔记

我尝试用XSL和javax.XML.transform.Transformer从Garmin Watch转换一个XML文档,它是一个TCX文件。这是文件(缩短):


2014-08-23T15:36:15.000Z
3181
7620
21.887998580932617
386
119
167
忙碌的
手册
2014-08-23T11:50:34.375Z
48.17259333333333
10.191565
542.5505981445312
0
70
缺席的
[...]  
笔记
笔记
跑步
极地V800
0
13
不适用
我使用javax.xml.transform.Transformer来完成这个任务,并得到一个奇怪的错误。转换器向我发出以下错误消息:

元素“xmlns:xsi”的前缀不能是“xmlns”

它属于以下行:

<Creator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Device_t">

在我看来,这句话是正确的。给定的名称空间仅绑定到前缀xsi。是否需要配置转换器以正确检测它,还是需要在xsl文件中指定某些内容


谢谢

使用您发布的代码:Touchè无法再现此问题。那么我的问题可能是xsl文件。我将再次检查并报告。也许您的样式表正在尝试将属性转换为元素?不管怎样,如果你的程序出现错误而失败了,那么发布程序代码通常是个好主意,而不仅仅是给我们输入数据。嘿,伙计们,我错过了我们系统中的一个步骤。上面的xml文件在XSL转换之前进行了预处理。在这个预处理的文件中,上面的行被处理为
http://www.w3.org/2001/XMLSchema-instanceDevice_t
。这会导致错误。
<Creator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Device_t">