0
我需要編寫一個函數,它的形式是「標籤」元素的序列:XQuery函數來標記元素轉換爲屬性
<tag type="markupType" value="topic"/>
<tag type="concept" value="death"/>
...
,並把它們轉化成表格的屬性
data-markupType="topic"
data-concept="death"
到目前爲止,我有以下功能:
declare function local:tagsToAttrs($tags as element()*) as attribute()*
{
for $tag in $tags
let $type := $tag/string(@type)
let $value := $tag/string(@value)
return
attribute { concat('data-', $type) } { $value }
};
這是工作的罰款,到目前爲止,但我需要處理的Wi在這種情況下,我有兩個或更多的標籤具有相同的「類型」。在這種情況下,我不能有兩個屬性具有相同的名稱,所以我想要具有空格分隔值的單個屬性...
例如,
<tag type="concept" value="death"/>
<tag type="concept" value="life"/>
<tag type="concept" value="birth"/>
將成爲
data-concept="death life birth"
我一直停留在這個有一段時間了 - 所以,如果任何人有修改我的函數來做到這一點,我會非常感激的一個很好的方式。
請注意我不想爲此使用XSLT。我想使用XQuery。
此致
斯瓦米薩