Database 在称为overrest的BaseX导出中包含XML声明
几个月来,我一直在使用BaseX和REST来处理一些XML文件。到目前为止,我一直在使用以下查询导出我的文件:Database 在称为overrest的BaseX导出中包含XML声明,database,rest,xquery,basex,xml-declaration,Database,Rest,Xquery,Basex,Xml Declaration,几个月来,我一直在使用BaseX和REST来处理一些XML文件。到目前为止,我一直在使用以下查询导出我的文件: db:export(',char(39),dbName,char(39),',',char(34),'path',char(34),') 如果这令人困惑,那只是因为我展示了它是如何构造的,实际调用看起来像: http://localhost:8984/rest?query=db%3Aexport%28%27dbName%27%2C%22C%3A%5CUsers%5Cdak52%5CD
db:export(',char(39),dbName,char(39),',',char(34),'path',char(34),')
如果这令人困惑,那只是因为我展示了它是如何构造的,实际调用看起来像:
http://localhost:8984/rest?query=db%3Aexport%28%27dbName%27%2C%22C%3A%5CUsers%5Cdak52%5CDocuments%5Cfolder%22%29
无论如何,这很好,但我想在输出中包含XML声明。我曾尝试将省略xml声明
选项设置为“否”,但我想我做得不对。当我尝试从指定该选项的BaseXGUI导出时,它工作得很好,但我想通过REST来完成这一切,这就是我遇到的问题所在。下面是我的查询,包括选项
http://localhost:8984/rest?query=db%3Aexport%28%27dbName%27%2C%22C%3A%5CUsers%5Cdak52%5CDocuments%5Cfolder%22%29&omit-xml-declaration=no
这将运行并生成输出,但此输出不包括我的xml声明。输出序列化选项
通常,有两个选项用于声明输出序列化参数(我简化了查询):
- 在查询序言中(
):声明选项输出:省略xml声明“否”
- 作为您已经尝试过的REST GET(或POST)参数:
db:export("foo", "/tmp", map { 'omit-xml-declaration': 'no' })
用剩下的电话
非常感谢您的帮助和对我原始问题的编辑。快速跟进:您知道是否可以在声明之后插入换行符,以便下一个元素出现在xml声明下面的行上吗?如果没有,不用担心。再次感谢@Jens EratI今天与BaseX项目负责人进行了交谈,这是一次非常愉快的谈话。如果您对更新感兴趣,请关注此问题。