1

我有一些工作的 XQuery 脚本,我想用它们来生成有效的 XML 文档。因此,我还想包含一个 XML 标头:<?xml version="1.0" encoding="UTF-8"?>. 我知道此标头是可选的,但无论如何我都希望将其包含在内,尤其是要指定正确的编码。

但是,我不知道如何将此标头插入到输出中。我的编辑器 (XMLSpy) 抱怨我能想到的插入标题的任何变体。

根据我在这方面找到的少数资源,可能是我不应该手动生成此标头,而是让我的序列化程序为我执行此操作,可能通过使用declare option. 然而,当涉及到 XMLSpy 时,我找不到任何关于此的信息。

有没有办法手动插入这个标题?如果没有,我是否需要修改我的解释器以使其自动生成?

4

2 回答 2

2

我认为声明选项是特定于实现的,因此您需要为您的 xQuery 处理器查找正确的选项。例如:

撒克逊人:

declare option saxon:output "omit-xml-declaration=no";

标记逻辑:

declare option xdmp:output "omit-xml-declaration=no";

但是,您应该能够通过将其添加到输出中来手动输出序言:

<?xml version="1.0" encoding="UTF-8" ?>
于 2012-11-02T16:45:41.533 回答
1

假设您使用 AltovaXML 执行 xquery,您需要omitXMLDeclaration通过您使用的任何接口(命令行、java 或其他任何接口)设置为 false(默认值为 true)。似乎没有 xquery 级别的选项声明来设置它。http://manual.altova.com/AltovaXML/altovaxmlcommunity/上的文档显示了如何针对各种情况执行此操作。

于 2012-11-02T16:37:25.807 回答