1
我將一個參數('articles-counter'
)從表單傳遞到eXist-db應用程序中的函數。如何解決傳遞給eXist-db中的XQuery函數的空參數
如果沒有通過(該字段不填寫),這個工程:
let $xmldb-food :=
(
let $articles-counter :=
(
let $counter-passed := request:get-parameter('articles-counter', '')
return
if ($counter-passed) then
$counter-passed
else()
)
for $uri at $count in (1 to xs:integer($articles-counter))
let $param := request:get-parameter(concat('article-uri-', $count), '')
return
if ($param ne '') then
string-join($param, ',')
else()
)
下一個例子沒有。它預計xs:integer
(在for
範圍內),但得到''
。這裏發生了什麼?我認爲這幾乎是相同的:
let $xmldb-food :=
(
let $articles-counter := request:get-parameter('articles-counter', '')
for $uri at $count in (1 to xs:integer($articles-counter))
let $param := request:get-parameter(concat('article-uri-', $count), '')
return
if ($param ne '') then
string-join($param, ',')
else()
)
是什麼''
和()
(空序列)之間的區別?
非常感謝,優雅的和親的解決方案。起初,我用最簡單的if-then-else循環來處理它,它起作用,但這樣更好! –