Xml 访问xslt编码UTF-8

Xml 访问xslt编码UTF-8,xml,xslt,encoding,utf-8,xml-namespaces,Xml,Xslt,Encoding,Utf 8,Xml Namespaces,设置从Microsoft Access数据库提取的数据到XML的布局时遇到问题。我创建了一个XSLT模板,该模板可用于99%的文件,但有两行: 1) 当编码到UTF-8时,它不会在标记中显示“encoding=”UTF-8“,但如果它是在UTF-16中编码的,则会显示。我需要显示此属性 2) 我有一个标签(我们称之为),它有一个version属性和一个xmlns:xsi属性。它们在XSLT文件中按正确顺序设置,但在输出文件中切换: XSLT类似于: <tag xmlns:xsi="http

设置从Microsoft Access数据库提取的数据到XML的布局时遇到问题。我创建了一个XSLT模板,该模板可用于99%的文件,但有两行:

1) 当编码到UTF-8时,它不会在标记中显示“encoding=”UTF-8“,但如果它是在UTF-16中编码的,则会显示。我需要显示此属性

2) 我有一个标签(我们称之为
),它有一个version属性和一个xmlns:xsi属性。它们在XSLT文件中按正确顺序设置,但在输出文件中切换:

XSLT类似于:

<tag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="V1.2.3.4 02-09-2013">

XML输出类似于:

<tag version=""1.2.3.4 02-09-2013" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

在XSLT使用的数据模型级别上,属性出现的顺序并不重要,XSLT为用户提供的控制很少

如果下游软件要求属性按给定顺序出现,并且样式表处理器没有在文本结果元素上保留属性序列,则您可以选择:

  • 编写一个简单的过滤器,在XSLT之后运行,以将属性放入所需的顺序
  • 通过修复下游软件对属性序列的敏感性来修复(损坏的)下游软件