如何为每个编写人员提供一个不同的属性,以便下面的示例之一具有多个写属性节点?
期望产出:
<writers writer="n"></writers>
<writers writer="a";writer="b";writer="c"></writers>
<writers writer="z"></writers>(如注释和答复中所指出的,它不是有效的)。
产出:
<writers writer="Giada De Laurentiis"></writers>
<writers writer="J K. Rowling"></writers>
<writers writer="James McGovern Per Bothner Kurt Cagle James Linn Vaidyanathan Nagarajan"></writers>
<writers writer="Erik T. Ray"></writers>查询:
xquery version "3.1";
declare option output:method 'html';
for $doc in db:open("bookstore")
let $books := $doc/bookstore/book
for $book in $books
let $authors := $book/author
return <writers writer="{data($authors)}"></writers>有意嵌套的循环。
发布于 2020-12-12 15:16:36
你能做的就是。
element { 'writers' } { $authors ! attribute { 'writer' || position() } { . } }但是,如果元素或属性名称带有索引,则通常会考虑非常糟糕的XML样式,您不能为此编写DTDS或模式,而XPath或XQuery选择可能会变得复杂。
https://stackoverflow.com/questions/65266219
复制相似问题