请考虑以下 XML--
<table class="rel_patent"><tbody>
<tr><td>Name</td><td>Description</td></tr>
<tr><td>A</td><td>Type-A</td></tr>
<tr><td>B</td><td>Type-B</td></tr>
<tr><td>C</td><td>Type-C</td></tr>
<tr><td>AC</td><td>Type-C
Type-A</td></tr>
<tr><td>D</td><td></td></tr>
</tbody></table>
现在我想选择并显示“名称”的所有值。“描述”元素的值......即使描述元素具有空值,即名称 = D 的元素,而且,当描述元素具有由输入分隔的值时,我希望这些值(描述)在单独的行中 - 即类型 - C 和 Type-A 用于 name=AC 的元素
这是我写的查询类型——
let $rows_data:= $doc//table[@class="rel_patent"]/tbody/tr[1]/following-sibling::tr
for $data_single_row in $rows_data
return
let $cited_name:= $data_single_row/td[1]
let $original_types_w_return:= $data_single_row/td[4]
let $original_types_list:= tokenize($original_types_w_return, '(\r?\n|\r)$')
for $cited_type_each at $pos2 in $original_types_list
return concat( $cited_name, '^', $original_type_each, '^', $pos2)
但是,我收到以下类型的响应-
A^Type-A^1
B^Type-B^1
C^Type-C^1
AC^Type-C
Type-A^1
现在,我需要在上面的代码+响应中得到以下正确---
(1) “AC”的数据应该是 2 个单独的行,“Type-C”和“Type-A”在 2 行中的每一行中,以及对应的。每行中最后一个字段的值为 1 和 2(因为这些是 2 个值)
(2) 根本没有显示“D”的数据。
如何更正上述代码以符合这两个要求?