0

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

1) 编码成 UTF-8 时,标签中不会显示 'encoding="UTF-8"',但如果是 UTF-16 编码,则会显示。我需要显示此属性。

2)我有一个标签(我们称之为<tag></tag>),它有一个版本属性以及一个 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">

我怎么可能强制 XML 文件的内容与 XSLT 文件完全相同?

作为记录,我使用 Microsoft Access 导出我的数据,并且没有任何其他方法可以执行此操作。

谢谢您的帮助!

4

1 回答 1

0

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

如果您的下游软件要求属性以给定的顺序出现并且您的样式表处理器不保留文字结果元素的属性序列,您的选择是:

  • 编写一个在 XSLT 之后运行的简单过滤器,以将属性按所需顺序排列。
  • 通过修复其对属性序列的敏感性来修复(损坏的)下游软件。
于 2013-09-02T14:50:10.673 回答