2012-08-15 74 views
0

如何使用XQuery從一系列值中選擇特定屬性值?如何使用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> 

回答

0

使用fn:tokenize在空間分割(或所有空格)字符,這取決於你的需要:

分割在一個單一的空間:

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

允許多個空格直接下對方:

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

在單個空白處分割(I chan ged的屬性值包含製表符):

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

我修改了這個例子,因爲有些原始問題沒有正確顯示。 我也無法使用tokenize和一個變量,我用它從XML文件中獲取條目:對於doc中的$ units(「units.xml」)/單位 – ritzdiamond 2012-08-15 10:16:02

+0

@ritzdiamond,您提供的XML文檔不包含任何名爲'units'的元素。您的評論與此事實相矛盾。建議您使用* real * XML文檔更新問題,或*接受*此答案(點擊答案旁邊的複選標記)並提出一個新問題。 – 2012-08-15 12:39:31

相關問題