-
Notifications
You must be signed in to change notification settings - Fork 4
/
preprocess-reading-text-sources.xpl
127 lines (107 loc) · 3.44 KB
/
preprocess-reading-text-sources.xpl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?xml version="1.0" encoding="UTF-8"?>
<p:declare-step
type="f:preprocess-reading-text-sources"
xmlns:p="http://www.w3.org/ns/xproc" xmlns:c="http://www.w3.org/ns/xproc-step"
xmlns:cx="http://xmlcalabash.com/ns/extensions" xmlns:pxp="http://exproc.org/proposed/steps"
xmlns:pxf="http://exproc.org/proposed/steps/file" xmlns:f="http://www.faustedition.net/ns"
xmlns:ge="http://www.tei-c.org/ns/geneticEditions" xmlns:tei="http://www.tei-c.org/ns/1.0"
xmlns:l="http://xproc.org/library" name="main" version="2.0">
<!--
This pipeline preprocesses a single input document that is to be partial source
for the reading text. Especially, all steps involving standoff markup or header
contents must happen here, since the document assembly doesn't
-->
<p:input port="source" primary="true"/>
<p:output port="result" primary="true"/>
<!-- Transformationsschritte aus apply-edits.xpl -->
<p:xslt>
<p:input port="stylesheet">
<p:document href="xslt/normalize-characters.xsl"/>
</p:input>
<p:input port="parameters">
<p:empty/>
</p:input>
</p:xslt>
<!-- Vereinheitlicht die Transpositionsdeklarationen im Header -->
<p:xslt>
<p:input port="stylesheet">
<p:document href="xslt/textTranscr_pre_transpose.xsl"/>
</p:input>
<p:input port="parameters">
<p:empty/>
</p:input>
</p:xslt>
<!-- Führt die Transpositionen aus -->
<p:xslt>
<p:input port="stylesheet">
<p:document href="xslt/textTranscr_transpose.xsl"/>
</p:input>
<p:with-param name="skip-posthumous" select="'true'"/>
</p:xslt>
<p:xslt>
<p:input port="stylesheet"><p:document href="xslt/undo-posthumous-core.xsl"/></p:input>
<p:input port="parameters"><p:empty/></p:input>
</p:xslt>
<!-- Emendationsschritte für <del> etc. -->
<p:xslt initial-mode="emend">
<p:input port="stylesheet">
<p:inline>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0" xpath-default-namespace="http://www.tei-c.org/ns/1.0">
<xsl:include href="xslt/emend-core.xsl"/>
<xsl:template match="choice[abbr|expan]" priority="4.0" mode="emend">
<!-- Später, cf. #111 -->
<xsl:copy>
<xsl:apply-templates select="@*, node()" mode="#current"/>
</xsl:copy>
</xsl:template>
<xsl:template match="choice[sic]" mode="emend">
<xsl:copy>
<xsl:apply-templates select="@*, node()" mode="#current"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
</p:inline>
</p:input>
<p:input port="parameters">
<p:empty/>
</p:input>
</p:xslt>
<!-- Emendationsschritte für <delSpan> etc. -->
<p:xslt>
<p:input port="stylesheet">
<p:document href="xslt/text-emend-except-posthumous.xsl"/>
</p:input>
<p:input port="parameters">
<p:empty/>
</p:input>
</p:xslt>
<!-- leere Elemente entfernen -->
<p:xslt>
<p:input port="stylesheet">
<p:document href="xslt/clean-up.xsl"/>
</p:input>
<p:input port="parameters">
<p:empty/>
</p:input>
</p:xslt>
<!-- Komischen Whitespace rund um Interpunktionszeichen aufräumen -->
<p:xslt>
<p:input port="stylesheet">
<p:document href="xslt/fix-punct-wsp.xsl"/>
</p:input>
<p:input port="parameters">
<p:empty/>
</p:input>
</p:xslt>
<!-- join/@type='antilabe' -> l/@part=('I', 'M', 'F') -->
<p:xslt>
<p:input port="stylesheet">
<p:document href="xslt/harmonize-antilabes.xsl"/>
</p:input>
<p:input port="parameters">
<p:empty/>
</p:input>
</p:xslt>
<p:identity/>
</p:declare-step>