Xquery - 将属性附加到所有元组

时间:2018-05-14 12:25:10

标签: xquery

我希望你们都做得很好。

我在Xquery中遇到了一个问题。

问题的背景

我一直在xquery做作业,我在这里做了一个递归函数,它在一个国家开始,然后递归调用边界国家等等。例如,在我的练习中,我们从瑞典开始,因此第一次调用将生成以下代码:

<country name="Norway"/>
<country name="Finland"/>

对于第二次电话,我们获取此数据以及俄罗斯的元组(因为俄罗斯与芬兰接壤)。对于第三次电话,我们会收到许多国家(与俄罗斯接壤)。

我终于设法让递归功能正常运行,并且我已设法按上述方式生成国家/地区。

但是,有一件事情是缺失的,那就是到达每个国家所需的步骤数量。我有一个变量,但我似乎无法让它工作。

问题描述

我有一个名为 $ borderingCountries 的变量,它包含以下数据:

<name>Norway</name>
<name>Finland</name>

此外,我还有一个名为 $ step 的变量,其值为1.我想将此作为 $ borderingCountries 中元组的属性插入,理想情况下我会喜欢这样做,以便我的 $ borderingCountries 看起来像这样:

  <name steps = 1> Norway </name>
  <name steps = 1> Finland </name>

其中,步骤是 $ step

的值

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果你有这些元素,并希望&#34;添加&#34;您需要使用所需属性

重新创建它们的属性
let $steps := 1,
    $countries := (<name>Norway</name>, <name>Finland</name>)
return $countries!<name steps="{$steps}">{data()}</name>

https://xqueryfiddle.liberty-development.net/3Nqn5Y5