From 533a824138e69c05c605696a82bd685241d55050 Mon Sep 17 00:00:00 2001 From: Martin de la Iglesia <iglesia@hab.de> Date: Thu, 29 Aug 2024 11:21:21 +0000 Subject: [PATCH] Upload New File --- stammbuch2html.xsl | 524 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 524 insertions(+) create mode 100644 stammbuch2html.xsl diff --git a/stammbuch2html.xsl b/stammbuch2html.xsl new file mode 100644 index 0000000..54fa6bb --- /dev/null +++ b/stammbuch2html.xsl @@ -0,0 +1,524 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE stylesheet [ +<!ENTITY nbsp " "> +]> + +<!-- Dieses Stylesheet ist Teil von + +Philipp Hainhofer: Das Große Stammbuch. Kommentierte digitale Edition eines bedeutenden Album Amicorum aus der Zeit um 1600 [Wolfenbütteler Digitale Editionen, Nr. 6], herausgegeben, transkribiert, übersetzt und kommentiert von Sabine Jagodzinski, Wolfenbüttel: Herzog August Bibliothek 2024, https://stammbuch.hab.de/stammbuch + +und wurde erstellt von Martin de la Iglesia (iglesia@hab.de). + +Es konvertiert die TEI/XML-Datei stammbuch.xml nach XHTML. --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xhtml="http://www.w3.org/1999/xhtml" exclude-result-prefixes="#all" version="2.0" xpath-default-namespace="http://www.tei-c.org/ns/1.0"> + + <xsl:output method="xhtml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" indent="yes"/> + + <xsl:variable name="psnpfad">../register/personen/</xsl:variable> + <xsl:variable name="swindexpfad">../register/schlagwortindex</xsl:variable> + <xsl:variable name="ikonindexpfad">../register/ikonographischer-index</xsl:variable> + <xsl:variable name="litpfad">stammb_bibl.xml</xsl:variable> + <xsl:variable name="biblpfad">../informationen-zur-edition/bibliographie/</xsl:variable> + <xsl:variable name="indexlinkprefix">(Ikonographischer Index: </xsl:variable> + <xsl:variable name="indexlinksuffix">)</xsl:variable> + <xsl:variable name="bilderpfad2">https://stammbuch.hab.de/img/</xsl:variable> + + <xsl:template match="/"> + <xsl:result-document href="stammbuch.xhtml"> + <html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"> + <head> + <meta name="publisher" content="Herzog August Bibliothek Wolfenbüttel"/> + <link rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/de/"/> + <title>Das Große Stammbuch Philipp Hainhofers</title> + </head> + <body> + <xsl:apply-templates select="TEI/text/body/div[@type='Eintrag']"/> + </body> + </html> + </xsl:result-document> + </xsl:template> + + <xsl:template match="div"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <xsl:attribute name="id" select="@xml:id"/> + <xsl:if test="@xml:id ne 'h002' and @xml:id ne 'h003'"> + <xsl:attribute name="title"> + <xsl:choose> + <xsl:when test="starts-with(@xml:id, 'eb') or starts-with(@xml:id, 'el')"> + <xsl:value-of select="@xml:id"/> + </xsl:when> + <xsl:when test="@xml:id = 'i-r'"> + <xsl:text>00001</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'i-v'"> + <xsl:text>00002</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'ii-r'"> + <xsl:text>00003</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'ii-v'"> + <xsl:text>00004</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'iii-r'"> + <xsl:text>00005</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'iii-v'"> + <xsl:text>00006</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'iv-r'"> + <xsl:text>00007</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'iv-v'"> + <xsl:text>00008</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'v-r'"> + <xsl:text>00009</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'v-v'"> + <xsl:text>00010</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'vi-r'"> + <xsl:text>00011</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'vi-v'"> + <xsl:text>00012</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'vii-r'"> + <xsl:text>00013</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'vii-v'"> + <xsl:text>00014</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'viii-r'"> + <xsl:text>00015</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'viii-v'"> + <xsl:text>00016</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'ix-r'"> + <xsl:text>00017</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'ix-v'"> + <xsl:text>00018</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'x-r'"> + <xsl:text>00019</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'x-v'"> + <xsl:text>00020</xsl:text> + </xsl:when> + <xsl:when test="@xml:id eq 's138-139'"> + <xsl:text>00158</xsl:text> + </xsl:when> + <xsl:when test="@xml:id eq 's180-181'"> + <xsl:text>00200</xsl:text> + </xsl:when> + <xsl:when test="starts-with(@xml:id, 's') and (@xml:id ne 's138-139') and (@xml:id ne 's180-181')"> + <xsl:choose> + <xsl:when test="number(substring-after(@xml:id,'s')) + 20 < 100"> + <xsl:value-of select="concat('000',number(substring-after(@xml:id,'s')) + 20)"/> + </xsl:when> + <xsl:when test="number(substring-after(@xml:id,'s')) + 20 > 99"> + <xsl:value-of select="concat('00',number(substring-after(@xml:id,'s')) + 20)"/> + </xsl:when> + </xsl:choose> + </xsl:when> + <xsl:when test="@xml:id = 'i-asterisk-r'"> + <xsl:text>00249</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'i-asterisk-v'"> + <xsl:text>00249a</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'ii-asterisk-r'"> + <xsl:text>00249b</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'ii-asterisk-v'"> + <xsl:text>00250</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'iii-asterisk-r'"> + <xsl:text>00251</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'iii-asterisk-v'"> + <xsl:text>00252</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'iv-asterisk-r'"> + <xsl:text>00253</xsl:text> + </xsl:when> + <xsl:when test="@xml:id = 'iv-asterisk-v'"> + <xsl:text>00254</xsl:text> + </xsl:when> + </xsl:choose> + </xsl:attribute> + </xsl:if> + <xsl:if test="@subtype eq 'Leerseite'"> + <xsl:attribute name="class">Leerseite</xsl:attribute> + </xsl:if> + <xsl:choose> + <xsl:when test="matches(./div[@type='Seite']/p,'^[A-Za-z]')"> + <h1><xsl:value-of select="./div[@type='Seite']/p"/></h1> + </xsl:when> + <xsl:when test="matches(./div[@type='Seite']/p,'^[0-9]')"> + <h1>Seite <xsl:value-of select="./div[@type='Seite']/p"/></h1> + </xsl:when> + </xsl:choose> + <xsl:if test="./div[@type='Beschreibstoff']/p/text()[. ne '']"> + <div class="Beschreibstoff"> + <h2>Beschreibstoff</h2> + <xsl:for-each select="./div[@type='Beschreibstoff']/p"> + <xsl:apply-templates select="."/> + </xsl:for-each> + </div> + </xsl:if> + <xsl:if test="./div[@type='weiteres_Material']/p/text()[. ne '']"> + <div class="weiteres_Material"> + <xsl:choose> + <xsl:when test="./div[@type='Beschreibstoff']/p/text()[. ne '']"> + <h2>Weiteres Material</h2> + </xsl:when> + <xsl:otherwise> + <h2>Material</h2> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select="./div[@type='weiteres_Material']/p"> + <xsl:apply-templates select="."/> + </xsl:for-each> + </div> + </xsl:if> + <xsl:if test="./div[@type='Technik']/p//text()[. ne '']"> + <div class="Technik"> + <h2>Technik</h2> + <xsl:apply-templates select="./div[@type='Technik']/p"/> + </div> + </xsl:if> + <xsl:if test="./div[@type='Künstler']/p//text()[. ne '']"> + <div class="Künstler"> + <h2>Künstler</h2> + <xsl:apply-templates select="./div[@type='Künstler']/p"/> + </div> + </xsl:if> + <xsl:if test="./div[@type='Datierung']/p//text()[matches(.,'\S')]"> + <div class="Datierung"> + <h2>Datierung</h2> + <xsl:choose> + <xsl:when test="./div[@type='Datierung']/p/date/text()"> + <!--<p><xsl:value-of select="./div[@type='Datierung']/p/date/text()"/></p>--> + <p><xsl:apply-templates select="./div[@type='Datierung']/p/date"/></p> + </xsl:when> + <!--<xsl:when test="./div[@type='Datierung']/p/date/@when-iso castable as xs:date"> + <p><xsl:value-of select="format-date(./div[@type='Datierung']/p/date/@when-iso,'[D]. [MN] [Y]', 'de', (), ())"/></p> + </xsl:when>--> + </xsl:choose> + </div> + </xsl:if> + <xsl:choose> + <xsl:when test="./div[@type='Datierung']/p/date/@when-iso"> + <div class="dating-wheniso"> + <xsl:value-of select="./div[@type='Datierung']/p/date/@when-iso"/> + </div> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./div[@type='Datierung']/p/date/@notBefore-iso"> + <div class="dating-notbeforeiso"> + <xsl:value-of select="./div[@type='Datierung']/p/date/@notBefore-iso"/> + </div> + </xsl:if> + <xsl:if test="./div[@type='Datierung']/p/date/@notAfter-iso"> + <div class="dating-notafteriso"> + <xsl:value-of select="./div[@type='Datierung']/p/date/@notAfter-iso"/> + </div> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="./div[@type='Datierung']/p/date[@precision = 'low']"> + <div class="dating-precision"> + <xsl:value-of select="./div[@type='Datierung']/p/date/@precision"/> + </div> + </xsl:if> + <xsl:if test="./div[@type='Ort']/p/text()[. ne '']"> + <div class="Ort"> + <h2>Ort</h2> + <xsl:apply-templates select="./div[@type='Ort']/*"/> + </div> + </xsl:if> + <xsl:choose> + <xsl:when test="./div[@type='Name']/p/count(rs) = 1"> + <div class="Name"> + <h2>Inskribent*in</h2> + <p><a><xsl:attribute name="href" select="concat($psnpfad,substring-after(./div[@type='Name']/p/rs/@ref,'psn:'))"></xsl:attribute><xsl:value-of select="./div[@type='Name']/p/rs"/></a><xsl:apply-templates select="./div[@type='Name']/p/note"/></p> + </div> + </xsl:when> + <xsl:when test="./div[@type='Name']/p/count(rs) > 1"> + <div class="Name"> + <h2>Inskribent*innen</h2> + <ul> + <xsl:for-each select="./div[@type='Name']/p/rs"> + <li><a><xsl:attribute name="href" select="concat($psnpfad,substring-after(./@ref,'psn:'))"></xsl:attribute><xsl:value-of select="."/></a><xsl:apply-templates select="../note"/></li> + </xsl:for-each> + </ul> + </div> + </xsl:when> + </xsl:choose> + <xsl:if test="./div[@type='Transkription']/p//text()[. ne '']"> + <div class="Transkription"> + <h2>Transkription</h2> + <xsl:for-each select="./div[@type='Transkription']/p"> + <p> + <xsl:apply-templates/> + </p> + </xsl:for-each> + </div> + </xsl:if> + <xsl:if test="./div[@type='Bildthema']/p//text()[matches(.,'\S')]"> + <div class="Bildmotiv"> + <h2>Bildmotiv</h2> + <xsl:apply-templates select="./div[@type='Bildthema']/*"/> + </div> + </xsl:if> + <xsl:if test="./div[@type='Bildbeschreibung']/p//text()[matches(.,'\S')]"> + <div class="Bildbeschreibung"> + <h2>Bildbeschreibung</h2> + <xsl:for-each select="./div[@type='Bildbeschreibung']/p"> + <p><xsl:apply-templates/></p> + </xsl:for-each> + </div> + </xsl:if> + <xsl:if test="./div[@type='Deutung']//text()[matches(.,'\S')]"> + <div class="Deutung"> + <h2>Deutung</h2> + <xsl:for-each select="./div[@type='Deutung']/p"> + <p><xsl:apply-templates/></p> + </xsl:for-each> + </div> + </xsl:if> + <xsl:if test="./div[@type='Besonderheiten']//text()[matches(.,'\S')]"> + <div class="Besonderheiten"> + <h2>Besonderheiten</h2> + <xsl:for-each select="./div[@type='Besonderheiten']/p"> + <p><xsl:apply-templates/></p> + </xsl:for-each> + </div> + </xsl:if> + <xsl:if test="./div[@type='Bezug_Stammbuch']//text()[matches(.,'\S')]"> + <div class="Bezug_Stammbuch"> + <h2>Bezug zu anderen Seiten</h2> + <xsl:for-each select="./div[@type='Bezug_Stammbuch']/p"> + <p><xsl:apply-templates/></p> + </xsl:for-each> + </div> + </xsl:if> + <xsl:if test="./div[@type='weitere_Kontexte']//text()[matches(.,'\S')]"> + <div class="weitere_Kontexte"> + <h2>Weitere Kontexte</h2> + <xsl:for-each select="./div[@type='weitere_Kontexte']/p"> + <p><xsl:apply-templates/></p> + </xsl:for-each> + </div> + </xsl:if> + <!-- interne Vermerke, nicht ausgeben: --> + <!--<xsl:if test="./div[@type='Anmerkungen']"> + <div class="Anmerkungen"> + <h2>Anmerkungen</h2> + <xsl:for-each select="./div[@type='Anmerkungen']/p"> + <p><xsl:apply-templates/></p> + </xsl:for-each> + </div> + </xsl:if>--> + <xsl:if test="./div[@type='Verschlagwortung']//term/text()[matches(.,'\S')]"> + <div class="Verschlagwortung"> + <h2>Verschlagwortung</h2> + <ul> + <xsl:for-each select="./div[@type='Verschlagwortung']/list/item"> + <xsl:sort select="."/> + <li><a><xsl:attribute name="href" select="concat($swindexpfad,'#',replace(replace(translate(replace(replace(replace(replace(replace(lower-case(./term), 'ä', 'ae'), 'ö', 'oe'), 'ü', 'ue'),'ß','ss'),' ','_'),',()',''),'_/_','_'),'ç','c'))"/><xsl:value-of select="./term"/></a></li> + </xsl:for-each> + </ul> + </div> + </xsl:if> + <xsl:if test="./figure"> + <div class="Abbildungen"> + <h2>Vergleichsabbildungen</h2> + <xsl:for-each select="./figure"> + <div class="Abbildung"> + <xsl:attribute name="id" select="concat('abb-',ancestor::div[@type='Eintrag']/@xml:id,'-',count(preceding-sibling::figure)+1)"/> + <img> + <xsl:attribute name="src"><xsl:value-of select="concat(substring-before(//prefixDef[@ident='img']/@replacementPattern,'$1'),substring-after(./graphic/@url,':'))"/></xsl:attribute> + <xsl:attribute name="alt"><xsl:value-of select="./graphic/desc"/></xsl:attribute> + </img> + <p><xsl:apply-templates select="./graphic/desc"/></p> + </div> + </xsl:for-each> + </div> + </xsl:if> + <xsl:if test="./div[@type='Literatur']/listBibl/bibl[ptr/@target ne '']"> + <div class="Literatur"> + <h2>Literatur</h2> + <ul> + <xsl:for-each select="./div[@type='Literatur']/listBibl/bibl[ptr/@target]"> + <xsl:sort select="document($litpfad)//bibl[@xml:id eq substring-after(current()/ptr/@target,'lit:')]/@sortKey"/> + <li><xsl:apply-templates select="document($litpfad)//bibl[@xml:id eq substring-after(current()/ptr/@target,'lit:')]/seg"/><xsl:if test="document($litpfad)//bibl[@xml:id eq substring-after(current()/ptr/@target,'lit:')]/ptr[@type='fulltext']"><xsl:text>. </xsl:text><a><xsl:attribute name="href" select="document($litpfad)//bibl[@xml:id eq substring-after(current()/ptr/@target,'lit:')]/ptr[@type='fulltext']/@target"/><xsl:value-of select="document($litpfad)//bibl[@xml:id eq substring-after(current()/ptr/@target,'lit:')]/ptr[@type='fulltext']/@target"/></a></xsl:if><xsl:if test="citedRange ne '' or citedRange/@target ne ''">, hier: <xsl:apply-templates select="citedRange"/></xsl:if></li> + </xsl:for-each> + </ul> + </div> + </xsl:if> + <xsl:if test=".//note[@type='Anmerkung' or @type='Übersetzung']"> + <div class="Anmerkungen"> + <h2>Anmerkungen</h2> + <ol> + <xsl:for-each select=".//note[@type='Anmerkung' or @type='Übersetzung']"> + <xsl:variable name="notenr" select="count(preceding::note[@type='Anmerkung' or @type='Übersetzung'][ancestor::div[@type='Eintrag'] = current()/ancestor::div[@type='Eintrag']]) + 1"/> + <xsl:variable name="noteid" select="concat(ancestor::div[@type='Eintrag']/@xml:id,'note',$notenr)"/> + <li><xsl:attribute name="class"><xsl:choose><xsl:when test="@type='Übersetzung'"><xsl:text>Übersetzung</xsl:text></xsl:when><xsl:when test="@type='Anmerkung'"><xsl:text>Anmerkung</xsl:text></xsl:when></xsl:choose></xsl:attribute><xsl:attribute name="id" select="$noteid"></xsl:attribute><xsl:if test="@type='Übersetzung'"><xsl:choose> + <xsl:when test="ancestor::foreign/@xml:lang eq 'fr'"> + <xsl:text>Französisch: </xsl:text> + </xsl:when> + <xsl:when test="ancestor::foreign/@xml:lang eq 'it'"> + <xsl:text>Italienisch: </xsl:text> + </xsl:when> + <xsl:when test="ancestor::foreign/@xml:lang eq 'la'"> + <xsl:text>Latein: </xsl:text> + </xsl:when> + <xsl:when test="ancestor::foreign/@xml:lang eq 'grc'"> + <xsl:text>Altgriechisch: </xsl:text> + </xsl:when> + <xsl:when test="ancestor::foreign/@xml:lang eq 'he'"> + <xsl:text>Hebräisch: </xsl:text> + </xsl:when> + <xsl:when test="ancestor::foreign/@xml:lang eq 'nl'"> + <xsl:text>Flämisch: </xsl:text> + </xsl:when> + <xsl:when test="ancestor::foreign/@xml:lang eq 'es'"> + <xsl:text>Spanisch: </xsl:text> + </xsl:when> + <xsl:when test="ancestor::foreign/@xml:lang eq 'en'"> + <xsl:text>Englisch: </xsl:text> + </xsl:when> + </xsl:choose></xsl:if><xsl:apply-templates/></li> + </xsl:for-each> + </ol> + </div> + </xsl:if> + </div> + </xsl:template> + + <xsl:template match="choice"> + <xsl:choose> + <xsl:when test="abbr and expan"> + <span xmlns="http://www.w3.org/1999/xhtml" class="tooltip"> + <xsl:apply-templates select="abbr/node()"/> + <span class="custom help"> + <xsl:value-of select="expan"/> + </span> + </span> + </xsl:when> + <xsl:otherwise/> + </xsl:choose> + </xsl:template> + + <xsl:template match="g"> + <xsl:variable name="charid" select="substring-after(@ref, '#')"/> + <img xmlns="http://www.w3.org/1999/xhtml"> + <xsl:attribute name="alt" select="/TEI/teiHeader/encodingDesc/charDecl/char[@xml:id = $charid]/note"/> + <xsl:attribute name="src" select="concat(substring-before(//prefixDef[@ident='img2']/@replacementPattern,'$1'), substring-after(/TEI/teiHeader/encodingDesc/charDecl/char[@xml:id = $charid]/figure/graphic/@url,':'))"/> + <xsl:attribute name="class" select="$charid"/> + </img> + </xsl:template> + + <xsl:template match="seg"> + <xsl:choose> + <xsl:when test="@hand"> + <span xmlns="http://www.w3.org/1999/xhtml"> + <xsl:attribute name="class" select="concat('hand_',substring-after(@hand,'#'))"/> + <xsl:apply-templates/> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="foreign"> + <span xmlns="http://www.w3.org/1999/xhtml"> + <xsl:attribute name="lang" select="@xml:lang"/> + <xsl:attribute name="xml:lang" select="@xml:lang"/> + <xsl:apply-templates/> + </span> + </xsl:template> + + <xsl:template match="hi[@rendition = '#i']"> + <span xmlns="http://www.w3.org/1999/xhtml" class="italic"> + <xsl:apply-templates/> + </span> + </xsl:template> + + <xsl:template match="rs"> + <a xmlns="http://www.w3.org/1999/xhtml"><xsl:attribute name="href" select="concat($psnpfad,substring-after(@ref,'psn:'))"/><xsl:apply-templates/></a> + </xsl:template> + + <xsl:template match="lb"> + <br xmlns="http://www.w3.org/1999/xhtml"/> + </xsl:template> + + <xsl:template match="note[@type='Textfeldbeschreibung']"> + <span xmlns="http://www.w3.org/1999/xhtml" class="Textfeldbeschreibung"><xsl:text>[</xsl:text><xsl:apply-templates/><xsl:text>:]</xsl:text></span><!--<br xmlns="http://www.w3.org/1999/xhtml"/>--> + </xsl:template> + + <xsl:template match="note[@type='Glossar']"> + <span xmlns="http://www.w3.org/1999/xhtml" class="Glossar-Präfix"> [</span><span xmlns="http://www.w3.org/1999/xhtml" class="Glossar"><xsl:apply-templates/></span><span xmlns="http://www.w3.org/1999/xhtml" class="Glossar-Suffix">]</span> + </xsl:template> + + <xsl:template match="note[@type='Anmerkung' or @type='Übersetzung']"> + <xsl:variable name="notenr" select="count(preceding::note[@type='Anmerkung' or @type='Übersetzung'][ancestor::div[@type='Eintrag'] = current()/ancestor::div[@type='Eintrag']]) + 1"/> + <xsl:variable name="noteid" select="concat('#',ancestor::div[@type='Eintrag']/@xml:id,'note',$notenr)"/> + <span xmlns="http://www.w3.org/1999/xhtml" class="notenumber"><a><xsl:attribute name="href" select="$noteid"/><xsl:value-of select="$notenr"/></a></span> + </xsl:template> + + <xsl:template match="p"> + <p xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates/> + </p> + </xsl:template> + + <xsl:template match="index"> + <xsl:text> </xsl:text> + <a xmlns="http://www.w3.org/1999/xhtml" class="index"> + <xsl:attribute name="href" select="concat($ikonindexpfad,'#',replace(replace(replace(replace(replace(replace(lower-case(term), 'ä', 'ae'), 'ö', 'oe'), 'ü', 'ue'),'ß','ss'),'ç','c'),'\W',''))"/> + <xsl:value-of select="$indexlinkprefix"/><xsl:value-of select="./term"/><xsl:value-of select="$indexlinksuffix"/> + <!--<xsl:text>↗</xsl:text>--> + </a> + </xsl:template> + + <xsl:template match="ref[@type='Abbildungsverweis']"> + <a class="Abbildungsverweis" xmlns="http://www.w3.org/1999/xhtml"><xsl:attribute name="href" select="concat('#abb-',ancestor::div[@type='Eintrag']/@xml:id,'-',count(preceding::ref[@type='Abbildungsverweis'][ancestor::div[@type='Eintrag'] eq current()/ancestor::div[@type='Eintrag']])+1)"/><xsl:value-of select="."/></a> + </xsl:template> + + <xsl:template match="ref"> + <a class="Weblink" xmlns="http://www.w3.org/1999/xhtml"><xsl:attribute name="href" select="@target"/><xsl:value-of select="."/></a> + </xsl:template> + + <xsl:template match="bibl/ref"> + <a class="Bibliographielink" xmlns="http://www.w3.org/1999/xhtml"><xsl:attribute name="href" select="concat($biblpfad,substring-after(@target,'lit:'))"/><xsl:value-of select="."/></a> + </xsl:template> + + <xsl:template match="text()"> + <xsl:value-of select="replace(.,'S\.\s+([0-9])','S. $1')"/> + </xsl:template> + + <xsl:template match="citedRange[@target]"> + <a class="Weblink" xmlns="http://www.w3.org/1999/xhtml"> + <xsl:attribute name="href"> + <xsl:value-of select="@target"/> + </xsl:attribute> + <xsl:choose> + <xsl:when test="node()"> + <xsl:apply-templates/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@target"/> + </xsl:otherwise> + </xsl:choose> + </a> + </xsl:template> + +</xsl:stylesheet> -- GitLab