Xml XQuery中属性的迭代插入

Xml XQuery中属性的迭代插入,xml,xquery,Xml,Xquery,我有一个巨大的XML文档,其中一部分是 <tracklist> <track> <position>A1</position> <title>Un Momento Solo (North 5th. St. Dub)</title> <duration>6:04</duration> </track> <track> <posit

我有一个巨大的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>
然而,我得到了一个错误

[XPST0003] Unexpected end of query: 'insert attribut...'.

这是一个小的语法问题。update语句的语法是

insert node [node] into [target-node]
如果我记得在这里正确地使用了两个单词,那么关键字
insert node
总是同时出现的,这有一些语法原因(否则,在解析过程中可能会有一些歧义)

例如,删除
update
关键字(该关键字不存在)并添加缺少的
节点

for $i in db:open("releases1","releases.xml")/releases/release
return insert node attribute tot {count($i/tracklist/track)} into 
$i/tracklist

这是一个小的语法问题。update语句的语法是

insert node [node] into [target-node]
如果我记得在这里正确地使用了两个单词,那么关键字
insert node
总是同时出现的,这有一些语法原因(否则,在解析过程中可能会有一些歧义)

例如,删除
update
关键字(该关键字不存在)并添加缺少的
节点

for $i in db:open("releases1","releases.xml")/releases/release
return insert node attribute tot {count($i/tracklist/track)} into 
$i/tracklist

请不要将文本输入或代码作为图像发布,它们会阻止任何人使用它。相反,请提供原始文件或与您的查询匹配的(格式良好的)摘录(因此,至少包括相关部分)。看看一个好问题应该包括哪些内容。请不要将文本输入或代码作为图像发布,它们会阻止任何人使用它。相反,请提供原始文件或与您的查询匹配的(格式良好的)摘录(因此,至少包括相关部分)。看看一个好问题应该包括哪些内容。谢谢你的回答。我按照问题表中的要求发布了代码。您的曲目中的代码正确,但不需要最后一个
曲目。它产生了一个错误,我从你的问题中复制了这个错误;由于还没有合适的示例输入(BaseX的可视化在使用它时很适合探索,但比一些XML片段更难理解结构),我几乎无法验证查询的语义。更新后的问题提供了一个好问题所需的几乎所有内容:示例输入、清晰的描述您试图实现的目标、您尝试的内容以及清晰的问题陈述,+1。谢谢您的回答。我按照问题表中的要求发布了代码。您的曲目中的代码正确,但不需要最后一个
曲目。它产生了一个错误,我从你的问题中复制了这个错误;由于还没有合适的示例输入(BaseX的可视化在使用它时很适合探索,但比一些XML片段更难理解结构),我几乎无法验证查询的语义。更新后的问题提供了一个好问题所需的几乎所有内容:示例输入、清晰的描述您试图实现的目标、您尝试过的内容和清晰的问题陈述,+1。