<
xsl:
stylesheet xmlns:xd="
http://www.pnp-software.com/XSLTdoc"
xmlns:xsl="
http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="
http://exslt.org/common"
xmlns:tei="
http://www.tei-c.org/ns/1.0"
version="
1.0"
exclude-result-prefixes="
tei xd exsl">
<!---->
<!---->
<!---->
<!---->
<
xsl:
import href="
tei-xsl-5.15/p5/html/tei.xsl" />
<
xsl:
param name="
localisation-file">
teiLocalise-sl.xml</
xsl:
param>
<
xsl:
variable name="
tei-localisation"
select="
document($localisation-file)" />
<
xsl:
param name="
lang">
sl</
xsl:
param>
<
xsl:
param name="
documentationLanguage">
slv</
xsl:
param>
<
xsl:
param name="
htmlTitlePrefix">
eZRC</
xsl:
param>
<
xsl:
param name="
teiHeaderFile">
teiHeader.html</
xsl:
param>
<
xsl:
param name="
feedbackURL">
mailto:matija.ogrin@zrc-sazu.si</
xsl:
param>
<
xsl:
param name="
department" />
<
xsl:
param name="
homeLabel">
e-ZRC</
xsl:
param>
<
xsl:
param name="
homeURL">
../</
xsl:
param>
<
xsl:
param name="
homeWords">
Škofjeloški pasijon</
xsl:
param>
<
xsl:
param name="
parentWords">
Izdaje e-ZISS</
xsl:
param>
<
xsl:
param name="
parentURL">
http://nl.ijs.si/e-zrc/</
xsl:
param>
<
xsl:
param name="
institution">
Škofjeloški pasijon</
xsl:
param>
<!---->
<
xsl:
param name="
searchURL" />
<
xsl:
template name="
copyrightStatement">
Avtorske pravice za besedilo te izdaje določa licenca <
a href="
http://creativecommons.org/licenses/by-nd/2.5/si/">
Creative Commons Priznanje avtorstva–Brez predelav 2.5 Slovenija</
a>
.</
xsl:
template>
<
xsl:
param name="
cssFile">
ezrc.css</
xsl:
param>
<
xsl:
param name="
outputDir">
html</
xsl:
param>
<
xsl:
param name="
STDOUT">
false</
xsl:
param>
<
xsl:
param name="
outputName">
pasijon</
xsl:
param>
<
xsl:
param name="
useIDs">
true</
xsl:
param>
<
xsl:
param name="
urlChunkPrefix">
#</
xsl:
param>
<
xsl:
param name="
outputEncoding">
utf-8</
xsl:
param>
<
xsl:
param name="
autoToc">
true</
xsl:
param>
<
xsl:
param name="
tocDepth">
3</
xsl:
param>
<
xsl:
param name="
subTocDepth">
10</
xsl:
param>
<
xsl:
param name="
splitLevel">
0</
xsl:
param>
<
xsl:
param name="
verbose" />
<
xsl:
param name="
numberHeadings" />
<
xsl:
param name="
numberParagraphs">
false</
xsl:
param>
<
xsl:
param name="
footnoteBackLink">
true</
xsl:
param>
<
xsl:
param name="
footnoteFile" />
<
xsl:
key name="
id"
match="
tei:*"
use="
@xml:id" />
<
xd:
doc>
<
xd:
short>
Output gloss text from localisation file. Uses exsl:node-set</
xd:
short>
</
xd:
doc>
<
xsl:
template name="
glosstext">
<
xsl:
param name="
loc">
sl</
xsl:
param>
<
xsl:
param name="
ident" />
<
xsl:
variable name="
text"
select="
exsl:node-set($tei-localisation)//tei:*[@ident=$ident]" />
<
xsl:
choose>
<
xsl:
when test="
$loc='sl'">
<
xsl:
value-of select="
normalize-space(exsl:node-set($text)/tei:gloss[@xml:lang='sl'])" />
</
xsl:
when>
<
xsl:
when test="
$loc='en'">
<
xsl:
choose>
<
xsl:
when test="
normalize-space(exsl:node-set($text)/tei:gloss[@xml:lang='en'])">
<
xsl:
value-of select="
exsl:node-set($text)/tei:gloss[@xml:lang='en']" />
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
value-of select="
$ident" />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
value-of select="
$ident" />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:divGen[@type='toc']</
xd:
short>
<
xd:
detail>
<
p>
Table of contents with link to teiHeader in HTML</
p>
</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:divGen[@type='toc']">
<
xsl:
if test="
normalize-space($teiHeaderFile)">
<
a href="
{$teiHeaderFile}">
Kolofon TEI</
a>
</
xsl:
if>
<
a name="
TOC">
</
a>
<
h2>
<
xsl:
call-template name="
i18n">
<
xsl:
with-param name="
word">
tocWords</
xsl:
with-param>
</
xsl:
call-template>
</
h2>
<
xsl:
call-template name="
mainTOC">
<
xsl:
with-param name="
force">
yes</
xsl:
with-param>
</
xsl:
call-template>
<
h2>
Razčlenjeno kazalo</
h2>
<
xsl:
call-template name="
mainTOC" />
<
br />
</
xsl:
template>
<
xsl:
template match="
tei:hi">
<
xsl:
choose>
<
xsl:
when test="
@rendition">
<
span>
<
xsl:
call-template name="
applyRendition" />
<
xsl:
apply-templates />
</
span>
</
xsl:
when>
<
xsl:
when test="
@rend">
<
xsl:
call-template name="
rendering" />
</
xsl:
when>
<
xsl:
otherwise>
<
i>
<
xsl:
apply-templates />
</
i>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:sp</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:sp">
<
dl>
<
dt>
<
xsl:
call-template name="
makeAnchor" />
<
xsl:
apply-templates select="
tei:speaker" />
</
dt>
<
dd>
<!---->
<
xsl:
apply-templates select="
tei:p | tei:l | tei:lg | tei:seg | tei:ab | tei:stage | tei:note | tei:pb" />
</
dd>
</
dl>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process element tei:stage</
xd:
short>
<
xd:
detail>
Makes an anchor</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:stage">
<
p>
<
xsl:
call-template name="
makeAnchor" />
<
span class="
stage">
<
xsl:
apply-templates />
</
span>
</
p>
</
xsl:
template>
<
xsl:
template match="
tei:speaker">
<
xsl:
call-template name="
makeAnchor" />
<
xsl:
apply-templates />
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process element tei:titlePart.</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:titlePart">
<
xsl:
apply-templates />
<
br />
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:app</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:app">
<
xsl:
apply-templates select="
tei:rdg" />
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:rdf</
xd:
short>
<
xd:
detail>
A simple reading rendering tied to specific witnesses and hands in
SP</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:rdg">
<
xsl:
variable name="
wit"
select="
substring-after(@wit,'#')" />
<
xsl:
variable name="
hand"
select="
substring-after(@hand,'#')" />
<
xsl:
variable name="
msTitle">
<
xsl:
choose>
<
xsl:
when test="
key('id',$wit)//tei:title[@xml:lang='slv'][1]">
<
xsl:
value-of select="
key('id',$wit)//tei:title[@xml:lang='slv'][1]" />
<
xsl:
if test="
@hand">
<
xsl:
text>
, Roka </
xsl:
text>
<
xsl:
value-of select="
key('id',$hand)/@scribe" />
</
xsl:
if>
</
xsl:
when>
<
xsl:
when test="
key('id',$wit)/tei:label">
<
xsl:
value-of select="
key('id',$wit)/tei:label" />
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
text>
???</
xsl:
text>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
variable>
<
xsl:
variable name="
witClass">
<
xsl:
choose>
<
xsl:
when test="
$wit = 'sp'">
<
xsl:
choose>
<
xsl:
when test="
$hand = 'hD'">
witnessB</
xsl:
when>
<
xsl:
otherwise>
witnessA</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
when>
<
xsl:
when test="
$wit = 'sp_listi_06'">
witnessC</
xsl:
when>
</
xsl:
choose>
</
xsl:
variable>
<
xsl:
choose>
<
xsl:
when test="
$witClass = 'witnessA'">
[</
xsl:
when>
<
xsl:
when test="
$witClass = 'witnessB'">
[[</
xsl:
when>
<
xsl:
when test="
$witClass = 'witnessC'">
{</
xsl:
when>
</
xsl:
choose>
<
span title="
{$msTitle}"
class="
{$witClass}">
<
xsl:
apply-templates />
</
span>
<
xsl:
choose>
<
xsl:
when test="
$witClass = 'witnessA'">
]</
xsl:
when>
<
xsl:
when test="
$witClass = 'witnessB'">
]]</
xsl:
when>
<
xsl:
when test="
$witClass = 'witnessC'">
}</
xsl:
when>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:l</
xd:
short>
<
xd:
detail>
Show also every fifth line number for @n.</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:l">
<
div class="
l">
<
xsl:
call-template name="
makeAnchor" />
<
xsl:
choose>
<
xsl:
when test="
@n and @n mod 5 = 0">
<
sup>
<
span class="
number"
title="
vrstica {@n}">
<
xsl:
text>
v</
xsl:
text>
<
xsl:
value-of select="
@n" />
</
span>
</
sup>
</
xsl:
when>
</
xsl:
choose>
<
xsl:
apply-templates />
</
div>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:list[@rend='none']</
xd:
short>
<
xd:
detail>
Diplay list with no bullets.</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:list[@type='trans']">
<
ul class="
trans">
<
xsl:
apply-templates />
</
ul>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:docAuthor in "author" mode"</
xd:
short>
<
xd:
detail>
</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:docAuthor"
mode="
author">
<
xsl:
if test="
preceding::tei:docAuthor">
<
xsl:
text>
, </
xsl:
text>
</
xsl:
if>
<
xsl:
apply-templates />
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Write out gap info</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:gap"
mode="
ezrc-i18n">
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident"
select="
name()" />
</
xsl:
call-template>
<
xsl:
if test="
@reason">
<
xsl:
text>
, </
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident">
reason</
xsl:
with-param>
</
xsl:
call-template>
<
xsl:
text>
</
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident"
select="
@reason" />
</
xsl:
call-template>
</
xsl:
if>
<
xsl:
if test="
@extent">
<
xsl:
text>
(</
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident">
extent</
xsl:
with-param>
</
xsl:
call-template>
<
xsl:
text>
</
xsl:
text>
<
xsl:
value-of select="
@extent" />
<
xsl:
text>
</
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident"
select="
@unit" />
</
xsl:
call-template>
<
xsl:
text>
)</
xsl:
text>
</
xsl:
if>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Write out supplied info</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:supplied"
mode="
ezrc-i18n">
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident"
select="
name()" />
</
xsl:
call-template>
<
xsl:
if test="
@reason">
<
xsl:
text>
, </
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident">
reason</
xsl:
with-param>
</
xsl:
call-template>
<
xsl:
text>
</
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident"
select="
@reason" />
</
xsl:
call-template>
</
xsl:
if>
<!---->
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Write out one janus tag name(), @hand, @cert, @type, @place in Slovene</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:abbr | tei:expan | tei:sic | tei:corr | tei:add | tei:del"
mode="
ezrc-i18n">
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident"
select="
name()" />
</
xsl:
call-template>
<
xsl:
if test="
@hand">
<
xsl:
text>
, </
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident">
hand</
xsl:
with-param>
</
xsl:
call-template>
<
xsl:
text>
</
xsl:
text>
<
xsl:
if test="
not(key('id',substring-after(@hand,'#'))/@scribe)">
<
xsl:
message>
<
xsl:
text>
Missing scribe for</
xsl:
text>
<
xsl:
value-of select="
@hand" />
</
xsl:
message>
</
xsl:
if>
<
xsl:
value-of select="
key('id',substring-after(@hand,'#'))/@scribe" />
</
xsl:
if>
<
xsl:
if test="
@cert">
<
xsl:
text>
(</
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident"
select="
@cert" />
</
xsl:
call-template>
<
xsl:
text>
</
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident">
cert</
xsl:
with-param>
</
xsl:
call-template>
<
xsl:
text>
) </
xsl:
text>
</
xsl:
if>
<
xsl:
choose>
<
xsl:
when test="
@type">
<
xsl:
text>
, </
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident"
select="
@type" />
</
xsl:
call-template>
</
xsl:
when>
<
xsl:
when test="
@place">
<
xsl:
text>
, </
xsl:
text>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident"
select="
@place" />
</
xsl:
call-template>
</
xsl:
when>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process one of Janus elements + supplied</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:abbr | tei:expan | tei:sic | tei:corr | tei:supplied">
<
xsl:
param name="
title">
<
xsl:
apply-templates select="
self::tei:*"
mode="
ezrc-i18n" />
</
xsl:
param>
<
span class="
choice"
title="
{$title}">
<
xsl:
apply-templates />
</
span>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:gap</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:gap">
<
xsl:
param name="
title">
<
xsl:
apply-templates select="
self::tei:*"
mode="
ezrc-i18n" />
</
xsl:
param>
<
span class="
choice"
title="
{$title}">
<
xsl:
text>
[...]</
xsl:
text>
</
span>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:unclear</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:unclear">
<
xsl:
param name="
title">
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident">
unclear</
xsl:
with-param>
</
xsl:
call-template>
</
xsl:
param>
<
span class="
unclear"
title="
{$title}">
<
xsl:
apply-templates />
</
span>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process element tei:subst</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:subst">
<
xsl:
apply-templates select="
tei:*" />
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process element tei:del</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:del">
<
xsl:
param name="
title">
<
xsl:
apply-templates select="
self::tei:*"
mode="
ezrc-i18n" />
</
xsl:
param>
<
span class="
subst"
title="
{$title}">
<
strike>
<
xsl:
apply-templates />
</
strike>
</
span>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process element tei:add</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:add">
<
xsl:
param name="
title">
<
xsl:
apply-templates select="
self::tei:*"
mode="
ezrc-i18n" />
</
xsl:
param>
<
xsl:
variable name="
element">
<
span class="
subst"
title="
{$title}">
<
xsl:
apply-templates />
</
span>
</
xsl:
variable>
<
xsl:
choose>
<
xsl:
when test="
@place='supralinear'">
<
sup>
<
xsl:
copy-of select="
$element" />
</
sup>
</
xsl:
when>
<
xsl:
when test="
@place='infralinear'">
<
sub>
<
xsl:
copy-of select="
$element" />
</
sub>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
copy-of select="
$element" />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process element tei:choice</
xd:
short>
<
xd:
detail>
Show one option in-line, with alternative as HTML bubble. What is where depends
on diplomatic/critical transcription.</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:choice">
<
xsl:
choose>
<
xsl:
when test="
tei:abbr and tei:expan">
<
xsl:
choose>
<
xsl:
when test="
ancestor::tei:div[@type='dipl']">
<
xsl:
apply-templates select="
tei:abbr">
<
xsl:
with-param name="
title">
<
xsl:
apply-templates select="
tei:abbr"
mode="
ezrc-i18n" />
<
xsl:
text>
→ </
xsl:
text>
<
xsl:
apply-templates select="
tei:expan"
mode="
ezrc-i18n" />
<
xsl:
text>
: </
xsl:
text>
<
xsl:
value-of select="
tei:expan" />
</
xsl:
with-param>
</
xsl:
apply-templates>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
apply-templates select="
tei:expan">
<
xsl:
with-param name="
title">
<
xsl:
apply-templates select="
tei:expan"
mode="
ezrc-i18n" />
<
xsl:
text>
← </
xsl:
text>
<
xsl:
apply-templates select="
tei:abbr"
mode="
ezrc-i18n" />
<
xsl:
text>
: </
xsl:
text>
<
xsl:
value-of select="
tei:abbr" />
</
xsl:
with-param>
</
xsl:
apply-templates>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
when>
<
xsl:
when test="
tei:sic and tei:corr">
<
xsl:
choose>
<
xsl:
when test="
ancestor::tei:div[@type='dipl']">
<
xsl:
apply-templates select="
tei:sic">
<
xsl:
with-param name="
title">
<
xsl:
apply-templates select="
tei:sic"
mode="
ezrc-i18n" />
<
xsl:
text>
→</
xsl:
text>
<
xsl:
apply-templates select="
tei:corr"
mode="
ezrc-i18n" />
<
xsl:
text>
:</
xsl:
text>
<
xsl:
value-of select="
tei:corr" />
</
xsl:
with-param>
</
xsl:
apply-templates>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
apply-templates select="
tei:corr">
<
xsl:
with-param name="
title">
<
xsl:
apply-templates select="
tei:corr"
mode="
ezrc-i18n" />
<
xsl:
text>
←</
xsl:
text>
<
xsl:
apply-templates select="
tei:sic"
mode="
ezrc-i18n" />
<
xsl:
text>
:</
xsl:
text>
<
xsl:
value-of select="
tei:sic" />
</
xsl:
with-param>
</
xsl:
apply-templates>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
apply-templates select="
tei:*" />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process element tei:handShift</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:handShift">
<
span class="
handShift">
<
xsl:
attribute name="
title">
<
xsl:
value-of select="
normalize-space(key('id',substring-after(@new,'#')))" />
</
xsl:
attribute>
<
xsl:
call-template name="
glosstext">
<
xsl:
with-param name="
ident">
hand</
xsl:
with-param>
</
xsl:
call-template>
<
xsl:
text>
</
xsl:
text>
<
xsl:
value-of select="
key('id',substring-after(@new,'#'))/@scribe" />
<
xsl:
text>
→</
xsl:
text>
</
span>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process element tei:pb</
xd:
short>
<
xd:
detail>
If @facs then show image with link to large version</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:pb">
<
span class="
pagebreak">
<
xsl:
if test="
@facs">
<
xsl:
variable name="
facs"
select="
substring-after(@facs,'#')" />
<
xsl:
if test="
not(key('id',$facs))">
<
xsl:
message>
<
xsl:
text>
Cannot find tei:facs for ID </
xsl:
text>
<
xsl:
value-of select="
$facs" />
</
xsl:
message>
<
xsl:
value-of select="
$facs" />
</
xsl:
if>
<
table>
<
caption>
<
xsl:
choose>
<
xsl:
when test="
key('id',$facs)/tei:desc">
<
xsl:
value-of select="
key('id',$facs)/tei:desc" />
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
value-of select="
$facs" />
</
xsl:
otherwise>
</
xsl:
choose>
</
caption>
<
tr>
<
td align="
center">
<
table width="
80%">
<
tr>
<
td align="
left">
<
a href="
{key('id',$facs)/tei:graphic[@n='small']/@url}"
target="
facsimile">
<
xsl:
text>
60%</
xsl:
text>
</
a>
</
td>
<
td align="
right">
<
a href="
{key('id',$facs)/tei:graphic[@n='large']/@url}"
target="
facsimile">
<
xsl:
text>
120%</
xsl:
text>
</
a>
</
td>
</
tr>
</
table>
</
td>
</
tr>
<
tr>
<
td align="
center">
<
a href="
{key('id',$facs)/tei:graphic[@n='small']/@url}"
target="
facsimile">
<
img src="
{key('id',$facs)/tei:graphic[@n='thumb']/@url}" />
</
a>
</
td>
</
tr>
</
table>
</
xsl:
if>
<
xsl:
call-template name="
makeAnchor" />
</
span>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process SP specific elements tei:note</
xd:
short>
</
xd:
doc>
<
xsl:
template match="
tei:note[@place='foot']">
<
br />
<
span class="
footnote">
<
xsl:
apply-templates />
</
span>
<
br />
</
xsl:
template>
<
xsl:
template match="
tei:note[@place='margin-left']">
<
span class="
leftnote">
<
xsl:
apply-templates />
</
span>
</
xsl:
template>
<
xsl:
template match="
tei:note[@place='margin-right']">
<
span class="
rightnote">
<
xsl:
apply-templates />
</
span>
</
xsl:
template>
<
xsl:
template match="
tei:note[@place='margin-bot']">
<
span class="
bottomnote">
<
xsl:
apply-templates />
</
span>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process editorial note</
xd:
short>
<
xd:
detail>
</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:note[@place='end']">
<
xsl:
variable name="
identifier">
<
xsl:
text>
Note</
xsl:
text>
<
xsl:
call-template name="
noteID" />
</
xsl:
variable>
<
xsl:
call-template name="
makeAnchor">
<
xsl:
with-param name="
name"
select="
concat($identifier,'_return')" />
</
xsl:
call-template>
<
xsl:
choose>
<
xsl:
when test="
$footnoteFile='true'">
<
a class="
notelink"
href="
{$masterFile}-notes.html#{$identifier}">
<
xsl:
attribute name="
title">
<
xsl:
value-of select="
substring(normalize-space(.),1,100)" />
<
xsl:
text>
...</
xsl:
text>
</
xsl:
attribute>
<
sup>
<
xsl:
call-template name="
noteN" />
</
sup>
</
a>
</
xsl:
when>
<
xsl:
otherwise>
<
a class="
notelink"
href="
#{$identifier}">
<!---->
<
xsl:
attribute name="
title">
<
xsl:
value-of select="
substring(normalize-space(descendant-or-self::text()),1,40)" />
<
xsl:
text>
...</
xsl:
text>
</
xsl:
attribute>
<
sup>
<
xsl:
call-template name="
noteN" />
</
sup>
</
a>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Print Notes, [html] </
xd:
short>
<
xd:
detail>
</
xd:
detail>
</
xd:
doc>
<
xsl:
template name="
printNotes">
<
xsl:
choose>
<
xsl:
when test="
$footnoteFile='true' and ancestor-or-self::tei:TEI/tei:text/descendant::tei:note[@place='end']">
<
xsl:
variable name="
BaseFile">
<
xsl:
value-of select="
$masterFile" />
<
xsl:
call-template name="
addCorpusID" />
</
xsl:
variable>
<
xsl:
call-template name="
outputChunk">
<
xsl:
with-param name="
ident">
<
xsl:
value-of select="
concat($BaseFile,'-notes')" />
</
xsl:
with-param>
<
xsl:
with-param name="
content">
<
xsl:
call-template name="
writeNotes" />
</
xsl:
with-param>
</
xsl:
call-template>
</
xsl:
when>
<
xsl:
when test="
self::tei:div">
<
xsl:
variable name="
depth">
<
xsl:
apply-templates mode="
depth"
select="
." />
</
xsl:
variable>
<
xsl:
choose>
<
xsl:
when test="
$depth < $splitLevel">
<
xsl:
if test="
child::*[not(self::tei:div)]/descendant::tei:note[@place='end']">
<
div class="
notes">
<
div class="
noteHeading">
<
xsl:
call-template name="
i18n">
<
xsl:
with-param name="
word">
noteHeading</
xsl:
with-param>
</
xsl:
call-template>
</
div>
<
xsl:
apply-templates mode="
printnotes"
select="
child::*[not(self::tei:div)]/descendant::tei:note[@place='end']" />
</
div>
</
xsl:
if>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
if test="
descendant::tei:note[@place='end']">
<
div class="
notes">
<
div class="
noteHeading">
<
xsl:
call-template name="
i18n">
<
xsl:
with-param name="
word">
noteHeading</
xsl:
with-param>
</
xsl:
call-template>
</
div>
<
xsl:
apply-templates mode="
printnotes"
select="
descendant::tei:note[@place='end']" />
</
div>
</
xsl:
if>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
when>
<
xsl:
when test="
$splitLevel >-1 and $requestedID='' and $STDOUT='true'">
<
xsl:
for-each select="
descendant-or-self::text/*[1]/*[1]">
<
xsl:
call-template name="
printNotes" />
</
xsl:
for-each>
</
xsl:
when>
<
xsl:
when test="
$splitLevel >-1 and (self::tei:TEI or self::tei:text)" />
<
xsl:
otherwise>
<
xsl:
if test="
descendant::tei:note[@place='end']">
<
xsl:
value-of select="
name()" />
<
div class="
notes">
<
div class="
noteHeading">
<
xsl:
call-template name="
i18n">
<
xsl:
with-param name="
word">
noteHeading</
xsl:
with-param>
</
xsl:
call-template>
</
div>
<
xsl:
apply-templates mode="
printnotes"
select="
descendant::tei:note[@place='end']" />
</
div>
</
xsl:
if>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:note</
xd:
short>
<
xd:
detail>
</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:note">
<
xsl:
variable name="
identifier">
<
xsl:
text>
Note</
xsl:
text>
<
xsl:
call-template name="
noteID" />
</
xsl:
variable>
<
xsl:
choose>
<
xsl:
when test="
@place='marg'">
<
span class="
margnote">
<
xsl:
call-template name="
makeAnchor">
<
xsl:
with-param name="
name"
select="
$identifier" />
</
xsl:
call-template>
<
xsl:
apply-templates />
</
span>
</
xsl:
when>
<
xsl:
when test="
@place='inline'">
<
xsl:
call-template name="
makeAnchor">
<
xsl:
with-param name="
name"
select="
$identifier" />
</
xsl:
call-template>
<
xsl:
text>
(</
xsl:
text>
<
xsl:
apply-templates />
<
xsl:
text>
)</
xsl:
text>
</
xsl:
when>
<
xsl:
when test="
@place='display'">
<
xsl:
call-template name="
makeAnchor">
<
xsl:
with-param name="
name"
select="
$identifier" />
</
xsl:
call-template>
<
blockquote>
<
xsl:
choose>
<
xsl:
when test="
@rend">
<
xsl:
attribute name="
class">
<
xsl:
value-of select="
@rend" />
</
xsl:
attribute>
</
xsl:
when>
<
xsl:
when test="
@rendition">
<
xsl:
call-template name="
applyRendition" />
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
attribute name="
class">
<
xsl:
text>
note</
xsl:
text>
</
xsl:
attribute>
</
xsl:
otherwise>
</
xsl:
choose>
<
p>
<
xsl:
apply-templates />
</
p>
</
blockquote>
</
xsl:
when>
<
xsl:
when test="
@place='end' or $autoEndNotes='true'">
<
xsl:
call-template name="
makeAnchor">
<
xsl:
with-param name="
name"
select="
concat($identifier,'_return')" />
</
xsl:
call-template>
<
xsl:
choose>
<
xsl:
when test="
$footnoteFile='true'">
<
a class="
notelink"
title="
Na opombo"
href="
{$masterFile}-notes.html#{$identifier}">
<
sup>
<
xsl:
call-template name="
noteN" />
</
sup>
</
a>
</
xsl:
when>
<
xsl:
otherwise>
<
a class="
notelink"
title="
Na opombo"
href="
#{$identifier}">
<
sup>
<
xsl:
call-template name="
noteN" />
</
sup>
</
a>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
when>
<
xsl:
when test="
ancestor::tei:bibl">
(<
xsl:
apply-templates />
) </
xsl:
when>
<
xsl:
otherwise>
<
xsl:
call-template name="
makeAnchor">
<
xsl:
with-param name="
name"
select="
$identifier" />
</
xsl:
call-template>
<
xsl:
text>
[</
xsl:
text>
<
xsl:
call-template name="
i18n">
<
xsl:
with-param name="
word">
Note</
xsl:
with-param>
</
xsl:
call-template>
<
xsl:
text>
: </
xsl:
text>
<
xsl:
apply-templates />
<
xsl:
text>
]</
xsl:
text>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:note</
xd:
short>
<
xd:
detail>
</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:note"
mode="
printnotes">
<!---->
<
xsl:
variable name="
identifier">
<
xsl:
text>
Note</
xsl:
text>
<
xsl:
call-template name="
noteID" />
</
xsl:
variable>
<
xsl:
variable name="
parent">
<
xsl:
call-template name="
locateParentdiv" />
</
xsl:
variable>
<
xsl:
if test="
$verbose='true'">
<
xsl:
message>
Note <
xsl:
value-of select="
$identifier" />
<
xsl:
text>
with parent </
xsl:
text>
<
xsl:
value-of select="
$parent" /></
xsl:
message>
</
xsl:
if>
<
div class="
note">
<
xsl:
call-template name="
makeAnchor">
<
xsl:
with-param name="
name"
select="
$identifier" />
</
xsl:
call-template>
<
span class="
noteLabel">
<
a class="
link_return"
title="
Nazaj na besedilo"
href="
#{concat($identifier,'_return')}">
<
xsl:
call-template name="
noteN" />
</
a>
<
xsl:
text>
. </
xsl:
text>
</
span>
<
div class="
noteBody">
<
xsl:
apply-templates />
<!---->
</
div>
<!---->
</
div>
<!---->
</
xsl:
template>
<
xsl:
template match="
text()">
<
xsl:
choose>
<
xsl:
when test="
ancestor::tei:note[@place='end'] or ancestor::tei:abbr or ancestor::tei:expan or ancestor::tei:sic or ancestor::tei:corr or ancestor::tei:add or ancestor::tei:del or ancestor::tei:supplied or ancestor::tei:gap or ancestor::tei:unclear">
<
xsl:
value-of select="
." />
</
xsl:
when>
<
xsl:
when test="
ancestor::tei:*[@type='dipl'] and normalize-space(.)">
<
span class="
dipl">
<
xsl:
value-of select="
." />
</
span>
</
xsl:
when>
<
xsl:
when test="
ancestor::tei:*[@type='crit'] and normalize-space(.)">
<
span class="
crit">
<
xsl:
value-of select="
." />
</
span>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
value-of select="
." />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process element tei:head in plain mode</
xd:
short>
<
xd:
detail>
Doesn't seem to do much of anything!</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:head"
mode="
plain">
<
xsl:
if test="
preceding-sibling::tei:head">
<
xsl:
text>
· </
xsl:
text>
</
xsl:
if>
<
xsl:
apply-templates mode="
plain" />
<
xsl:
text>
</
xsl:
text>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
[common] Making a heading for something</
xd:
short>
<
xd:
param name="
minimal">
whether to display headings</
xd:
param>
<
xd:
param name="
toc">
whether this is making a TOC entry</
xd:
param>
<
xd:
param name="
display">
detail of display (full, simple, plain), ie
whether markup is followed</
xd:
param>
<
xd:
detail>
eZISS: trying to make it put some space between successive heads</
xd:
detail>
</
xd:
doc>
<
xsl:
template name="
header">
<
xsl:
param name="
minimal">
false</
xsl:
param>
<
xsl:
param name="
toc" />
<
xsl:
param name="
display">
full</
xsl:
param>
<
xsl:
variable name="
depth">
<
xsl:
apply-templates mode="
depth"
select="
." />
</
xsl:
variable>
<
xsl:
call-template name="
formatHeadingNumber">
<
xsl:
with-param name="
toc">
<
xsl:
value-of select="
$toc" />
</
xsl:
with-param>
<
xsl:
with-param name="
text">
<
xsl:
choose>
<
xsl:
when test="
local-name(.) = 'TEI'" />
<
xsl:
when test="
local-name(.) = 'TEI.2'" />
<
xsl:
when test="
$depth > $numberHeadingsDepth">
</
xsl:
when>
<
xsl:
when test="
ancestor::tei:back">
<
xsl:
if test="
not($numberBackHeadings='')">
<
xsl:
call-template name="
i18n">
<
xsl:
with-param name="
word">
appendixWords</
xsl:
with-param>
</
xsl:
call-template>
<
xsl:
text>
</
xsl:
text>
<
xsl:
call-template name="
numberBackDiv" />
<
xsl:
if test="
$minimal='false'">
<
xsl:
value-of select="
$numberSpacer" />
</
xsl:
if>
</
xsl:
if>
</
xsl:
when>
<
xsl:
when test="
ancestor::tei:front">
<
xsl:
if test="
not($numberFrontHeadings='')">
<
xsl:
call-template name="
numberFrontDiv">
<
xsl:
with-param name="
minimal">
<
xsl:
value-of select="
$minimal" />
</
xsl:
with-param>
</
xsl:
call-template>
</
xsl:
if>
</
xsl:
when>
<
xsl:
when test="
$numberHeadings ='true'">
<
xsl:
choose>
<
xsl:
when test="
$prenumberedHeadings='true'">
<
xsl:
value-of select="
@n" />
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
call-template name="
numberBodyDiv" />
</
xsl:
otherwise>
</
xsl:
choose>
<
xsl:
if test="
$minimal='false'">
<
xsl:
value-of select="
$headingNumberSuffix" />
</
xsl:
if>
</
xsl:
when>
</
xsl:
choose>
</
xsl:
with-param>
</
xsl:
call-template>
<
xsl:
if test="
$minimal='false'">
<
xsl:
choose>
<
xsl:
when test="
local-name(.) = 'TEI' or local-name(.)='TEI.2'">
<
xsl:
apply-templates select="
tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:title[1]" />
</
xsl:
when>
<
xsl:
when test="
not(tei:head) and @n">
<
xsl:
value-of select="
@n" />
</
xsl:
when>
<
xsl:
when test="
not($toc='')">
<
xsl:
call-template name="
makeInternalLink">
<
xsl:
with-param name="
dest">
<
xsl:
value-of select="
$toc" />
</
xsl:
with-param>
<
xsl:
with-param name="
class">
<
xsl:
value-of select="
$class_toc" />
<
xsl:
text>
</
xsl:
text>
<
xsl:
value-of select="
concat($class_toc,'_',$depth)" />
</
xsl:
with-param>
<
xsl:
with-param name="
body">
<
xsl:
choose>
<
xsl:
when test="
$autoHead='true'">
<
xsl:
call-template name="
autoMakeHead" />
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
apply-templates mode="
plain"
select="
tei:head" />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
with-param>
</
xsl:
call-template>
</
xsl:
when>
<
xsl:
when test="
$autoHead='true'">
<
xsl:
call-template name="
autoMakeHead" />
</
xsl:
when>
<
xsl:
when test="
$display='plain'">
<
xsl:
apply-templates mode="
plain"
select="
tei:head" />
<!---->
</
xsl:
when>
<
xsl:
when test="
$display='simple'">
<
xsl:
apply-templates mode="
plain"
select="
tei:head" />
<!---->
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
for-each select="
tei:head">
<
xsl:
apply-templates />
<
xsl:
text>
</
xsl:
text>
<
br />
</
xsl:
for-each>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
if>
</
xsl:
template>
<
xsl:
template name="
makeTEILink">
<
xsl:
param name="
ptr" />
<!---->
<
xsl:
choose>
<!---->
<
xsl:
when test="
@target and starts-with(@target,'#')">
<
xsl:
call-template name="
makeInternalLink">
<
xsl:
with-param name="
target"
select="
substring-after(@target,'#')" />
<
xsl:
with-param name="
ptr"
select="
$ptr" />
<
xsl:
with-param name="
dest">
<
xsl:
call-template name="
generateEndLink">
<
xsl:
with-param name="
where">
<
xsl:
value-of select="
substring-after(@target,'#')" />
</
xsl:
with-param>
</
xsl:
call-template>
</
xsl:
with-param>
<!---->
<
xsl:
with-param name="
body">
<
xsl:
if test="
$ptr='true'">
<
sup>
<
xsl:
text>
→</
xsl:
text>
</
sup>
</
xsl:
if>
</
xsl:
with-param>
</
xsl:
call-template>
</
xsl:
when>
<!---->
<
xsl:
when test="
@target">
<
xsl:
call-template name="
makeExternalLink">
<
xsl:
with-param name="
ptr"
select="
$ptr" />
<
xsl:
with-param name="
dest">
<
xsl:
value-of select="
@target" />
</
xsl:
with-param>
</
xsl:
call-template>
</
xsl:
when>
<!---->
<
xsl:
when test="
@url and starts-with(@url,'#')">
<
xsl:
call-template name="
makeInternalLink">
<
xsl:
with-param name="
target"
select="
substring-after(@url,'#')" />
<
xsl:
with-param name="
ptr"
select="
$ptr" />
<
xsl:
with-param name="
dest">
<
xsl:
call-template name="
generateEndLink">
<
xsl:
with-param name="
where">
<
xsl:
value-of select="
substring-after(@url,'#')" />
</
xsl:
with-param>
</
xsl:
call-template>
</
xsl:
with-param>
</
xsl:
call-template>
</
xsl:
when>
<!---->
<
xsl:
when test="
@url">
<
xsl:
call-template name="
makeExternalLink">
<
xsl:
with-param name="
ptr"
select="
$ptr" />
<
xsl:
with-param name="
dest">
<
xsl:
value-of select="
@url" />
</
xsl:
with-param>
</
xsl:
call-template>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
apply-templates />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
[html] create an internal link</
xd:
short>
<
xd:
param name="
target">
target</
xd:
param>
<
xd:
param name="
ptr">
ptr</
xd:
param>
<
xd:
param name="
dest">
dest</
xd:
param>
<
xd:
param name="
body">
body</
xd:
param>
<
xd:
param name="
class">
class</
xd:
param>
<
xd:
detail>
ET: changed not to display text with ptr but only an arrow</
xd:
detail>
</
xd:
doc>
<
xsl:
template name="
makeInternalLink">
<
xsl:
param name="
target" />
<
xsl:
param name="
ptr" />
<
xsl:
param name="
dest" />
<
xsl:
param name="
body" />
<
xsl:
param name="
class">
<
xsl:
text>
link_</
xsl:
text>
<
xsl:
value-of select="
local-name(.)" />
</
xsl:
param>
<
xsl:
variable name="
W">
<
xsl:
choose>
<
xsl:
when test="
$target">
<
xsl:
value-of select="
$target" />
</
xsl:
when>
<
xsl:
when test="
contains($dest,'#')">
<
xsl:
value-of select="
substring-after($dest,'#')" />
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
value-of select="
$dest" />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
variable>
<!---->
<
xsl:
choose>
<
xsl:
when test="
$dest=''">
<
xsl:
choose>
<
xsl:
when test="
not($body='')">
<
xsl:
copy-of select="
$body" />
</
xsl:
when>
<
xsl:
when test="
$ptr='true'">
<
xsl:
apply-templates mode="
xref"
select="
key('IDS',$W)">
<
xsl:
with-param name="
minimal"
select="
$minimalCrossRef" />
</
xsl:
apply-templates>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
apply-templates />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
when>
<
xsl:
otherwise>
<
a>
<
xsl:
call-template name="
htmlAttributes" />
<
xsl:
choose>
<
xsl:
when test="
@rend">
<
xsl:
attribute name="
class">
<
xsl:
value-of select="
@rend" />
</
xsl:
attribute>
</
xsl:
when>
<
xsl:
when test="
@rendition">
<
xsl:
call-template name="
applyRendition" />
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
attribute name="
class">
<
xsl:
value-of select="
$class" />
</
xsl:
attribute>
</
xsl:
otherwise>
</
xsl:
choose>
<
xsl:
attribute name="
href">
<
xsl:
choose>
<
xsl:
when test="
starts-with($dest,'#') or contains($dest,'.html') or contains($dest,'ID=')">
<
xsl:
value-of select="
$dest" />
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
apply-templates mode="
generateLink"
select="
key('IDS',$W)" />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
attribute>
<
xsl:
for-each select="
key('IDS',$W)">
<
xsl:
attribute name="
title">
<
xsl:
variable name="
title">
<
xsl:
choose>
<
xsl:
when test="
starts-with(local-name(.),'div')">
<!---->
<
xsl:
apply-templates mode="
xref"
select="
.">
<
xsl:
with-param name="
minimal"
select="
$minimalCrossRef" />
</
xsl:
apply-templates>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
value-of select="
normalize-space(text())" />
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
variable>
<
xsl:
value-of select="
normalize-space($title)" />
</
xsl:
attribute>
</
xsl:
for-each>
<
xsl:
choose>
<
xsl:
when test="
not($body='')">
<
xsl:
copy-of select="
$body" />
</
xsl:
when>
<
xsl:
when test="
$ptr='true' and count(key('IDS',$W))>0">
<
xsl:
apply-templates mode="
xref"
select="
key('IDS',$W)">
<
xsl:
with-param name="
minimal"
select="
$minimalCrossRef" />
</
xsl:
apply-templates>
</
xsl:
when>
<
xsl:
when test="
$ptr='true'">
<
xsl:
text>
??</
xsl:
text>
</
xsl:
when>
<
xsl:
otherwise>
<
xsl:
apply-templates />
</
xsl:
otherwise>
</
xsl:
choose>
</
a>
</
xsl:
otherwise>
</
xsl:
choose>
</
xsl:
template>
<
xd:
doc>
<
xd:
short>
Process elements tei:note</
xd:
short>
<
xd:
detail>
ET: corrected, but still doesn't work if note referred to in some other file!</
xd:
detail>
</
xd:
doc>
<
xsl:
template match="
tei:note"
mode="
generateLink">
<
xsl:
text>
#</
xsl:
text>
<!---->
<
xsl:
text>
Note</
xsl:
text>
<
xsl:
call-template name="
noteID" />
</
xsl:
template>
</
xsl:
stylesheet>
v