XML标头创建



我有一些正在运行的XQuery脚本,我想用它们来生成有效的XML文档。因此,我也想包含一个XML头:<?xml version="1.0" encoding="UTF-8"?>。我知道这个标头是可选的,但我希望它无论如何都包含在内,特别是为了指定正确的编码。

然而,我不知道如何将这个标头插入到输出中。我的编辑器(XMLSpy)抱怨我能想到的插入头的任何变体。

根据我在这方面找到的一些资源,我可能不应该手动生成这个头,而是让我的序列化程序为我做这件事,可能是通过使用declare option设置解释器选项。然而,当涉及到XMLSpy时,我找不到任何关于这方面的信息。

是否有手动插入此页眉的方法?如果没有,我是否需要修改我的解释器,使其自动生成?

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

撒克逊语:

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

Marklogic:

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

但是,您应该能够手动输出prolog,方法是在您的输出中预先准备:

<?xml version="1.0" encoding="UTF-8" ?>

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

最新更新