2016-04-12 9 views
2

Ich habe einige Probleme mit dem if-then-sonst-Befehl der XQuery.Unvollständige FLWOR-Ausdruck: Erwartung "Rückkehr"

Derzeit bin ich mit BaseX XQuery zu bearbeiten

if ($item/pf3:Current/pf3:Name) then (
    let $Name := "None" 
) else (
    let $Name := data($item/pf3:Current/pf3:Name) 
) 

Dieses Stück wirft eine Fehlermeldung, (wenn es ankommt!): [XPST0003] Unvollständige FLWOR Ausdruck: erwartet 'Rückkehr'.

Antwort

3

Es gibt ein kleines Problem mit Ihrer xquery. Hier ist die korrigierte Version -

let $Name := 
if ($item/pf3:Current/pf3:Name) 
then "None" 
else data($item/pf3:Current/pf3:Name) 

Wenn es keine return-Anweisungen sind im Anschluss an die oben Zuordnungsanweisung, können Sie die folgende Anweisung return nach den obigen Ausführungen anhängen -

return $Name 
+0

Dank, das funktioniert. Nur eine Sache ... wenn was etwas ohne den sonst Teil haben würde, wäre es wie Lassen Sie $ Name: = if ($ item/pf3: Aktuell/pf3: Name) dann "Keine" else() –

+0

Ja, Sie können angeben(), wenn Sie kein anderes möchten. –

+0

Vielen Dank dafür! –