как использовать if else в назначении xquery

Я пытаюсь использовать условие if для присвоения значения переменной в xquery. Я не знаю, как это сделать.

Вот что я пробовал:

declare namespace libx='http://libx.org/xml/libx2';
declare namespace atom='http://www.w3.org/2005/Atom';
declare variable $entry_type as xs:string external;
let $libx_node :=
    if ($entry_type = 'package' or 'libapp') then
      {element {fn:concat("libx:", $entry_type)} {()} }
    else if ($entry_type = 'module') then
      '<libx:module>
        <libx:body>{$module_body}</libx:body>
      </libx:module>'

Этот код выдает ошибку [XPST0003] Incomplete 'if' expression. Может ли кто-нибудь помочь мне исправить это?

Кроме того, может ли кто-нибудь предложить несколько хороших руководств по изучению xqueries.

Спасибо, Sony

16
задан sony 10 September 2010 в 18:21
поделиться