define variable $LU-ELEMENTS as element(lu-elements) {
    <lu-elements>
        <lu-element>
            <zone>title</zone>
            <element>title</element>
            <namespace>metasearch</namespace>
        </lu-element>
</lu-elements>
}

define function element-namespace($zone as xs:string) as xs:string
{
    let $namespace := $LU-ELEMENTS/lu-element[.//zone eq $zone]/namespace
    return if ($namespace) then $namespace
            else ""
}



let $zone := "title"
let $text := "hello"
let $n as xs:string := let $namespace := $LU-ELEMENTS/lu-element[.//zone eq 
$zone]/namespace
    return if ($namespace) then $namespace
            else ""
let $f := element-namespace($zone)
return <behavior>
<a-string>{$n}</a-string>
<a-string-2>{$f}</a-string-2>
<not-a-string>{element-namespace($zone)}</not-a-string>
</behavior>

So why does the last one behave differently?


      
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to