[英]Iterative insertion of attributes in XQuery
我有一個巨大的XML文檔,其中一部分是
<tracklist>
<track>
<position>A1</position>
<title>Un Momento Solo (North 5th. St. Dub)</title>
<duration>6:04</duration>
</track>
<track>
<position>A2</position>
<title>Your Love Is Incredible</title>
<duration>6:44</duration>
</track>
<track>
<position>B1</position>
<title>Roots</title>
<duration>7:43</duration>
</track>
<track>
<position>B2</position>
<title>Un Momento Solo (Straight Up Mix)</title>
<duration>7:06</duration>
</track>
</tracklist>
我想補充的屬性tracklist
名為tot
下與子節點總數tracklist
稱為track
for $i in db:open("releases1","releases.xml")/releases/release
return update insert attribute tot {count($i/tracklist/track)} into
$i/tracklist/track
但是,我收到一個錯誤
[XPST0003] Unexpected end of query: 'insert attribut...'.
這是一個較小的語法問題。 更新語句的語法是
insert node [node] into [target-node]
關鍵字insert node
總是一起出現的地方,如果我沒記錯的話,這里有兩個語法上的原因(否則,在解析過程中可能會有歧義)。
對於您的示例,刪除update
關鍵字(該關鍵字不存在)並添加缺少的node
:
for $i in db:open("releases1","releases.xml")/releases/release
return insert node attribute tot {count($i/tracklist/track)} into
$i/tracklist
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.