为变量分配字符串值的if语句

时间:2018-11-06 22:03:16

标签: xquery

我对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语句移到末尾。

1 个答案:

答案 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上有很多基本示例。