Skip to content

Commit c77eea0

Browse files
rework handling of multiple imprints with fallback
1 parent 6365337 commit c77eea0

7 files changed

Lines changed: 32 additions & 31 deletions

File tree

catalogues/dictionary_de.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,6 @@
458458
<entry xml:id="editorialGuidelines-text">Editionsrichtlinien Text</entry>
459459
<entry xml:id="restrictSelection">Auswahl einschränken</entry>
460460
<entry xml:id="and">und</entry>
461-
<entry xml:id="publishedIn">erschienen in</entry>
462461
<entry xml:id="vol">Bd.</entry>
463462
<entry xml:id="jg">Jg.</entry>
464463
<entry xml:id="pp">S.</entry>

catalogues/dictionary_en.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,6 @@
428428
<entry xml:id="editorialGuidelines-text">Editorial Guidelines Text</entry>
429429
<entry xml:id="restrictSelection">Restrict selection</entry>
430430
<entry xml:id="and">and</entry>
431-
<entry xml:id="publishedIn">published in</entry>
432431
<entry xml:id="vol">vol.</entry>
433432
<entry xml:id="jg">Jg.</entry>
434433
<entry xml:id="pp">pp.</entry>

modules/app.xqm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1930,7 +1930,7 @@ declare
19301930
let $biblStruct := $model('result-page-entry')//tei:biblStruct[1]
19311931
let $journalCitations :=
19321932
if(count($biblStruct/tei:monogr/tei:imprint) gt 1)
1933-
then bibl:printJournalCitationsByImprint($biblStruct/tei:monogr, <xhtml:li class="journal-citation"/>, $lang)
1933+
then bibl:printJournalCitationPerImprint($biblStruct/tei:monogr, <xhtml:li class="journal-citation"/>, $lang)
19341934
else ()
19351935
return
19361936
map {
@@ -1983,7 +1983,7 @@ declare
19831983
case element(tei:biblStruct) return
19841984
element {node-name($node)} {
19851985
$node/@*,
1986-
bibl:printCitation($source, <xhtml:p/>, $lang)/node()
1986+
bibl:printCitation($source, <xhtml:p/>, $lang)/node()[not(self::xhtml:span[@class=('deleteme_journalTitle', 'deleteme_imprintSection')])]
19871987
}
19881988
default return ()
19891989
};

