XQuery/返回最長字串
外觀
< XQuery
您希望在一系列字串中找到最長字串。
xquery version "1.0";
declare function local:max-length($string-seq as xs:string*) as xs:string+ {
let $max := max (for $s in $string-seq return string-length($s))
return $string-seq[string-length(.) = $max]
};
let $tags :=
<tags>
<tag>Z</tag>
<tag>Ze</tag>
<tag>Zee</tag>
<tag>Zen</tag>
<tag>Zenith</tag>
<tag>nith</tag>
<tag>ith</tag>
<tag>Zenth</tag>
</tags>
return
<results>
<max-string>{local:max-length(($tags/tag))}</max-string>
</results>
<results>
<max-string>Zenith</max-string>
</results>
此 XQuery 建立一個本地函式,它接受零個或多個字串
$string-seq as xs:string*
並返回一個或多個字串
as xs:string+
它使用 max() XPath 函式,該函式檢視一系列值並返回最高值。
請注意,如果輸入集中有多個字串具有相同的最大長度,它將返回所有最大長度的字串。
如果您只想返回第一個,請在返回表示式中新增“[1]”
return $string-seq[string-length(.) = $max][1]