Commit 5379f8b5 authored by Mathias Goebel's avatar Mathias Goebel 🎠
Browse files

new GET parameter: `nb`; index per notebook

parent 61c51fab
......@@ -15,8 +15,9 @@ declare namespace tgmd="http://textgrid.info/namespaces/metadata/core/2010";
declare namespace xhtml="http://www.w3.org/1999/xhtml";
declare variable $fontaneregister:metaCollection := '/db/sade-projects/textgrid/data/xml/meta/';
declare variable $fontaneregister:target-start := "http://textgridrep.org/textgrid:";
declare variable $fontaneregister:get-entity := request:get-parameter('e', '');
declare variable $fontaneregister:get-notebook := request:get-parameter('nb', 'all');
declare variable $fontaneregister:get-notebook := $fontaneregister:target-start || request:get-parameter('nb', '');
(:~
: helper function to get the tgmd:title by URI
......@@ -184,7 +185,7 @@ declare function local:pointer($entry as element())
as element(xhtml:li){
let $label-main := ($entry/*)[1]
let $target := $entry/tei:note/tei:ptr/@target => substring-after('#')
let $target-node := $entry/ancestor::tei:TEI//tei:*[@xml:id = $target]
let $target-node := $entry/root()//@xml:id[. = $target]/parent::tei:*
return
(: item :)
element xhtml:li {
......@@ -282,12 +283,17 @@ return
return
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a href="#collapse1-1" data-parent="#accordion" data-toggle="collapse">{$eventList/tei:head/text()}</a>
</h4>
<h4 class="panel-title">{$eventList/tei:head/text()}</h4>
</div>
<div class="panel-body">
<ul class="listEvent">
{$eventList/tei:event ! local:prepare-event(.)}
{
if($fontaneregister:get-notebook = $fontaneregister:target-start)
then $eventList/tei:event ! local:prepare-event(.)
else $eventList/tei:event
[tei:linkGrp/tei:link
[starts-with(@target, $fontaneregister:get-notebook)]] ! local:prepare-event(.)
}
</ul>
</div>
</div>
......@@ -306,7 +312,7 @@ as element(xhtml:li) {
let $note := $e/tei:note
let $bibl := $e/tei:bibl
let $links := $e/tei:linkGrp/tei:link[@corresp="https://schema.org/mentions"]
let $notebook-uris := $links ! (substring-after(./@target, "http://textgridrep.org/textgrid:") => substring(1,5) => distinct-values())
let $notebook-uris := $links ! (substring-after(./@target, $fontaneregister:target-start) => substring(1,5) => distinct-values())
let $link-map as map() :=
map:new(
for $nb in $notebook-uris
......@@ -398,12 +404,17 @@ return
return
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a href="#collapse1-1" data-parent="#accordion" data-toggle="collapse">{$orgList/tei:head/text()}</a>
</h4>
<h4 class="panel-title">{ $orgList/tei:head/text() }</h4>
</div>
<div class="panel-body">
<ul class="listOrg">
{$orgList/tei:org ! local:prepare-org(.) }
{
if($fontaneregister:get-notebook = $fontaneregister:target-start)
then $orgList/tei:org ! local:prepare-org(.)
else $orgList/tei:org
[tei:linkGrp/tei:link
[starts-with(@target, $fontaneregister:get-notebook)]] ! local:prepare-org(.)
}
</ul>
</div>
</div>
......@@ -424,7 +435,7 @@ declare function local:prepare-org($org as element(tei:org)) as element(xhtml:li
let $note := $org/tei:note
let $bibl := $org/tei:bibl
let $links := $org/tei:linkGrp/tei:link[@corresp="https://schema.org/mentions"]
let $notebook-uris := $links ! (substring-after(./@target, "http://textgridrep.org/textgrid:") => substring(1,5) => distinct-values())
let $notebook-uris := $links ! (substring-after(./@target, $fontaneregister:target-start) => substring(1,5) => distinct-values())
let $link-map as map() :=
map:new(
for $nb in $notebook-uris
......@@ -510,8 +521,13 @@ return
</div>
<div class="panel-body">
<ul class="listPerson">
{ (: $persList/tei:person|$persList/tei:personGrp :)
$persList/tei:* ! local:prepare-person(.) }
{
if($fontaneregister:get-notebook = $fontaneregister:target-start)
then $persList/tei:* ! local:prepare-person(.)
else $persList/tei:*
[tei:linkGrp/tei:link
[starts-with(@target, $fontaneregister:get-notebook)]] ! local:prepare-person(.)
}
</ul>
</div>
</div>
......@@ -540,7 +556,7 @@ else
let $note := $pers/tei:note
let $bibl := $pers/tei:bibl
let $links := $pers/tei:linkGrp/tei:link[@corresp="https://schema.org/mentions"]
let $notebook-uris := $links ! (substring-after(./@target, "http://textgridrep.org/textgrid:") => substring(1,5) => distinct-values())
let $notebook-uris := $links ! (substring-after(./@target, $fontaneregister:target-start) => substring(1,5) => distinct-values())
let $link-map as map() :=
map:new(
for $nb in $notebook-uris
......@@ -649,7 +665,13 @@ return
</div>
<div class="panel-body">
<ul class="listPlace">
{ $listPlace/tei:place ! local:prepare-place(.) }
{
if($fontaneregister:get-notebook = $fontaneregister:target-start)
then $listPlace/tei:place ! local:prepare-place(.)
else $listPlace/tei:place
[tei:linkGrp/tei:link
[starts-with(@target, $fontaneregister:get-notebook)]] ! local:prepare-place(.)
}
</ul>
</div>
</div>
......@@ -675,7 +697,7 @@ else
let $note := $place/tei:note
let $bibl := $place/tei:bibl
let $links := $place/tei:linkGrp/tei:link[@corresp="https://schema.org/mentions"]
let $notebook-uris := $links ! (substring-after(./@target, "http://textgridrep.org/textgrid:") => substring(1,5) => distinct-values())
let $notebook-uris := $links ! (substring-after(./@target, $fontaneregister:target-start) => substring(1,5) => distinct-values())
let $link-map as map() :=
map:new(
for $nb in $notebook-uris
......@@ -768,9 +790,20 @@ return
</div>
<div class="panel-body">
<ul class="workList">
{ for $i in $wrkList//tei:item[not(tei:list)]
order by lower-case(($i/tei:name[not(@type)]/text())[1])
return local:prepare-work($i) }
{
if($fontaneregister:get-notebook = $fontaneregister:target-start)
then
for $i in $wrkList//tei:item[not(tei:list)]
order by lower-case(($i/tei:name[not(@type)]/text())[1])
return local:prepare-work($i)
else
for $i in $wrkList//tei:item
[not(tei:list)]
[tei:linkGrp/tei:link
[starts-with(@target, $fontaneregister:get-notebook)]]
order by lower-case(($i/tei:name[not(@type)]/text())[1])
return local:prepare-work($i)
}
</ul>
</div>
</div>
......@@ -799,7 +832,7 @@ else
let $bibl := $work/tei:bibl
let $creator := $work/tei:linkGrp/tei:link[@corresp="http://purl.org/dc/terms/creator"]
let $links := $work/tei:linkGrp/tei:link[@corresp="https://schema.org/mentions"]
let $notebook-uris := $links ! (substring-after(./@target, "http://textgridrep.org/textgrid:") => substring(1,5) => distinct-values())
let $notebook-uris := $links ! (substring-after(./@target, $fontaneregister:target-start) => substring(1,5) => distinct-values())
let $link-map as map() :=
map:new(
for $nb in $notebook-uris
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment