From 02c7b988c810853ae4d29683bda7f0251ab05403 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20R=C3=B6wenstrunk?= <roewenstrunk@uni-paderborn.de>
Date: Tue, 7 Jan 2025 16:19:50 +0100
Subject: [PATCH] Errors fixed and fallback for MEI included again

---
 add/data/xql/getLinkTarget.xql | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/add/data/xql/getLinkTarget.xql b/add/data/xql/getLinkTarget.xql
index 0ed96d124..ddf25b91e 100644
--- a/add/data/xql/getLinkTarget.xql
+++ b/add/data/xql/getLinkTarget.xql
@@ -185,6 +185,10 @@ declare function local:getWindowTitle($doc as node()+, $type as xs:string) as xs
         ($doc//mei:source)[1]//mei:identifier[lower-case(@type) = 'shelfmark'][1]), ' | ')
         => 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))
+
     (: Text :)
     else if ($type = 'text') then
         (eutil:getLocalizedTitle($doc//tei:fileDesc/tei:titleStmt[1], $lang))
@@ -195,10 +199,10 @@ declare function local:getWindowTitle($doc as node()+, $type as xs:string) as xs
     
     else if($type = 'unknown') then
     
-        let $eventualTitleContainers := ($doc//mei:titleStmt, $doc/tei:titleStmt)
+        let $eventualTitleContainers := ($doc//mei:titleStmt, $doc//tei:titleStmt)
         let $eventualTitles := (
             for $et in $eventualTitleContainers return
-                eutil:getLocalizedTitle($eventualTitleContainers[1], $lang),
+                eutil:getLocalizedTitle($et, $lang),
             for $t in $doc//*:title return
                 $t => normalize-space()
         )
-- 
GitLab