diff --git a/add/data/xql/getLinkTarget.xql b/add/data/xql/getLinkTarget.xql index ff128ea2fd4160787b64da8d71e2565fc82da0ed..3fc56f48edeeb298cdb1f28a8a43dcf7163163e2 100644 --- a/add/data/xql/getLinkTarget.xql +++ b/add/data/xql/getLinkTarget.xql @@ -192,10 +192,18 @@ declare function local:getWindowTitle($doc as node()+, $type as xs:string) as xs (: HTML :) else if ($type = 'html') then ($doc//head/data(title)) + + else if($type = 'unknown') then + + let $eventualTitleContainers := ($doc//mei:titleStmt, $doc/tei:titleStmt) + let $eventualTitles := ( + for $et in $eventualTitleContainers return + eutil:getLocalizedTitle($eventualTitleContainers[1], $lang), + for $t in $doc//*:title return + $t => normalize-space() + ) - (: MEI fallback if no title is found :) - else if (exists($doc//mei:mei) and exists(($doc//mei:titleStmt)[1])) then - (eutil:getLocalizedTitle(($doc//mei:titleStmt)[1], $lang)) + return $eventualTitles[1] else (string('unknown'))