BaseX在节点数据之间返回换行符

时间:2010-06-18 20:57:40

标签: xml formatting xquery basex

我正在使用BaseX作为基于XML的数据库。我做了一个简单的查询,如

xquery for $Book in 
/Libraray/Literaturelist/Literature/Title return fn:data($Book)

我获得所有标题,就像没有换行符的字符串一样。

有没有办法在查询找到的每个节点之后用XQuery添加换行符来分隔数据?这实际上并不依赖于我的XML文件,因为我没有在标记中添加硬编码的换行符。 ;)

3 个答案:

答案 0 :(得分:2)

这取决于您检索查询结果的方式。最优雅的方法是使用迭代器,例如显示在:

http://basex.org/code/QueryExample

除此之外,你可以通过返回一个额外的换行来扩展你的XQuery:

xquery for $Book in /Libbraray/Literaturelist/Literature/Title
return (fn:data($Book), '
')

但请注意,无法抑制额外的输出空格字符。

最佳, 基督教

PS:随意使用basex-talk邮件列表以更快地获得反馈。

答案 1 :(得分:0)

添加换行符的另一种方法是明确使用换行符的字符引用:

xquery for $Book in /Libbraray/Literaturelist/Literature/Title
return (fn:data($Book), "
")

答案 2 :(得分:0)

XQuery 3.1 Serialization规范提供了新的“自适应”序列化模式,该模式在新行上输出每个XQuery结果。从BaseX 8开始,此模式用作新默认值。