Skip to content

Commit 3ee2368

Browse files
committed
process multiple editors as "dens." #470
1 parent 935f9e9 commit 3ee2368

File tree

4 files changed

+29
-6
lines changed

4 files changed

+29
-6
lines changed

catalogues/dictionary_de.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,7 @@
461461
<entry xml:id="edBy">hg. von</entry>
462462
<entry xml:id="edByIdemM">dems.</entry>
463463
<entry xml:id="edByIdemF">ders.</entry>
464+
<entry xml:id="edByIdemPl">dens.</entry>
464465
<entry xml:id="ed">Hg.</entry>
465466
<entry xml:id="detailsAvailable">Details verfügbar</entry>
466467
<entry xml:id="emptyResultSet">Zu dieser Filtereinstellung wurden keine Einträge gefunden.</entry>

catalogues/dictionary_en.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,7 @@
431431
<entry xml:id="edBy">ed. by</entry>
432432
<entry xml:id="edByIdemM">idem</entry>
433433
<entry xml:id="edByIdemF">idem</entry>
434+
<entry xml:id="edByIdemPl">idem</entry>
434435
<entry xml:id="ed">Ed.</entry>
435436
<entry xml:id="detailsAvailable">more details</entry>
436437
<entry xml:id="emptyResultSet">No entries found for this filter setting.</entry>

modules/bibl.xqm

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -387,18 +387,27 @@ declare %private function bibl:edited-by($biblStruct as element(tei:biblStruct),
387387
exists($biblStruct/tei:monogr/tei:editor/@key) and
388388
exists($biblStruct/tei:analytic/tei:author/@key) and
389389
$biblStruct/tei:monogr/tei:editor/@key = $biblStruct/tei:analytic/tei:author/@key
390+
let $dens as xs:boolean :=
391+
count($biblStruct/tei:monogr/tei:editor) gt 1 and
392+
count($biblStruct/tei:analytic/tei:author) gt 1 and
393+
count($biblStruct/tei:analytic/tei:author) eq count($biblStruct/tei:monogr/tei:editor) and
394+
(every $i in ($biblStruct/tei:analytic/tei:author | $biblStruct/tei:monogr/tei:editor) satisfies $i/@key) and
395+
(every $i in $biblStruct/tei:analytic/tei:author/@key satisfies $i = $biblStruct/tei:monogr/tei:editor/@key)
390396
let $sex :=
391397
if($ders)
392398
then crud:doc($biblStruct/tei:monogr/tei:editor/@key)//tei:sex
393399
else ()
394400
return
395401
if(exists($editors))
396402
then
397-
if($sex = 'm')
398-
then (concat(', ', lang:get-language-string('edBy', $lang), ' '), <xhtml:span class="editor">{lang:get-language-string('edByIdemM', $lang)}</xhtml:span>)
399-
else
400-
if($sex = 'f')
401-
then (concat(', ', lang:get-language-string('edBy', $lang), ' '), <xhtml:span class="editor">{lang:get-language-string('edByIdemF', $lang)}</xhtml:span>)
402-
else (concat(', ', lang:get-language-string('edBy', $lang), ' '), $editors)
403+
if($dens)
404+
then (concat(', ', lang:get-language-string('edBy', $lang), ' '), <xhtml:span class="editor">{lang:get-language-string('edByIdemPl', $lang)}</xhtml:span>)
405+
else
406+
if($sex = 'm')
407+
then (concat(', ', lang:get-language-string('edBy', $lang), ' '), <xhtml:span class="editor">{lang:get-language-string('edByIdemM', $lang)}</xhtml:span>)
408+
else
409+
if($sex = 'f')
410+
then (concat(', ', lang:get-language-string('edBy', $lang), ' '), <xhtml:span class="editor">{lang:get-language-string('edByIdemF', $lang)}</xhtml:span>)
411+
else (concat(', ', lang:get-language-string('edBy', $lang), ' '), $editors)
403412
else ()
404413
};

testing/xqsuite/biblio-tests.xqm

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,15 @@ declare
122122
return
123123
bibl:printIncollectionCitation($doc/tei:biblStruct, <xhtml:div/>, 'de')
124124
};
125+
126+
declare
127+
%test:args('A110779') %test:assertEquals("<xhtml:span xmlns:xhtml='http://www.w3.org/1999/xhtml' class='editor'>Gerhard Allroggen</xhtml:span>", "<xhtml:span xmlns:xhtml='http://www.w3.org/1999/xhtml' class='editor'>Detlef Altenburg</xhtml:span>")
128+
%test:args('A110211') %test:assertEquals("<xhtml:span xmlns:xhtml='http://www.w3.org/1999/xhtml' class='editor'>Bernhard R. Appel</xhtml:span>", "<xhtml:span xmlns:xhtml='http://www.w3.org/1999/xhtml' class='editor'>Joachim Veit</xhtml:span>")
129+
%test:args('A112665') %test:assertEquals("<xhtml:span xmlns:xhtml='http://www.w3.org/1999/xhtml' class='editor'>ders.</xhtml:span>")
130+
%test:args('A111266') %test:assertEquals("<xhtml:span xmlns:xhtml='http://www.w3.org/1999/xhtml' class='editor'>dems.</xhtml:span>")
131+
%test:args('A110035') %test:assertEquals("<xhtml:span xmlns:xhtml='http://www.w3.org/1999/xhtml' class='editor'>dens.</xhtml:span>")
132+
function bt:test-ed-by($a as xs:string) as element()* {
133+
let $doc := crud:doc($a)
134+
return
135+
bibl:printIncollectionCitation($doc/tei:biblStruct, <xhtml:div/>, 'de')//xhtml:span[@class='editor']
136+
};

0 commit comments

Comments
 (0)