modules/bibl.xqm

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,21 @@ declare function bibl:printIncollectionCitation($biblStruct as element(tei:biblS
175175
: @return element
176176
:)
177177
declare function bibl:printJournalCitation($monogr as element(tei:monogr), $wrapperElement as element(), $lang as xs:string) as element()? {
178-
if (count($monogr/tei:imprint) = 1) then
179-
bibl:print-journal-citation-from-imprint($monogr, $monogr/tei:imprint, $wrapperElement, $lang)
180-
else ()
178+
let $journalTitle :=
179+
if (count($monogr/tei:imprint) gt 1)
180+
then <xhtml:span class="deleteme_journalTitle">{bibl:printTitles($monogr/tei:title, $monogr/tei:edition)/node()}</xhtml:span>
181+
else (<xhtml:span class="journalTitle">{bibl:printTitles($monogr/tei:title, $monogr/tei:edition)/node()}</xhtml:span>)
182+
let $biblScope :=
183+
if (count($monogr/tei:imprint) gt 1)
184+
then for $imprint in $monogr/tei:imprint
185+
return <xhtml:span class="deleteme_imprintSection">{bibl:biblScope($imprint, $lang)}</xhtml:span>
186+
else <xhtml:span class="imprint">{bibl:biblScope($monogr/tei:imprint, $lang)}</xhtml:span>
187+
return
188+
element {$wrapperElement/name()} {
189+
$wrapperElement/@*,
190+
$journalTitle,
191+
$biblScope
192+
}
181193
};
182194

183195
(:~
@@ -189,23 +201,17 @@ declare function bibl:printJournalCitation($monogr as element(tei:monogr), $wrap
189201
: @param $lang the language switch (en, de)
190202
: @return element*
191203
:)
192-
declare function bibl:printJournalCitationsByImprint($monogr as element(tei:monogr), $wrapperElement as element(), $lang as xs:string) as element()* {
204+
declare function bibl:printJournalCitationPerImprint($monogr as element(tei:monogr), $wrapperElement as element(), $lang as xs:string) as element()* {
193205
for $imprint in $monogr/tei:imprint
194-
return bibl:print-journal-citation-from-imprint($monogr, $imprint, $wrapperElement, $lang)
195-
};
196-
197-
(:~
198-
: Helper function for bibl:printJournalCitation() and bibl:printJournalCitationsByImprint()
199-
:)
200-
declare %private function bibl:print-journal-citation-from-imprint($monogr as element(tei:monogr), $imprint as element(tei:imprint), $wrapperElement as element(), $lang as xs:string) as element() {
201-
let $journalTitle := <xhtml:span class="journalTitle">{bibl:printTitles($monogr/tei:title, $monogr/tei:edition)/node()}</xhtml:span>
202-
let $biblScope := bibl:biblScope($imprint, $lang)
203-
return
204-
element {$wrapperElement/name()} {
205-
$wrapperElement/@*,
206-
$journalTitle,
207-
$biblScope
208-
}
206+
return
207+
let $journalTitle := <xhtml:span class="journalTitle">{bibl:printTitles($monogr/tei:title, $monogr/tei:edition)/node()}</xhtml:span>
208+
let $biblScope := <xhtml:span class="imprintSection">{bibl:biblScope($imprint, $lang)}</xhtml:span>
209+
return
210+
element {$wrapperElement/name()} {
211+
$wrapperElement/@*,
212+
$journalTitle,
213+
$biblScope
214+
}
209215
};
210216

211217
(:~

resources/sass/pages/_search.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
.wega-volltext,
4343
.journal-citation {
4444
display: block;
45-
margin-left: 1em;
45+
margin-left: 3em;
46+
text-indent: -1em;
4647
}
4748

4849
.doi-link {

templates/includes/preview-biblio.html

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,12 @@
99
<a data-template="app:preview-title">Biblio Title</a>
1010
</h3>-->
1111
<p data-template="app:preview-citation" class="biblio-entry">
12-
Allgemeine Musikalische Zeitung (13.
13-
September 1809)
12+
Johann Andreas Stumpff, Huldigung, Karl Maria von Weber nach der ersten Erscheinung des „Oberon“ (am 12. April.), in: Berliner Allgemeine Musikalische Zeitung, Jg. 3, Nr. 37 (13. September 1826), S. 293
1413
</p>
1514

1615
<div data-template="app:process-biblio-publishing" data-template-wrap="no">
1716
<ul data-template="app-shared:if-exists" data-template-key="journalCitations" class="publishing-info">
18-
<li>
19-
<strong><span data-template="lang:translate" data-template-key="publishedIn">publishedIn</span>:</strong>
20-
</li>
21-
<li data-template="app-shared:output" data-template-key="journalCitations" data-template-wrap="no"></li>
17+
<li data-template="app-shared:output" data-template-key="journalCitations" data-template-wrap="no">Berliner Allgemeine Musikalische Zeitung, Jg. 3, Nr. 37 (13. September 1826), S. 293</li>
2218
</ul>
2319
</div>
2420

testing/xqsuite/biblio-tests.xqm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ declare
154154
function bt:test-printJournalCitationsByImprint($a as xs:string) as element()+ {
155155
let $doc := crud:doc($a)
156156
return
157-
bibl:printJournalCitationsByImprint($doc//tei:monogr, <xhtml:li/>, 'de')
157+
bibl:printJournalCitationPerImprint($doc//tei:monogr, <xhtml:li/>, 'de')
158158
};
159159

160160
declare %private function bt:normalize-hrefs($nodes as node()*) as node()* {

0 commit comments

Comments
 (0)