Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
fontane-notizbuecher
SADE
Commits
5994195a
Commit
5994195a
authored
Aug 14, 2018
by
Mathias Goebel
Browse files
add support for creator at tei:person
parent
8cb06cff
Changes
1
Hide whitespace changes
Inline
Side-by-side
modules/fontane/index-processor.xqm
View file @
5994195a
...
...
@@ -277,25 +277,62 @@ for $n in $note
: :)
declare function local:creator($creators as element(tei:link)+)
as element(xhtml:li) {
if($creators[1]/parent::*/parent::tei:person)
then
(: person item that is the creator :)
element xhtml:li {
attribute class { "creator" },
"Urheber:",
element xhtml:ul {
for $creator in $creators
let $target := $creator/@target => substring-before(" ")
let $targetId := $target => substring-after(":")
let $targetNode := $f-indexproc:dataCollection/id($targetId)
let $htmlResource :=
(: TODO remove condition_s_ for final production release :)
if($targetNode)
then
if($targetNode[2])
then "two entities with same ID: " || $targetId
else local:get-list-by-entity( $targetNode )
else "target-not-available"
return
element xhtml:li {
element xhtml:a {
attribute href { "register-" || $htmlResource || ".html?e=" || string-join($targetId) },
if($targetNode[2])
then "two entities with same ID: " || $targetId
else string($targetNode/*[1])
}
}
}
}
else
(: work item with creator :)
element xhtml:li {
attribute class { "creator" },
"Urheber:",
element xhtml:ul {
for $creator in $creators
let $currentId := $creator/parent::*/parent::*/@xml:id
let $target := $creator/@target => substring-after(" ")
let $targetId := $target => substring-after(":")
let $targetNode := $f-indexproc:dataCollection/id($target)
let $targetNode := $f-indexproc:dataCollection/id($target
Id
)
let $htmlResource :=
(: TODO remove condition for final production release :)
if($targetNode)
then local:get-list-by-entity( $targetNode )
then
if($targetNode[2])
then "two entities with same ID: " || $targetId
else local:get-list-by-entity( $targetNode )
else "target-not-available"
return
element xhtml:li {
element xhtml:a {
attribute href { "register-" || $htmlResource || ".html?e=" || string-join($target) },
$targetNode/*[1]/string()
attribute href { "register-" || $htmlResource || ".html?e=" || string-join($targetId) },
if($targetNode[2])
then "two entities with same ID: " || $targetId
else string($targetNode/*[1])
}
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment