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]