这是我的代码:
let $directors := distinct-values(
for $director in //director
where count(result/videos/video[director = $director]) >= 2
return $director
)
for $director in $directors
return (
<movie director= " { data($director) } ">
{
for $movie in result/videos/video
where $movie/director = $director
return $movie/title
}</movie>)
)
这就是它产生的东西:
<?xml version="1.0" encoding="UTF-8"?>
<movie director=" Tokko ">
<title>Doquissåpan, avsnitt 1</title>
<title>Doquissåpan, avsnitt 2</title>
<title>Doquissåpan, avsnitt 4</title>
</movie>
但我想要的是:
<?xml version="1.0" encoding="UTF-8"?>
<movie director=" Tokko ">
<title>Doquissåpan, avsnitt 1</title>
<title>Doquissåpan, avsnitt 2</title>
<title>Doquissåpan, avsnitt 4</title></movie>
如果您没有注意到,这两者之间的区别就在于结束电影标签。我怎样才能让它在同一条线上?有没有办法阻止XQuery生成新行?
THX
答案 0 :(得分:1)
我认为EditiX使用Saxon,虽然与其他IDE供应商如oXygen和Stylus Studio不同,但他们对此保持着非常的安静,并且他们与Saxonica没有任何商业关系。这意味着你可能会在查询中使用Saxon序列化指令(例如&#34;声明saxon:输出缩进=&#39;是&#39;&#34; - 除非EditiX做了一些事情来防止这种情况。但是,我不认为这会对你有所帮助。你看到的输出是你打开缩进时得到的结果。你似乎想要输出一些元素打开缩进,然后关闭对于其他人。如果你需要这种级别的控制,你将不得不完全关闭缩进并完全控制空格的输出&#34;手动&#34;通过在你的结果中包含空格文本节点查询。