Commit 1197fa06 authored by Mathias Goebel's avatar Mathias Goebel 🎠
Browse files

Merge branch 'release/4.6.0'

parents 735fbeba a0cd399e
project.name=http://textgrid.de/ns/SADE-fontane-develop
project.version=4.4.0
project.version=4.6.0
project.title=[Fontane] SADE
project.abbrev=SADE-fontane-develop
project.processorversion=4.7.0
......
......@@ -82,7 +82,10 @@ else if (tokenize($exist:path, '/') = "get") then
serialize($doc/xhtml:body/xhtml:div/xhtml:div[not(@class="teixml")][not(@class="facs")])
=> replace("xhtml:", "")
case "facs.html" return
if ($alternative and $id="2128f") (: using one transformation for two renderings :)
if ($alternative and $id="2128f")
(: using one transformation for two renderings :)
(: TODO: use this for 18vm7 1r as well
TODO: we are replacing instead of traversing the images :)
then replace(serialize($doc//xhtml:div[@class="facs"]), "xhtml:", "")
=> replace("1671z", "16725")
else
......
......@@ -167,7 +167,11 @@ declare function etTransfo:create-print-tei() as xs:string {
let $complete-print-file :=
element {QName("http://www.tei-c.org/ns/1.0", "teiCorpus")} {
$xmls,
etTransfo:get-literature()
try {
etTransfo:get-literature()
} catch * {
error(QName("error", "ETTRANSFO06"), "An error occured while creating the bibliography.")
}
}
return
xmldb:store($config:data-root || "/print/xml/", "fontane-full.xml", $complete-print-file)
......@@ -263,21 +267,52 @@ declare function etTransfo:get-literature() as element(tei:div) {
: bibliographic reference
:)
declare function etTransfo:make-bib-entries($type as xs:string) as element(tei:div)* {
for $entry in doc("/db/sade-projects/textgrid/data/xml/data/25547.xml")//tei:listBibl[@type = $type]/tei:bibl
for $choice in $entry//tei:choice
let $abbr := $choice//tei:abbr
let $full-ref := $choice//tei:expan
return
element {QName("http://www.tei-c.org/ns/1.0", "div")} {
attribute type {"entry"},
element {QName("http://www.tei-c.org/ns/1.0", "seg")} {
attribute type {"abbr"},
$abbr
},
for $entry in doc("/db/sade-projects/textgrid/data/xml/data/25547.xml")//tei:listBibl[@type = $type]//tei:bibl
let $abbr :=
if($entry/tei:abbr) then
$entry/tei:abbr
else
$entry/tei:choice/tei:abbr
let $full-ref := $entry/tei:choice/tei:expan
let $bib-no := count($entry/ancestor::tei:bibl)
return
element {QName("http://www.tei-c.org/ns/1.0", "div")} {
attribute type {"entry"},
element {QName("http://www.tei-c.org/ns/1.0", "seg")} {
attribute type {"abbr"},
$abbr
},
if($full-ref) then
element {QName("http://www.tei-c.org/ns/1.0", "seg")} {
attribute type {"full"},
$full-ref
}
}
else if($entry/tei:ptr[@target]) then
let $target-id := replace($entry/tei:ptr/@target, "#", "")
let $referenced-entry := $entry/ancestor::tei:body//tei:bibl[@xml:id = $target-id]
let $same-as := $referenced-entry/tei:choice/tei:abbr/string()
let $same-as-loc := $referenced-entry/ancestor::tei:listBibl[1]/@type/string()
return
(element {QName("http://www.tei-c.org/ns/1.0", "seg")} {
attribute type {"same-as"},
$same-as
},
element {QName("http://www.tei-c.org/ns/1.0", "seg")} {
attribute type {"same-as-loc"},
$same-as-loc
})
else
(),
if($bib-no gt 0) then
element {QName("http://www.tei-c.org/ns/1.0", "seg")} {
attribute type {"sub-entry"},
$bib-no
}
else
()
}
};
......@@ -58,8 +58,12 @@ declare function prepCom:recursion($nodes as node()*) as node()* {
typeswitch ($node)
case text() return
$node
case comment() return
()
if(matches($node/string(), "rotate")) then
$node
else
()
(: in case of figures the text in the tei:figDesc serves as editorial
commentary - there's no tei:note referring to it. thus we set a
......@@ -204,7 +208,10 @@ declare function prepCom:find-literature($nodes as node()*) as node()* {
case text() return
$node
case comment() return
()
if(matches($node/string(), "rotate")) then
$node
else
()
case element(tei:ptr) return
if($node[ancestor::tei:note[@type = "editorial"]]) then
......
......@@ -24,7 +24,10 @@ declare function presort:prepare($nodes as node()*) as node()* {
$node
case comment() return
()
if(matches($node/string(), "rotate")) then
$node
else
()
default return
if($node/preceding-sibling::*[self::tei:addSpan][1][@place = 'interlinear'][@prev or @next]
......
......@@ -44,35 +44,49 @@ declare function fsort:sort($nodes as node()*) {
case text() return
$node
case element(tei:hi) return
if($node/@next and not($node/ancestor::tei:rs)) then
let $corresp-node := fsort:find-corresp-node($node, "next")
return
(: it's not sufficient to copy only the corresp node since
this would mean we'd loose the information about the tei:rs :)
if($corresp-node[self::tei:hi and parent::tei:rs]) then
(fsort:keep-node($node),
element {QName("http://www.tei-c.org/ns/1.0", "rs")} {
$corresp-node/parent::*/@*,
$corresp-node
})
else
fsort:default-return($node)
case comment() return
if(matches($node, "transform")) then
$node
else
fsort:default-return($node)
case element(tei:rs) return
(: in this case the tei:rs is empty after fsort:apply-all-nexts. we
don't need these. :)
if($node[child::*[@prev]] and count($node/child::*) = 1) then
()
else
fsort:default-return($node)
case element(tei:zone) return
fsort:default-return($node)
(: case element(tei:hi) return:)
(: if($node/@next and not($node/ancestor::tei:rs)) then:)
(: let $corresp-node := fsort:find-corresp-node($node, "next"):)
(: return:)
(: (: it's not sufficient to copy only the corresp node since:)
(: this would mean we'd loose the information about the tei:rs :):)
(: if($corresp-node[self::tei:hi and parent::tei:rs]) then:)
(: (fsort:keep-node($node),:)
(: element {QName("http://www.tei-c.org/ns/1.0", "rs")} {:)
(: $corresp-node/parent::*/@*,:)
(: $corresp-node:)
(: }):)
(: else:)
(: fsort:default-return($node):)
(: else:)
(: fsort:default-return($node):)
(::)
(::)
(: case element(tei:rs) return:)
(: (: in this case the tei:rs is empty after fsort:apply-all-nexts. we:)
(: don't need these. :):)
(: if($node[child::*[@prev]] and count($node/child::*) = 1) then:)
(: ():)
(: else:)
(: fsort:default-return($node):)
(: :)
(: case element(tei:date) return:)
(: fsort:keep-node($node):)
(::)
(: case element(tei:ref) return:)
(: fsort:keep-node($node):)
default return
fsort:default-return($node)
fsort:keep-node($node)
};
(:~
......
......@@ -146,7 +146,7 @@ declare function fontaneSimple:transform($nodes as node()*, $uri as xs:string) a
else if($node/@cause = "unclear") then
()
else if($node[matches(@copyOf, $node/preceding::tei:seg/@xml:id)]) then
else if($node[replace($node/@copyOf, "#", "") = $node/ancestor::tei:TEI//tei:seg/@xml:id]) then
fontaneSimple:mark-intervention($node, $uri)
else if($node/@cause ="catchword") then
......@@ -683,12 +683,28 @@ declare function fontaneSimple:transform($nodes as node()*, $uri as xs:string) a
replace($img-url, ",1000", ",500")
else
$img-url
let $rotation :=
(: no children and comment right after element:)
if($node/following-sibling::node()[1][self::comment()][matches(./string(), "rotate")]
and not($node/child::*)) then
substring-after($node/following::comment()[1], "rotate(")
=> substring-before("deg")
(: comment as first descendant :)
else if($node/child::node()[1][self::comment()][matches(./string(), "rotate")]) then
substring-after($node/child::comment()[1], "rotate(")
=> substring-before("deg")
else
()
return
element {QName("http://www.tei-c.org/ns/1.0", $node/name())}{
$node/@*,
attribute position {$display},
attribute href {$img-url},
if($rotation) then
attribute rotate {$rotation}
else
(),
fontaneSimple:transform($node/node(), $uri)
}
else
......@@ -807,6 +823,9 @@ declare function fontaneSimple:transform($nodes as node()*, $uri as xs:string) a
case element (tei:bibl) return
fontaneSimple:copy-element($node, $uri)
case element(tei:unclear) return
fontaneSimple:copy-element($node, $uri)
default return
fontaneSimple:transform($node/node(), $uri)
};
......@@ -942,7 +961,8 @@ as element(tei:milestone) {
let $whitespace-after :=
if($node/following::node()[1][normalize-space(.) = ""]
and not($node/following::*[1][@type = "heading"])) then
and not($node/following::*[1][@type = "heading"])
and not($node/following::text()[1][matches(substring(., 1, 1), "[\.,]")])) then
true()
else
false()
......@@ -1146,13 +1166,14 @@ declare function fontaneSimple:make-key($regular-name as xs:string?) {
let $affix := substring-after($regular-name, ".")
let $key :=
replace($name, "Ä", "A")
=> replace("ä", "a")
=> replace("Ö", "O")
=> replace("ö", "o")
=> replace("Ü", "U")
=> replace("ü", "u")
=> replace("ä", "ae")
=> replace("Ö", "Oe")
=> replace("ö", "oe")
=> replace("Ü", "Ue")
=> replace("ü", "ue")
=> replace(" ", "")
=> replace("\.", "")
=> replace(",", "")
return
(: sorts terms with a trailer, e.g. 'Friederich II. von Sachsen' after the ones
without, e.g. 'Friederich II.' :)
......
......@@ -582,7 +582,7 @@ if(request:get-parameter-names() = 'page')
let $page := if($page = '') then 'outer_front_cover' else $page
let $indexFile := doc('/db/sade-projects/textgrid/data/xml/xhtml/' || $uri || "/toc.xml" )
let $pageList2 := $indexFile//@data-page/string()
let $index2 := index-of($pageList2, $page)
let $index2 := (index-of($pageList2, $page))[1]
let $return :=
(
(
......
......@@ -56,6 +56,6 @@ declare function f-render:edited-text($node as node(), $model as map(), $id as x
let $file := substring-after($id, "data/") => substring-before(".xml")
return
<xhtml:div>
{doc("/db/apps/SADE/resources/xhtml/" || $file || ".html")}
{doc("/db/sade-projects/textgrid/data/xml/print/xhtml/" || $file || ".html")}
</xhtml:div>
};
......@@ -31,7 +31,7 @@ import module namespace config="http://textgrid.de/ns/SADE/config" at "../config
import module namespace index="https://fontane-nb.dariah.eu/indexapi" at "index-api.xqm";
import module namespace f-misc="http://fontane-nb.dariah.eu/ns/SADE/misc" at "misc.xqm";
declare variable $transfo:tooltipReplacementPattern := '\s$|,$|\.|\($|\)$|;|&#x2003;|\[\d+\]$|^Wohn⸗|^ſonder-|^\(|Landſchaften$|^Oelbil';
declare variable $transfo:tooltipReplacementPattern := '\s$|,$|\.|\($|\)$|;|&#x2003;|\[\d+\]$|^Wohn⸗|^ſonder-|^\(|Landſchaften$|^Oelbil|^Schwedens|Schwedens$';
declare variable $transfo:dataCollection := collection("/db/sade-projects/textgrid/data/xml/data");
......@@ -278,7 +278,8 @@ attribute class {
(if($n/@subtype) then string($n/@subtype) else ()),
if( string($n/@subtype)="Kalenderblatt") then if(ends-with($n/@n, 'v')) then 'verso' else 'recto' else (),
if( $n/parent::tei:surface ) then "nested" else (),
if( not($n//tei:line[ancestor::tei:zone[@rotate = 180]]) or string($n/@subtype)="Kalenderblatt") then () else "rotate"
if( not($n//tei:line[ancestor::tei:zone[@rotate = 180]]) or string($n/@subtype)="Kalenderblatt") then () else "rotate",
$n/@rend ! string(.)
},
(: dont call it a label (bootstrap) :)
(if($n/@n) then attribute id {"s" || $n/@n} else()),
......@@ -351,12 +352,13 @@ attribute class {
'zone',
string($n/@type),
string($n/@subtype),
if (exists($n/preceding-sibling::tei:addSpan) and $n/preceding-sibling::tei:addSpan/substring-after(@spanTo, '#') = $n/following-sibling::tei:anchor/@xml:id ) then 'addSpan' else(),
if (exists($n/child::tei:mod[@seq])
and
$n/child::tei:mod[@seq]/substring-after(@spanTo, '#') = $n/following-sibling::tei:anchor/@xml:id
)
then 'mod-seq-' || string($n/child::tei:mod[@seq][substring-after(@spanTo, '#') = $n/following-sibling::tei:anchor/@xml:id]/@seq) else(),
if (exists($n/preceding-sibling::tei:addSpan) and $n/preceding-sibling::tei:addSpan/substring-after(@spanTo, '#') = $n/following-sibling::tei:anchor/@xml:id ) then 'addSpan' else (),
(: mod sequence #1 :)
let $mod := ($n/preceding::tei:mod[@seq][parent::tei:zone][substring-after(@spanTo, '#') = $n/following::tei:anchor/string(@xml:id)], $n/tei:mod[@seq])
return
if ($mod)
then 'mod-seq-' || $mod/@seq
else (),
if ($n/@type="illustration") then 'figure' else(),
transfo:segStyle($n),
if( $n/@type="illustration" and $n/parent::tei:line) then "verticalMiddel" else (),
......@@ -415,8 +417,8 @@ attribute style {
transfo:lineHeight($n),
(: look 4 TILE objects :)
if ($n/tei:seg/tei:rs/tei:figure[@xml:id] or $n/tei:figure[@xml:id]) then
let $id := string($n//tei:figure/@xml:id)
let $uri := string($n/ancestor::tei:TEI//tei:idno[@type="TextGrid"])
let $id := string($n/tei:figure/@xml:id)
let $uri := string($n/root()//tei:idno[@type="TextGrid"])
let $link := transfo:newestTBLELink($uri, $id)
let $shape := $link/substring-before(substring-after(@targets, '#'), ' ')
......@@ -507,7 +509,7 @@ declare function transfo:line($node as element(tei:line)) {
(if($node//text()[not(parent::tei:fw)]) then () else ('height:0.6cm;')),
( (: line-height given in div.zone[style] has no effect wheren large rendering is needed :)
if($node//*[contains(string(@style), 'large')] or $node//ancestor::tei:zone[contains(string(@style), 'large')])
then replace( transfo:lineHeight($node/parent::tei:zone), 'line-height', 'max-height')
then replace( transfo:lineHeight($node/ancestor::tei:zone[1]), 'line-height', 'max-height')
else ())
), ';')
},
......@@ -555,6 +557,12 @@ declare function transfo:seg($node as element(tei:seg)) {
element xhtml:div {
attribute class {'segHover italic'},
'Unterführung'}
else (),
if(contains($node/@rend, "underline-cancel"))
then
element xhtml:div {
attribute class {'segHover italic'},
'Unterstreichung zurückgenommen'}
else ()
}
};
......@@ -565,7 +573,7 @@ declare function transfo:seg($node as element(tei:seg)) {
: or @rend or to calculate line-height.
:)
declare function transfo:segStyle($node) {
let $style := $node/@style
let $style := $node/@style || (if(not($node/@style) and $node/@rend and $node/parent::*/@style) then (" " || $node/parent::*/@style) else ())
let $rend := $node/@rend
let $type:= if(($node/local-name() = ("seg", "zone")) and ($node/@type = "cancel"))
then
......@@ -606,7 +614,7 @@ let $medium := if (tokenize($preMedium, " ") = ('blue_pencil', 'violet_pencil',
let $test:= if($seq = ()) then ('TODO', $medium) else ($seq, $rendSeq, $medium, $type, $noLineThroughInCaseOfDeletionViaMetamark)
return
$test ! replace(replace(., '/', '_'), '3_4', 'd3_4')
$test ! replace(replace(replace(., '/', '_'), '3_4', 'd3_4'), '\s(\d|\-)', ' d$1')
};
declare function transfo:mod($node as element(tei:mod))
......@@ -621,7 +629,16 @@ as element(xhtml:span) {
if(local:modTest($node)) then 'addSesquipedalian' else ()
},
if($node/@style and not($node/@seq)) then $node/@style else (),
if($node//del[@rend='overwritten']) then
if($node//*/@corresp = "#C01_4r_c")
then element xhtml:div { attribute class { 'modHover italic'},
element xhtml:span {'d'},
'<',
element xhtml:span {'in'},
' überschrieben ',
element xhtml:span {'urch'},
'>'
}
else if($node//del[@rend='overwritten']) then
element xhtml:div {
attribute class {
'modHover italic',
......@@ -640,10 +657,11 @@ as element(xhtml:span) {
else transfo:magic($node/tei:del/node())//text()[. != "unsichere Lesart"][not(contains(string-join(ancestor::*/@class), "expan"))],
(if ($node/tei:del/tei:gap) then transfo:magic($node/tei:del/tei:gap) else ())
},
if($node/tei:del/tei:gap[@unit='mm'][@reason='illegible']) then 'unentziffert' else (),
' überschrieben ',
element xhtml:span {
(: todo: remove decendant::tei:add since it results from a coding error (mod without direkt add) :)
string-join(($node//tei:add//text()[not(parent::tei:expan)]))
string-join(($node//tei:add//text()[not(parent::tei:expan)][not(parent::tei:del)]))
},
'>', if(matches(string-join($node//tei:add/text()), '^\.$|^,$|^:$|^;$')) then () else element xhtml:span { transfo:postText($node) }
}
......@@ -661,14 +679,36 @@ as element(xhtml:span) {
else
if($node/@next and contains(string-join($node/root()//tei:mod[@xml:id = substring-after($node/@next, "#")]//@rend), 'caret') )
then 'mit Einweisungszeichen'
else
if( not(exists($node//tei:add[not(tei:del)])) )
then 'durchgestrichen'
else ()
)
}
else if($node//tei:add and not($node//tei:del))
then
element xhtml:div {
attribute class {
'modHover italic',
if($node/ancestor::tei:*/@rotate or $node/ancestor::tei:zone/preceding-sibling::tei:addSpan) then () else 'hoverTop'},
('Hinzufügung',
if( contains(string-join($node//@rend), 'caret') )
then 'mit Einweisungszeichen'
else
if($node/@next and $node/@next and contains(string-join($node/root()//tei:mod[@xml:id = substring-after($node/@next, "#")]//@rend), 'caret') )
then 'mit Einweisungszeichen'
else ()
)
}
else (),
if($node/tei:del[@rend eq "overwritten"])
then
(transfo:magic($node/tei:add),
transfo:magic($node/tei:del))
(
transfo:magic($node/node()[. << $node/tei:add[1]][. << $node/tei:del[1]]),
transfo:magic($node/tei:add),
transfo:magic($node/tei:del),
transfo:magic($node/node()[. >> $node/tei:add[last()]][. >> $node/tei:del[last()]])
)
else transfo:magic($node/node())
}
};
......@@ -756,14 +796,19 @@ if ($node/@place = ('above', 'below')) then (
if(contains($node/@rend, '3/4-circle')) then 'threequatercircle' else (),
if(contains($node/@rend, 'semicircle(bottom)')) then 'semicircle bottom' else (),
if(contains($node/@rend, 'semicircle(left)')) then 'semicircle left' else (),
if(contains($node/@rend, 'semicircle(right)')) then 'semicircle right' else ()
if(contains($node/@rend, 'semicircle(right)')) then 'semicircle right' else (),
if(contains($node/@rend, 'caret:looped_arc')) then 'looped_arc' else ()
},
if($style = () ) then () else attribute style {$style},
if($node/@rend="caret:looped_arc(pos-left)")
then <xhtml:img src="/public/img/caret:looped-arc-pos-left.svg" width="140px" height="auto" style="left: -0.7cm; position: absolute;"/>
else (),
transfo:magic($node/node()),
if(not($node/ancestor::tei:mod) and not( $node/@copyOf ) and not( $node/tei:seg[@type="multiphrase"] ) ) then
if(
not($node/ancestor::tei:mod)
and not( $node/@copyOf )
and not( $node/tei:seg[@type="multiphrase"] or $node/ancestor::tei:seg[@type="multiphrase"] ) )
then
element xhtml:div {
attribute class {'addHover italic'},
'Hinzufügung',
......@@ -961,7 +1006,7 @@ as element(xhtml:space) {
then
element xhtml:div {
attribute class {'spaceHover'},
'Platzhalter Namen'
'Platzhalter'
}
else ()
}
......@@ -1100,7 +1145,7 @@ as element(xhtml:span)? {
element xhtml:span {
$ref/@xml:id ! attribute id { string(.) },
attribute class { 'ref' },
attribute data-ref { substring-after($ref/@target, '#') },
attribute data-ref { replace($ref/@target, '#', '') },
transfo:magic($ref/node()),
(: link :)
if( starts-with($ref/@target, '#xpath(//surface')
......@@ -1181,15 +1226,17 @@ let $directText :=
[not(parent::tei:add[@place = ('below', 'above')])]
[not(parent::tei:expan)]
[not(ancestor::tei:fw)]
[not(parent::tei:del)]
let $prvLineText :=
if(($n/preceding::text()
[not(./parent::tei:expan)]
[not(ancestor::tei:fw)]
[not(parent::tei:del)]
[./ancestor::tei:line = $n/ancestor::tei:line]
)[1]/parent::*/@prev)
(: TODO: mechanism for pre text from previous line is disabled. :)
then ($n/preceding::text()[not(parent::tei:expan)][not(ancestor::tei:fw)][1][ancestor::tei:zone/substring-after(@next, "#") = $n/ancestor::*[@xml:id]/@xml:id])
then ($n/preceding::text()[not(parent::tei:expan)][not(ancestor::tei:fw)][1][ancestor::tei:*/substring-after(@next, "#") = $n/ancestor::*[@xml:id]/@xml:id])
else ()
let $prvLineText :=
......@@ -1227,7 +1274,7 @@ let $text :=
($n/following::text()[not(parent::tei:expan)][not(ancestor::tei:del)][not(ancestor::tei:fw)][ancestor::tei:line][not(matches(., "^\s+$"))])
)
, ' ')[1]
else tokenize(string-join($n/following::text()[not(parent::tei:expan)][not(ancestor::tei:del)][not(ancestor::tei:fw)][ancestor::tei:line = $n/ancestor::tei:line]), ' |\.')[1]
else tokenize(string-join($n/following::text()[not(parent::tei:expan)][not(ancestor::tei:del)][not(ancestor::tei:fw)][ancestor::tei:line = $n/ancestor::tei:line]), ' |\.|,')[1]
return if($text = "(") then $text else replace( $text , $transfo:tooltipReplacementPattern, '' )
};
......@@ -1236,7 +1283,7 @@ declare function transfo:stamp($node as element(tei:stamp))
as element(xhtml:div) {
element xhtml:div {
attribute class {'stamp'},
switch ($node/string(.))
switch (string($node))
case 'FONTANE.'
return
<svg xmlns="http://www.w3.org/2000/svg" width="23mm" height="4mm" data-info="Stempel: FONTANE.">
......@@ -1288,6 +1335,10 @@ as element(xhtml:div) {
return
<img src="/public/img/stempel-berlin-w.png" width="100%" height="100%"/>
case "Königl.Königliches Polizei⸗Praesidium zu Berlin"
return
<img class="polizei-berlin" src="public/img/stamp-polizeipraesidium-berlin.svg" width="100%" height="100%"/>
default return
<svg xmlns="http://www.w3.org/2000/svg" width="23mm" height="3.5mm">
<g alignment-baseline="baseline">
......@@ -1299,7 +1350,7 @@ as element(xhtml:div) {
declare function transfo:text($n as text())
as item()* {
let $followingAnchorWithModBeforeThisNode := $n/following::tei:anchor[@xml:id = $n/preceding::tei:mod[@seq]/substring-after(@spanTo, '#')]/('#' || @xml:id)
let $followingAnchorWithModBeforeThisNode := $n/following::tei:anchor[@xml:id = $n/preceding::tei:mod[@spanTo]/substring-after(@spanTo, '#')]/('#' || @xml:id)
let $allModBefore := $n/preceding::tei:mod[@spanTo = $followingAnchorWithModBeforeThisNode]
let $modClasses := for $mod in $allModBefore return ("modSeq" || string($mod/@seq), transfo:segStyle($mod))
let $handShiftNewRef := $n/preceding::tei:handShift[@new][1]/substring-after(@new, '#')
......@@ -1377,7 +1428,7 @@ as item()* {
switch($s)
case 'Latn' return 'Latein'
case 'Latf' return 'Kurrent'
default return $s
default return 'Kurrent'
let $lang := switch (substring-before($segLang, "-"))
case "en" return "Englisch"
case "la" return "Latein"
......@@ -1386,7 +1437,7 @@ as item()* {
case "da" return "Dänisch"
case "sv" return "Schwedisch"
case "grc" return "(Alt)-Griechisch"
case "nds" return "Märkisch-Plattdeutsch"
case "nds" return "Berlinerisch/Märkisch-Plattdeutsch"
case "ru" return "Russisch "
default return "Deutsch"
return
......@@ -1455,7 +1506,7 @@ else ()
declare function transfo:facs($node) {
element xhtml:div {
attribute class {'facs'},
if($node/parent::tei:sourceDoc or not($node/tei:graphic/@xml:id)) then () else
if($node/parent::tei:sourceDoc and not($node/tei:graphic[1]/@xml:id)) then () else
attribute style {
"width:" || xs:decimal($node/@lrx) - xs:decimal($node/@ulx) || "cm;",
"height:" || xs:decimal($node/@lry) - xs:decimal($node/@uly) || "cm;"
......@@ -1906,6 +1957,9 @@ element xhtml:span {
if ($node/@function="footnote-mark") then
<xhtml:div class="metamarkHover"> Fußnotenzeichen </xhtml:div>
else (),
if ($node/@function="paragraph") then
<xhtml:div class="metamarkHover"> Korrekturzeichen Absatz </xhtml:div>
else (),
if ($node/@function="etc.") then
<xhtml:div class="metamarkHover"> und so weiter </xhtml:div>
else (),
......@@ -2035,6 +2089,18 @@ element xhtml:div {
</xhtml:li>,
(: surface without additionals :)
if(($surface/tei:surface/starts-with(@n, "Beilage_") = true())
and (($surface/tei:surface[@type="clipping"]/starts-with(@attachment, "partially_glued") = true())
or
(exists($surface/tei:surface[@type="pocket"]/tei:surface))
))
then
<xhtml:li data-page="{$surface/string(@n)}-alt">
<xhtml:a href="{$url}-alt">
{f-misc:n-translate($surface/string(@n))} (ohne Beilage, ohne Anklebung)
</xhtml:a>
</xhtml:li>
else
if ($surface/tei:surface/starts-with(@n, "Beilage_") = true())
then
<xhtml:li data-page="{$surface/string(@n)}-alt">
......@@ -2042,17 +2108,15 @@ element xhtml:div {
{f-misc:n-translate($surface/string(@n))} (ohne Beilage)
</xhtml:a>
</xhtml:li>
else (),
(: surface without additionals :)
if ($surface/tei:surface[@type="clipping"]/starts-with(@attachment, "partially_glued") = true())
else if ($surface/tei:surface[@type="clipping"]/starts-with(@attachment, "partially_glued") = true())
then
<xhtml:li data-page="{$surface/string(@n)}-alt">
<xhtml:a href="{$url}-alt">
{f-misc:n-translate($surface/string(@n))} (ohne Anklebung)
</xhtml:a>
</xhtml:li>
else (),
if (exists($surface/tei:surface[@type="pocket"]/tei:surface))
else if (exists($surface/tei:surface[@type="pocket"]/tei:surface))
then
<xhtml:li data-page="{$surface/string(@n)}-alt">
<xhtml:a href="{$url}-alt">
......@@ -2234,7 +2298,7 @@ declare function local:teiref2href($ref as xs:string) as xs:string {
case "lit" return $transfo:base-url || "literaturvz.html?id=" || $id
default return
let $listName := index:get-list-by-id($id)
return $transfo:base-url || "register.html?e=" || $id
return $transfo:base-url || "pocketregister.html?e=" || $id
};
declare function transfo:figure($node as node()*) {
......@@ -2378,6 +2442,9 @@ if( $node/parent::tei:zone/@points ) then
transfo:getMedium($node),
if(contains($node//tei:figDesc/tei:ref/text(), 'leicht gewellt'))
then "underline slightly_wavy"
else (),
if(contains($node//tei:figDesc/tei:ref/text(), '(gewellt)'))