【问题标题】:XML Header CreationXML 标头创建
【发布时间】:2012-11-02 14:50:41
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: xquery xmlspy


    【解决方案1】:

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

    撒克逊人:

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

    标记逻辑:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢,这个答案让我走上了正轨。我最终发现这个选项也可以从“XSL/XQuery”菜单中的“XSLT/XQuery 设置”对话框中设置。
      猜你喜欢
      • 1970-01-01
      • 2017-01-29
      • 1970-01-01
      • 2021-09-25
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-08
      相关资源
      最近更新 更多