From 1b1b9ab7ae35754519d677d46b0b72e79e1bc34b Mon Sep 17 00:00:00 2001
From: Martin de la Iglesia <iglesia@hab.de>
Date: Thu, 29 Aug 2024 11:20:27 +0000
Subject: [PATCH] Upload New File

---
 stammb_psn2html.xsl | 68 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)
 create mode 100644 stammb_psn2html.xsl

diff --git a/stammb_psn2html.xsl b/stammb_psn2html.xsl
new file mode 100644
index 0000000..b304152
--- /dev/null
+++ b/stammb_psn2html.xsl
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- 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 erzeugt eine XHTML-Liste aus der TEI/XML-Datei des Personenregisters. -->
+
+<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">personen/</xsl:variable>
+    
+    <xsl:template match="/">
+        <xsl:result-document href="stammb_psn.xhtml">
+            <html xmlns="http://www.w3.org/1999/xhtml">
+                <head>
+                    <meta name="publisher" content="Herzog August Bibliothek Wolfenbüttel"/>
+                    <link rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/de/"/>
+                    <title>Personenregister zum Großen Stammbuch Philipp Hainhofers</title>
+                </head>
+                <body>
+                    <ul>
+                        <xsl:apply-templates select="//persName">
+                            <xsl:sort select="term/@sortKey"/>
+                        </xsl:apply-templates>
+                    </ul>
+                </body>
+            </html>
+        </xsl:result-document>
+    </xsl:template>
+    
+    <xsl:template match="persName">
+        <li xmlns="http://www.w3.org/1999/xhtml">
+            <xsl:choose>
+                <xsl:when test="@type = 'preferred'">
+                    <a><xsl:attribute name="href"><xsl:value-of select="concat($psnpfad,../@xml:id)"/></xsl:attribute><xsl:choose>
+                        <xsl:when test="term/forename and term/surname">
+                            <xsl:value-of select="term/surname"/><xsl:text>, </xsl:text><xsl:value-of select="term/forename"/>
+                        </xsl:when>
+                        <xsl:when test="term/name">
+                            <xsl:value-of select="term/name"/>
+                        </xsl:when>
+                    </xsl:choose></a>
+                </xsl:when>
+                <xsl:when test="@type = 'variant'">
+                    <xsl:choose>
+                        <xsl:when test="term/forename and term/surname">
+                            <xsl:value-of select="term/surname"/><xsl:text>, </xsl:text><xsl:value-of select="term/forename"/>
+                        </xsl:when>
+                        <xsl:when test="term/name">
+                            <xsl:value-of select="term/name"/>
+                        </xsl:when>
+                    </xsl:choose><xsl:text> → </xsl:text><a><xsl:attribute name="href"><xsl:value-of select="concat($psnpfad,../@xml:id)"/></xsl:attribute><xsl:choose>
+                        <xsl:when test="../persName[@type='preferred']/term/forename and ../persName[@type='preferred']/term/surname">
+                            <xsl:value-of select="../persName[@type='preferred']/term/surname"/><xsl:text>, </xsl:text><xsl:value-of select="../persName[@type='preferred']/term/forename"/>
+                        </xsl:when>
+                        <xsl:when test="../persName[@type='preferred']/term/name">
+                            <xsl:value-of select="../persName[@type='preferred']/term/name"/>
+                        </xsl:when>
+                    </xsl:choose></a>
+                </xsl:when>
+            </xsl:choose>            
+        </li>
+    </xsl:template>
+</xsl:stylesheet>
-- 
GitLab