| Marc Kupietz | 28f48e1 | 2024-04-14 16:17:05 +0200 | [diff] [blame] | 1 | <xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
| 2 | xmlns:saxon="http://saxon.sf.net/" |
| 3 | exclude-result-prefixes="saxon"> |
| Marc Kupietz | 6bcec63 | 2024-04-15 06:52:42 +0200 | [diff] [blame] | 4 | |
| Marc Kupietz | 28f48e1 | 2024-04-14 16:17:05 +0200 | [diff] [blame] | 5 | <xsl:output method="xml" indent="yes" saxon:line-length="1000" |
| Marc Kupietz | 6bcec63 | 2024-04-15 06:52:42 +0200 | [diff] [blame] | 6 | doctype-public="-//IDS//DTD IDS-I5 1.0//EN" |
| 7 | doctype-system="http://corpora.ids-mannheim.de/I5/DTD/i5.dtd" |
| 8 | /> |
| 9 | |
| Marc Kupietz | 764658b | 2025-03-28 16:20:55 +0100 | [diff] [blame^] | 10 | <xsl:mode streamable="yes" on-no-match="shallow-copy"/> |
| 11 | <xsl:mode streamable="no" on-no-match="shallow-copy" name="no-Streaming"/> |
| 12 | <!-- <xsl:template match="idsDoc[not(normalize-space(.//body))]"/> --> |
| Marc Kupietz | 6bcec63 | 2024-04-15 06:52:42 +0200 | [diff] [blame] | 13 | |
| Marc Kupietz | 764658b | 2025-03-28 16:20:55 +0100 | [diff] [blame^] | 14 | <!-- <xsl:template match="idsText[not(normalize-space(.//body))]"/>--> |
| 15 | |
| 16 | <xsl:template match="idsText"> |
| 17 | <xsl:variable name="idsText" as="node()"> |
| 18 | <xsl:copy-of select="."/> |
| 19 | </xsl:variable> |
| 20 | <xsl:if test="normalize-space($idsText//body)"> |
| 21 | <xsl:apply-templates select="$idsText" mode="no-Streaming"/> |
| 22 | </xsl:if> |
| 23 | </xsl:template> |
| 24 | |
| 25 | <xsl:template match="hi[parent::div]" priority="0.6" mode="no-Streaming"> |
| Marc Kupietz | 28f48e1 | 2024-04-14 16:17:05 +0200 | [diff] [blame] | 26 | <p> |
| Marc Kupietz | 764658b | 2025-03-28 16:20:55 +0100 | [diff] [blame^] | 27 | <xsl:apply-templates mode="no-Streaming"/> |
| Marc Kupietz | 28f48e1 | 2024-04-14 16:17:05 +0200 | [diff] [blame] | 28 | </p> |
| 29 | </xsl:template> |
| Marc Kupietz | 6bcec63 | 2024-04-15 06:52:42 +0200 | [diff] [blame] | 30 | |
| Marc Kupietz | 764658b | 2025-03-28 16:20:55 +0100 | [diff] [blame^] | 31 | <xsl:template match="(ref|emph|hi|text())[parent::div]" priority="0.9" mode="no-Streaming"> |
| Marc Kupietz | 958df03 | 2024-04-15 06:55:40 +0200 | [diff] [blame] | 32 | <p> |
| Marc Kupietz | 764658b | 2025-03-28 16:20:55 +0100 | [diff] [blame^] | 33 | <xsl:apply-templates mode="no-Streaming"/> |
| Marc Kupietz | 958df03 | 2024-04-15 06:55:40 +0200 | [diff] [blame] | 34 | </p> |
| 35 | </xsl:template> |
| Marc Kupietz | 28f48e1 | 2024-04-14 16:17:05 +0200 | [diff] [blame] | 36 | |
| Marc Kupietz | 764658b | 2025-03-28 16:20:55 +0100 | [diff] [blame^] | 37 | <xsl:template match="p/div" mode="no-Streaming"> |
| 38 | <xsl:apply-templates mode="no-Streaming"/> |
| Marc Kupietz | a6d175b | 2025-02-20 16:58:23 +0100 | [diff] [blame] | 39 | </xsl:template> |
| 40 | |
| Marc Kupietz | 764658b | 2025-03-28 16:20:55 +0100 | [diff] [blame^] | 41 | <xsl:template match="p/p" mode="no-Streaming"> |
| 42 | <xsl:apply-templates mode="no-Streaming"/> |
| Marc Kupietz | a6d175b | 2025-02-20 16:58:23 +0100 | [diff] [blame] | 43 | </xsl:template> |
| 44 | |
| Marc Kupietz | 764658b | 2025-03-28 16:20:55 +0100 | [diff] [blame^] | 45 | <xsl:template match="hi[local-name(preceding-sibling::*[1]) = 'hi' and @rend = preceding-sibling::hi[1]/@rend]" mode="no-Streaming"/> |
| Marc Kupietz | 958df03 | 2024-04-15 06:55:40 +0200 | [diff] [blame] | 46 | |
| Marc Kupietz | 764658b | 2025-03-28 16:20:55 +0100 | [diff] [blame^] | 47 | <xsl:template match="hi[following-sibling::hi and not(preceding-sibling::hi)]" mode="no-Streaming"> |
| Marc Kupietz | 958df03 | 2024-04-15 06:55:40 +0200 | [diff] [blame] | 48 | <xsl:variable name="rend" select="@rend"/> |
| 49 | <hi rend="{$rend}"> |
| 50 | <xsl:for-each-group select="self|following-sibling::hi" group-adjacent="@rend=$rend"> |
| 51 | <xsl:value-of select="current-group()"/> |
| 52 | </xsl:for-each-group> |
| 53 | </hi> |
| 54 | </xsl:template> |
| Marc Kupietz | 28f48e1 | 2024-04-14 16:17:05 +0200 | [diff] [blame] | 55 | </xsl:stylesheet> |