cómo usar if else en la asignación de xquery

Estoy tratando de usar una condición if para asignar un valor a una variable en un xquery. No estoy seguro de cómo hacer esto.

Esto es lo que probé:

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>'

Este código arroja un [XPST0003] Incomplete 'if' error de expresión. Alguien me puede ayudar a arreglar esto?

Además, ¿alguien puede sugerir algunos buenos tutoriales para aprender xqueries?

Gracias Sony

Respuestas a la pregunta(1)

Su respuesta a la pregunta