1
我想將一個函數應用於序列中的每個元素並獲得結果。有人能指引我朝着正確的方向嗎?Xquery - 如何將地圖應用於序列?
例如
declare function local:ToTextNode($string as xs:string) as Node()
{
text { $string }
};
我想上述適用於:
('foo','bar','baz')
...,並得到節點序列。
我想將一個函數應用於序列中的每個元素並獲得結果。有人能指引我朝着正確的方向嗎?Xquery - 如何將地圖應用於序列?
例如
declare function local:ToTextNode($string as xs:string) as Node()
{
text { $string }
};
我想上述適用於:
('foo','bar','baz')
...,並得到節點序列。
使用simple map operator !
,但它需要一個實現XQuery 3.0的XQuery處理器。
declare function local:ToTextNode($string as xs:string) as node()
{
text { $string }
};
('foo','bar','baz') ! local:ToTextNode(.)
你並不需要定義一個函數,你也可以直接使用文本節點構造:
('foo','bar','baz') ! text { . }
如果你的XQuery引擎不支持地圖運營商(還),你將不得不使用FLWOR表達式:
for $i in ('foo','bar','baz')
return text { $i }
有在你的函數的一些語法錯誤:它是'節點()','不XS:node',你不能用'return'沒有任何'let'或'for'。 –