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

时间:2012-08-15 09:07:41

标签: xquery

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

我的XML文件如下所示:

<unit id="01" xref="entry01 entry02">

如何从 xref 属性中选择特定值(例如entry01 ---)并将其指定给变量?

我需要从属性 xref 中选择单个值,因为这些值的其他功能稍后会在文件中定义:

<features xref="entry01" font-size="2">
<features xref="entry02" font-size="3">

我想将这些条目组织成一个表格,例如下面举例说明的一个表格。由属性定义的列如下:unit id,xref,font-size。

<tbody>
<tr>
<td>01</td>
<td>entry01</td>
<td>2</td>
</tr>
<tr>
<td>01</td>
<td>entry02</td>
<td>3</td>
</tr>
</tbody>

1 个答案:

答案 0 :(得分:0)

根据您的需要,使用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]