如何使用XQuery从一系列值中选择属性的特定值?

如何使用XQuery从一系列值中选择属性的特定值?,xquery,Xquery,如何使用XQuery从一系列值中选择特定属性值 我的XML文件如下所示: <unit id="01" xref="entry01 entry02"> 如何从外部参照属性中选择特定值(例如entry01)并将其指定给变量 我需要从属性外部参照中选择各个值,因为这些值的其他功能稍后将在文件中定义: <features xref="entry01" font-size="2"> <features xref="entry02" font-size="3"> 我想

如何使用XQuery从一系列值中选择特定属性值

我的XML文件如下所示:

<unit id="01" xref="entry01 entry02">
如何从外部参照属性中选择特定值(例如entry01)并将其指定给变量

我需要从属性外部参照中选择各个值,因为这些值的其他功能稍后将在文件中定义:

<features xref="entry01" font-size="2">
<features xref="entry02" font-size="3">
我想把这些条目组织成一个表格,例如下面举例的表格。属性定义的列如下:单元id、外部参照、字体大小

<tbody>
<tr>
<td>01</td>
<td>entry01</td>
<td>2</td>
</tr>
<tr>
<td>01</td>
<td>entry02</td>
<td>3</td>
</tr>
</tbody>
根据需要,使用fn:tokenize在空格或所有空格字符处拆分:

在单个空间拆分:

tokenize(<unit id="01" xref="entry01 entry02"/>/@xref, " ")[1]
允许多个空间相互紧跟:

tokenize(<unit id="01" xref="entry01  entry02"/>/@xref, " +")[2
在单个空白处拆分我将属性值更改为包含制表符:

tokenize(<unit id="01" xref="entry01    entry02"/>/@xref, "\s")[2]

我修改了这个例子,因为原来的一些问题没有正确地显示出来。我在将tokenize与变量一起使用时也遇到了问题,我使用该变量从XML文件中获取条目:docunits.XML中的$units/units@ritzdiamond,您提供的XML文档不包含任何名为units的元素。你上面的评论与这个事实相矛盾。建议您使用真实的XML文档更新问题,或接受此答案单击答案旁边的复选标记并提出新问题。