我对XQuery还是陌生的,他正努力在网上找到任何可以教给我诸如此类简单知识的东西。我试图只传递2个字符串,其中1个字符串作为标记返回,而1个字符串作为新值返回。到目前为止,我已经有了这个,但是出现了构建错误。
declare function util:format-promo-tracking-element(
$fieldName as xs:string,
$stringValue as xs:string)
{
let $elementName := $fieldName
if($stringValue = '5.00') then (
let $stringValue := '4.05'
return
element {$elementName}
{
data($stringValue)
}
)
else()
};
我也尝试将return语句移到末尾。
答案 0 :(得分:2)
XQuery是一种功能语言,因此不允许尝试将新值分配给现有变量。 我想你想要这样的东西。
declare function util:format-promo-tracking-element(
$fieldName as xs:string,
$stringValue as xs:string)
{
let $newValue := if ($stringValue = '5.00') then '4.05' else $stringValue
return
element {$fieldName}
{
$newValue
}
};
Wikibooks上有很多基本示例。