Statistics
| Revision:

root / tmp / org.txm.core / src / groovy / org / txm / importer / graal / xsl / qgraal_cour.xsl @ 187

History | View | Annotate | Download (40.1 kB)

1
<?xml version='1.0'?>
2

    
3
<!--
4
                #######################################
5
                Qgraal_cm BASIC stylesheet
6
                
7
                #######################################
8
                author: Alexei Lavrentiev
9
                
10
                version: 3.3
11
                date: 2011-06-03
12
                (handling agglutinations of "en cours de figement" phrases)
13

    
14
                version: 3.2
15
                date: 2011-01-19
16
                (handling inline and final notes) 
17
                
18
                version: 3.1
19
                date: 2010-06-17
20
                (utf-8 encoding; correcting spacing after "sic : " and "comma" sign)
21

    
22
                version: 3.0
23
                date: 2010-01-25
24
                (adding table with line numbers and text in different columns)
25
                
26
                version: 2.0
27
                date: 2009-08-24
28
                (including multi-facet transcription)
29
                
30
                version: 1.2
31
                date: 2009-02-16
32
                
33
                version: 1.1
34
                date: 2008-09-30
35
                
36
                version: 1.0
37
                date: 2008-02-21
38
                
39
                #######################################
40
                Description
41
                This is a basic stylesheet for viewing BFM texts in XML-TEI
42
                
43
-->
44
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tei="http://www.tei-c.org/ns/1.0"  xmlns:me="http://www.menota.org/ns/1.0" xmlns:bfm="http://bfm.ens-lsh.fr/ns/1.0"
45
                version="1.0"> 
46

    
47
                <xsl:output method = "html" encoding="utf-8" indent="yes"/>
48
                
49
                <xsl:strip-space elements="*"/>
50
                
51
                <xsl:variable name="title-source" select="//tei:fileDesc/tei:titleStmt/tei:title[@type='source']"/>
52
                
53
                <xsl:variable name="title-normal" select="//tei:fileDesc/tei:titleStmt/tei:title[@type='normal']"/>
54
                
55
                <xsl:variable name="title-ref" select="//tei:fileDesc/tei:titleStmt/tei:title[@type='reference']"/>
56

    
57
                
58
                <xsl:variable name="author" select="//tei:titleStmt/tei:author"/>
59
                
60
                <xsl:variable name="apostrophe" select='"&apos;"'/>
61
                
62
<!--                <xsl:template match="/">
63
                                <html>
64
                                                <head>
65
                                                                <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
66
                                                                <title>
67
                                                                                <xsl:if test="$author[not(contains(.,'anonym'))]">
68
                                                                                                <xsl:value-of select="$author"/><xsl:text> : </xsl:text>
69
                                                                                </xsl:if>
70
                                                                                <xsl:value-of select="$title-normal"/>
71
                                                                </title>
72
                                                                <xsl:apply-templates select="//tei:teiHeader"/>
73
                                                </head>
74
                                                <body style="margin-left:10%;margin-right:10%">
75
                                                                <div class="text">
76
                                                                <xsl:apply-templates select="//tei:text"/>
77
                                                                </div>
78
                                                                <div class="notes">
79
                                                                                <p align="center"><b>Notes</b></p>
80
                                                                                <xsl:apply-templates select="//tei:note[not(@place='inline')]" mode="notes"/>
81
                                                                                </div>
82
                                                </body>		
83
                                </html>	
84
                </xsl:template>
85
-->
86
                
87
                <xsl:template match="/">
88
                                <xsl:apply-templates select="//tei:text//tei:p|//tei:note[@place='inline']"/>
89
                </xsl:template>
90

    
91
                <!-- TEI-Header Processing -->
92
                
93
                <xsl:template match="//tei:teiHeader">
94
	<p align="center">
95
	                
96
	                <!-- Author (only appears if not anonymous) -->
97
	                <xsl:if test="$author[not(contains(.,'anonym'))]">
98
	                                <span style="font-variant:small-caps;font-weight:bold"><xsl:value-of select="$author"/></span><br/>                
99
	                </xsl:if>
100
	                <!-- Title -->
101
	                <span style="color:darkviolet;font-family:Times;font-weight:bold;font-style:italic;font-size:200%"><xsl:value-of select="$title-normal"/></span><br/>
102
	                <!-- Scientific editor(s) -->
103
	                Edition par <xsl:apply-templates select="//tei:titleStmt/tei:editor[@role='editor']"/><br/>
104
	                Avec la collaboration de <xsl:apply-templates select="//tei:titleStmt/tei:editor[@role='associate_editor']"/><br/>
105
	                
106
	                <!-- Series Statement, Publisher, Year 	
107
	                <xsl:apply-templates select="fileDesc/seriesStmt/title"/><br/>
108
	                <xsl:apply-templates select="//sourceDesc//publicationStmt/pubPlace"/>,
109
	                <xsl:apply-templates select="//sourceDesc//publicationStmt/publisher"/>,
110
	                <xsl:apply-templates select="//sourceDesc//publicationStmt/date"/>
111
	                
112
	                -->
113
	</p>
114
                                
115
                                <!-- Information on the electronic version  -->                
116
	<p align="center">_____________________________________________________<br/><br/>
117
	<span style="font-size:75%">Edition électronique<br/>
118
	                Dernière révision : <xsl:value-of select="//tei:revisionDesc/tei:change[1]/@when"/></span><br/>
119
	                _____________________________________________________</p>
120
                                <p align="center">Version courante<br/>
121
                                _____________________________________________________</p>
122
                                
123
                </xsl:template>
124

    
125
                <!-- Last change date formatting 
126
                <xsl:template match="//revisionDesc/change/date[following-sibling::item[contains(.,'Dernière mise à jour')]]">
127
                                <xsl:value-of select="substring-before(., ' 00:')"/>
128
                </xsl:template> -->
129
                
130
                <!-- End of TEI-header processing -->
131
                
132
                <!-- Text body processing -->
133

    
134
                <!-- "Original" titles found sometimes immediately before text body -->
135
                <xsl:template match="//tei:div[@type='titre']">
136
                                <p align="center"><b><xsl:apply-templates/></b></p>
137
                </xsl:template>
138
                
139
                <!-- Text divisions (general) -->
140
                <xsl:template match="//tei:div[not(@type='titre')]">
141
                                <xsl:if test="child::tei:head">
142
                                                <xsl:apply-templates select="head"/><br/>                                                
143
                                </xsl:if>
144
                                <xsl:apply-templates select="*[not(self::tei:head)]"/>                                
145
                </xsl:template>
146
                
147
                <!-- Paragraphs -->
148
                <xsl:template match="//tei:text//tei:p">
149
                                             <table width="100%" style="border:none">
150
                                                             <tr style="border:none">
151
                                                                             <td width="10%" valign="top" style="white-space:nowrap;padding-right:10pt;line-height:18px;font-family:Arial;font-size:14px;border-:none;text-align:right">
152
                                                                                             <xsl:if test="@n"><span style="color:gray;font-size:12px">[§ <xsl:value-of select="@n"/>] </span></xsl:if><xsl:apply-templates select="descendant::tei:lb|descendant::tei:milestone[@unit='column']" mode="number"/></td>
153
                                                                             <td valign="top" style="white-space:nowrap;line-height:18px;font-family:Arial;font-size:14px;border:none">&#xa0;<xsl:apply-templates/></td>
154
                                             </tr>
155
                                             </table>
156
                </xsl:template>
157
                
158

    
159
                
160
                <!--<xsl:template match="//p[@rend]/lb[1][@n]">
161
                                <br/>[<xsl:value-of select="@n"/>]
162
                                </xsl:template> -->
163
                
164
<!-- Page breaks -->                
165
              
166
                <xsl:template match="//tei:pb[@ed='Pauphilet1923']">
167
                                (p. <xsl:value-of select="@n"/>)
168
                </xsl:template>
169

    
170
                <xsl:template match="//tei:milestone[@unit='column'][ancestor::tei:p]">
171
                                <br/>&#xa0;<br/><span style="color:darkviolet;font-family:arial;font-size:80%">&lt;<xsl:value-of select="substring-after(@xml:id,'col_')"/>&gt;</span><br/>
172
                </xsl:template>
173
                
174
                <xsl:template match="//tei:milestone[@unit='column'][ancestor::tei:p]" mode="number">
175
                                <br/>&#xa0;<br/><span style="color:darkviolet;font-family:arial;font-size:80%">&#xa0;</span><br/>
176
                </xsl:template>
177
                
178
                <xsl:template match="//tei:milestone[@unit='column'][not(ancestor::tei:p)]">
179
                                <table width="100%">
180
                                                <tr>
181
                                                                <td width="10%" align="right" valign="top" style="padding-right:10pt"><span style="color:darkviolet;font-family:arial;font-size:80%">&#xa0;</span></td>
182
                                                                <td valign="top" style="white-space:nowrap"><span style="color:darkviolet;font-family:arial;font-size:80%">&lt;<xsl:value-of select="substring-after(@xml:id,'col_')"/>&gt;</span></td>
183
                                                </tr>
184
                                </table>                                
185
                </xsl:template>
186
                
187

    
188
                <xsl:template match="tei:lb">
189
                                <xsl:choose>
190
                                                <xsl:when test="@ed='facs'"></xsl:when>
191
                                                <xsl:when test="position() = 1 and ancestor::tei:s[not(preceding-sibling::*)]"></xsl:when>
192
                                                <xsl:otherwise><br/></xsl:otherwise>
193
                                </xsl:choose>
194
                </xsl:template>
195
                
196
                <xsl:template match="tei:lb" mode="number">
197
                                <xsl:choose>
198
                                                <xsl:when test="@ed='facs'"></xsl:when>
199
                                                <xsl:when test="position() = 1 and ancestor::tei:s[not(preceding-sibling::*)]"></xsl:when>
200
                                                <xsl:otherwise><br/>&#xa0;</xsl:otherwise>
201
                                </xsl:choose>
202
                                <xsl:if test="substring(@n, string-length(@n)) = 0 or substring(@n, string-length(@n)) = 5"><xsl:value-of select="@n"/></xsl:if>
203
                </xsl:template>
204
                
205
              
206
                <!-- Processing elements with "rend" attributes  -->
207
                
208
                <xsl:template match="//*[@rend='ital']">
209
                                <i>
210
                                                <xsl:choose>
211
                                                                <xsl:when test="self::tei:hi">
212
                                                                                <span style="color:blue"><xsl:apply-templates/></span>
213
                                                                </xsl:when>
214
                                                                <xsl:when test="self::tei:foreign">
215
                                                                                <span style="color:darkblue"><xsl:apply-templates/></span>
216
                                                                </xsl:when>
217
                                                                <xsl:otherwise>
218
                                                                                <span style="color:red"><xsl:apply-templates/></span>
219
                                                                </xsl:otherwise>
220
                                                </xsl:choose>
221
                                </i>
222
                </xsl:template>
223

    
224
                <xsl:template match="//*[@rend='gras']">
225
                                <b>
226
                                                <xsl:choose>
227
                                                                <xsl:when test="self::tei:hi">
228
                                                                                <span style="color:blue"><xsl:apply-templates/></span>
229
                                                                </xsl:when>
230
                                                                <xsl:otherwise>
231
                                                                                <span style="color:red"><xsl:apply-templates/></span>
232
                                                                </xsl:otherwise>
233
                                                </xsl:choose>
234
                                </b>
235
                </xsl:template>
236
                
237
                <xsl:template match="//*[@rend='exp']">
238
                                <sup>
239
                                                <xsl:choose>
240
                                                                <xsl:when test="self::tei:hi">
241
                                                                                <span style="color:blue"><xsl:apply-templates/></span>
242
                                                                </xsl:when>
243
                                                                <xsl:otherwise>
244
                                                                                <span style="color:red"><xsl:apply-templates/></span>
245
                                                                </xsl:otherwise>
246
                                                </xsl:choose>                                                
247
                                </sup>
248
                </xsl:template>
249

    
250
                <xsl:template match="//*[@rend='ind']">
251
                                <sub>
252
                                                <xsl:choose>
253
                                                                <xsl:when test="self::tei:hi">
254
                                                                                <span style="color:blue"><xsl:apply-templates/></span>
255
                                                                </xsl:when>
256
                                                                <xsl:otherwise>
257
                                                                                <span style="color:red"><xsl:apply-templates/></span>
258
                                                                </xsl:otherwise>
259
                                                </xsl:choose>                                                
260
                                </sub>
261
                </xsl:template>
262
                
263
                <xsl:template match="//*[@rend='maj']">
264
                                <xsl:choose>
265
                                                <xsl:when test="self::tei:hi">
266
                                                                <span style="text-transform:uppercase;color:blue"><xsl:apply-templates/></span>
267
                                                </xsl:when>
268
                                                <xsl:otherwise>
269
                                                                <span style="text-transform:uppercase;color:red"><xsl:apply-templates/></span>
270
                                                </xsl:otherwise>
271
                                </xsl:choose>                                
272
                </xsl:template>
273
                
274
                <xsl:template match="//*[@rend='pmaj']">
275
                                <xsl:choose>
276
                                                <xsl:when test="self::tei:hi">
277
                                                                <span style="font-variant:small-caps;color:blue"><xsl:apply-templates/></span>
278
                                                </xsl:when>
279
                                                <xsl:otherwise>
280
                                                                <span style="font-variant:small-caps;color:red"><xsl:apply-templates/></span>
281
                                                </xsl:otherwise>
282
                                </xsl:choose>
283
                                
284
                </xsl:template>
285
                
286
                <xsl:template match="//*[@rend='crochets']">
287
                                <xsl:choose>
288
                                                <xsl:when test="self::tei:corr">
289
                                                                <span style="color:brown"> [<xsl:apply-templates/>] </span>
290
                                                </xsl:when>
291
                                                <xsl:otherwise>
292
                                                                <span style="color:red"> [<xsl:apply-templates/>] </span>
293
                                                </xsl:otherwise>
294
                                </xsl:choose>
295
                                
296
                </xsl:template>
297

    
298
                <xsl:template match="//*[@rend='chevrons']">
299
                                <xsl:choose>
300
                                                <xsl:when test="self::tei:corr">
301
                                                                <span style="color:brown"><xsl:text>&lt;</xsl:text><xsl:apply-templates/><xsl:text>&gt; </xsl:text></span>
302
                                                </xsl:when>
303
                                                <xsl:otherwise>
304
                                                                <span style="color:red"><xsl:text>&lt;</xsl:text><xsl:apply-templates/><xsl:text>&gt; </xsl:text></span>
305
                                                </xsl:otherwise>
306
                                </xsl:choose>
307
                                
308
                </xsl:template>
309
                                
310
                <xsl:template match="//*[@rend='crochets-ital']">
311
                                <xsl:choose>
312
                                                <xsl:when test="self::tei:head">
313
                                                                <span style="color:indigo">
314
                                                                                <xsl:text>[</xsl:text>
315
                                                                                <i>
316
                                                                                                <xsl:if test="parent::div[@n]">
317
                                                                                                                <xsl:value-of select="parent::div/@n"/>
318
                                                                                                                <xsl:text>. </xsl:text>
319
                                                                                                </xsl:if>
320
                                                                                                <xsl:apply-templates/>
321
                                                                                </i>
322
                                                                                <xsl:text>]</xsl:text>
323
                                                                </span>
324
                                                </xsl:when>
325
                                                <xsl:otherwise>
326
                                                                <span style="color:red">
327
                                                                                <xsl:text> [</xsl:text>
328
                                                                                <i>
329
                                                                                                <xsl:if test="parent::div[@n]">
330
                                                                                                                <xsl:value-of select="parent::div/@n"/>
331
                                                                                                                <xsl:text>. </xsl:text>
332
                                                                                                </xsl:if>
333
                                                                                                <xsl:apply-templates/>
334
                                                                                </i>
335
                                                                                <xsl:text>] </xsl:text>
336
                                                                </span>                                                               
337
                                                </xsl:otherwise>
338
                                </xsl:choose>
339
                </xsl:template>
340
                                
341
                <xsl:template match="//*[@rend='crochets-maj']">
342
                                <xsl:choose>
343
                                                <xsl:when test="self::tei:head">
344
                                                                <span style="font-family:Times;text-transform:uppercase;color:indigo">
345
                                                                                <xsl:text>[</xsl:text>
346
                                                                                <xsl:if test="parent::div[@n]">
347
                                                                                                <xsl:value-of select="parent::div/@n"/>
348
                                                                                                <xsl:text>. </xsl:text>
349
                                                                                </xsl:if>
350
                                                                                <xsl:apply-templates/>
351
                                                                                <xsl:text>]</xsl:text>
352
                                                                </span>
353
                                                </xsl:when>
354
                                                <xsl:otherwise>
355
                                                                <span style="text-transform:uppercase;color:red"> [<xsl:apply-templates/>] </span>
356
                                                </xsl:otherwise>
357
                                </xsl:choose>
358
                </xsl:template>
359
                
360
                <xsl:template match="//*[@rend='crochets-pmaj']">
361
                                <xsl:choose>
362
                                                <xsl:when test="self::tei:head">
363
                                                                <span style="font-family:Times;font-variant:small-caps;color:indigo">
364
                                                                                <xsl:text>[</xsl:text>
365
                                                                                <xsl:if test="parent::tei:div[@n]">
366
                                                                                                <xsl:value-of select="parent::tei:div/@n"/>
367
                                                                                                <xsl:text>. </xsl:text>
368
                                                                                </xsl:if>
369
                                                                                <xsl:apply-templates/>
370
                                                                                <xsl:text>]</xsl:text>
371
                                                                </span>
372
                                                </xsl:when>
373
                                                <xsl:otherwise>
374
                                                                <span style="font-variant:small-caps;color:red"> [<xsl:apply-templates/>] </span>
375
                                                </xsl:otherwise>
376
                                </xsl:choose>
377
                </xsl:template>
378
                
379
                <xsl:template match="//*[@rend='points']">
380
                                <xsl:choose>
381
                                                <xsl:when test="self::tei:gap">
382
                                                                <span style="color:brown"><xsl:text> . . . . . . . . .  </xsl:text></span>
383
                                                </xsl:when>
384
                                                <xsl:otherwise>
385
                                                                <span style="color:red"><xsl:text> . . . . . . . . .  </xsl:text></span>
386
                                                </xsl:otherwise>
387
                                </xsl:choose>                                
388
                </xsl:template>
389
                
390
                <xsl:template match="//*[@rend='susp']">
391
                                <xsl:choose>
392
                                                <xsl:when test="self::tei:gap">
393
                                                                <span style="color:brown"><xsl:text> ... </xsl:text></span>
394
                                                </xsl:when>
395
                                                <xsl:otherwise>
396
                                                                <span style="color:red"><xsl:text> ... </xsl:text></span>
397
                                                </xsl:otherwise>
398
                                </xsl:choose>                                
399
                </xsl:template>
400

    
401
                <xsl:template match="//*[@rend='crochets-susp']">
402
                                <xsl:choose>
403
                                                <xsl:when test="self::tei:gap">
404
                                                                <span style="color:brown"><xsl:text> [...] </xsl:text></span>
405
                                                </xsl:when>
406
                                                <xsl:otherwise>
407
                                                                <span style="color:red"><xsl:text> [...] </xsl:text></span>
408
                                                </xsl:otherwise>
409
                                </xsl:choose>                                
410
                </xsl:template>                
411
                <!-- End of @rend processing -->
412

    
413
                <!-- Gaps without normalized @rend -->
414
                <xsl:template match="tei:gap[not(@rend)]">
415
                                <span style="color:darkblue"><xsl:text> [...] </xsl:text></span>
416
                </xsl:template>
417
                
418
                <xsl:template match="tei:gap[@rend][not(@rend='susp' or @rend='points' or @rend='crochets-susp')]">
419
                                <span style="color:orange"><xsl:text> [...] </xsl:text></span>
420
                </xsl:template>
421
                
422
                <!-- Corrections without normalized @rend -->
423
                
424
                <xsl:template match="tei:choice">
425
                                <span title="{child::tei:corr/@type}"><xsl:apply-templates select="tei:corr"/><xsl:text> </xsl:text><xsl:apply-templates select="tei:sic"/></span>
426
                                <xsl:if test="not(ancestor::tei:w)">
427
                                                <xsl:call-template name="spacing"/>
428
                                </xsl:if>
429
                </xsl:template>
430
                
431
                <xsl:template match="tei:corr[not(@rend)]">
432
                                <span style="color:darkblue;background-color:yellow"><xsl:text> </xsl:text><xsl:apply-templates/><xsl:text> </xsl:text></span>
433
                </xsl:template>
434
                
435
<!--                <xsl:template match="tei:corr[@rend][not(@rend='crochets' or @rend='chevrons')]">
436
                                <span style="color:orange"> <i><xsl:value-of select="@rend"/></i><xsl:text> </xsl:text></span><xsl:apply-templates/>
437
                </xsl:template>
438
-->                
439
                <xsl:template match="tei:sic">(<i>sic&#xa0;:</i><xsl:text> </xsl:text><span style="background-color:pink"><xsl:apply-templates/></span>)</xsl:template>
440
                <!--  Supplied text -->
441
                
442
                <xsl:template match="tei:supplied">
443
                                <span style="color:blue">[<xsl:apply-templates/>]</span>
444
                                <xsl:if test="not(ancestor::tei:w)"><xsl:call-template name="spacing"/></xsl:if>
445
                </xsl:template>
446
                
447
                <!-- Deletions -->
448
                
449
                <xsl:template match="tei:del">
450
                                <span style="background-color:lightpink"><xsl:apply-templates/></span>
451
                </xsl:template>
452

    
453
                <xsl:template match="tei:add">
454
                                <span style="background-color:lightgreen"><xsl:apply-templates/></span>
455
                </xsl:template>
456
                
457
                <!-- Redundant text -->
458
                
459
                <xsl:template match="tei:surplus">(<span style="background-color:lightpink"><xsl:apply-templates/></span><xsl:text> </xsl:text><i>répété</i>)<xsl:call-template name="spacing"></xsl:call-template></xsl:template>
460
                
461
                
462
                <!-- Numbers -->
463
                <xsl:template match="tei:num">
464
                                <span style="color:blue"><xsl:apply-templates/></span>
465
                </xsl:template>
466
                
467
                <!-- Notes -->
468
                <xsl:template match="tei:note[not(@place='inline')]">
469
                                <xsl:variable name="note_count"><xsl:value-of select="count(preceding::tei:note[not(@place='inline')]) + 1"/></xsl:variable>
470
                                <!--<a title="{.}" style="color:violet;font-size:75%" href="#note_{$note_count}" name="noteref_{$note_count}">[Note <xsl:value-of select="$note_count"/>]</a>-->
471
                                <span title="{.}" style="color:violet">[<xsl:value-of select="$note_count"/>]</span>
472
                                <xsl:call-template name="spacing"/>
473
                </xsl:template>
474
                
475
                <xsl:template match="tei:note[not(@place='inline')]" mode="notes">
476
                                <xsl:variable name="note_count"><xsl:value-of select="count(preceding::tei:note[not(@place='inline')]) + 1"/></xsl:variable>
477
                                <p><xsl:value-of select="$note_count"/>. <a href="#noteref_{$note_count}" name="note_{$note_count}">[<xsl:value-of select="preceding::tei:milestone[@unit='column'][1]/@xml:id"/>, l. <xsl:value-of select="preceding::tei:lb[1]/@n"/>]</a><xsl:text> </xsl:text> <xsl:value-of select="."/></p>
478
                </xsl:template>
479
                
480
                <xsl:template match="tei:note[@place='inline']">
481
                                <p style="text-align:justify;text-indent:30px;padding-right:20px;padding-left:20px"><span style="color:blue;font-family:Times New Roman;font-style:italic"><xsl:value-of select="."/></span></p>
482
                </xsl:template>
483
                
484
                <!-- Word formatting for morphologically tagged texts -->
485
                <xsl:strip-space elements="tei:s"/>
486
                <xsl:template match="//text()[starts-with(., ' ')][preceding-sibling::*[1][self::tei:w]]">
487
                                <xsl:copy-of select="substring(., 2)"/>
488
                </xsl:template>
489
                
490
                <xsl:template match="//tei:w"> <!-- modified 2011-06-03 -->                               
491
                                <xsl:element name="span">
492
                                                <xsl:attribute name="class">word</xsl:attribute>
493
                                                <xsl:attribute name="title"><xsl:value-of select="@type"/></xsl:attribute>
494
                                                <xsl:attribute name="id"><xsl:value-of select="@xml:id"/></xsl:attribute>
495
                                                <xsl:if test="@rend='fgmt'">
496
                                                                <xsl:attribute name="style">color:red</xsl:attribute>
497
                                                </xsl:if>
498
                                                <xsl:choose>
499
                                                                <xsl:when test="descendant::me:norm">
500
                                                                                <xsl:apply-templates select="descendant::me:norm"/>
501
                                                                </xsl:when>
502
                                                                <xsl:otherwise>
503
                                                                                <xsl:apply-templates/>
504
                                                                </xsl:otherwise>
505
                                                </xsl:choose>
506
                                                
507
                                </xsl:element>
508
                                <xsl:call-template name="spacing"/>
509
                                <!--<xsl:choose>
510
                                                <xsl:when test="following::tei:w[1][starts-with(@type, 'PON')][contains(., ',') or contains(., '.') or contains(., ']')or contains(., ')')]">
511
                                                </xsl:when>
512
                                                <xsl:when test="following::node()[1][self::text()][starts-with(normalize-space(.), ',') or starts-with(normalize-space(.), '.') or starts-with(normalize-space(.), ']') or starts-with(normalize-space(.), ')')]">
513
                                                </xsl:when>
514
                                                <xsl:when test="self::tei:w[starts-with(@type, 'PON')][contains(., '[') or contains(., '(')]">
515
                                                </xsl:when>
516
                                                <xsl:when test="substring(., string-length(.))=$apostrophe">
517
                                                </xsl:when>
518
                                                <xsl:when test="following::tei:w[1][starts-with(@type, 'PON')][contains(., ':') or contains(., ';') or contains(., '!')or contains(., '?')]">
519
                                                                <xsl:text>&#xa0;</xsl:text>
520
                                                </xsl:when>
521
                                                <xsl:when test="@rend='elision'">&apos;</xsl:when>
522
                                                <xsl:otherwise>
523
                                                                <xsl:text> </xsl:text>
524
                                                </xsl:otherwise>
525
                                </xsl:choose>-->
526
                </xsl:template>
527
                
528
                <xsl:template match="//tei:w[not(starts-with(@type,'PON'))]/text()">
529
                                <xsl:choose>
530
                                                <xsl:when test="substring(., string-length(.))=$apostrophe">
531
                                                                <xsl:value-of select="translate(.,$apostrophe,'’')"/>
532
                                                </xsl:when>
533
                                                <xsl:otherwise>
534
                                                                <xsl:value-of select="."/>
535
                                                </xsl:otherwise>
536
                                </xsl:choose>
537
                </xsl:template>
538

    
539
<xsl:template name="spacing">
540
                <xsl:choose>
541
                                <xsl:when test="following::tei:w[1][starts-with(@type, 'PON')][starts-with(normalize-space(descendant::text()[1]), ',') or starts-with(normalize-space(descendant::text()[1]), '.') or starts-with(normalize-space(descendant::text()[1]), ']')or contains(., ')')]">
542
                                </xsl:when>
543
                                <xsl:when test="following::node()[1][self::text()][starts-with(normalize-space(.), ',') or starts-with(normalize-space(.), '.') or starts-with(normalize-space(.), ']') or starts-with(normalize-space(.), ')')]">
544
                                </xsl:when>
545
                                <xsl:when test="self::tei:w[starts-with(@type, 'PON')][starts-with(normalize-space(descendant::text()[1]), '[') or starts-with(normalize-space(descendant::text()[1]), '(')]">
546
                                </xsl:when>
547
                                <xsl:when test="substring(., string-length(.))=$apostrophe and not(@type='PONfbl' or @type='PONpdr' or self::tei:note)">
548
                                </xsl:when>
549
                                <xsl:when test="position()=last() and (ancestor::tei:choice or ancestor::tei:supplied[not(@rend='multi_s')] or ancestor::tei:surplus)"></xsl:when>
550
                                <xsl:when test="following-sibling::*[1][self::tei:note]"></xsl:when>
551
                                <xsl:when test="following::tei:w[1][starts-with(@type, 'PON')][contains(., ':') or contains(., ';') or contains(., '!') or contains(., '?')]">
552
                                                <xsl:text>&#xa0;</xsl:text>
553
                                </xsl:when>
554
                                <!--
555
                                <xsl:when test="following::tei:w[1][starts-with(@type, 'PON')][contains(descendant::me:norm, ':') or contains(descendant::me:norm, ';') or contains(descendant::me:norm, '!')or contains(descendant::me:norm, '?')]">
556
                                                <xsl:text>&#xa0;</xsl:text>
557
                                </xsl:when>                                
558
                                -->
559
                                <xsl:when test="@rend='elision'">’</xsl:when>
560
                                <!-- new 201106-03 -->
561
                                <xsl:when test="@rend='fgmt'"></xsl:when>
562
                                <xsl:otherwise>
563
                                                <xsl:text> </xsl:text>
564
                                </xsl:otherwise>
565
                </xsl:choose>
566
                
567
</xsl:template>
568

    
569
                <xsl:template match="tei:q[ancestor::tei:q[ancestor::tei:q]]">
570
                                <span style="background-color:darkcyan"> <xsl:apply-templates/></span>
571
                </xsl:template>
572
                
573
                <xsl:template match="tei:q[ancestor::tei:q][not(ancestor::tei:q[ancestor::tei:q])]">
574
                                <span style="background-color:cyan"> <xsl:apply-templates/></span>
575
                </xsl:template>
576
                
577
                <xsl:template match="tei:q[not(ancestor::tei:q)]">
578
                                <span style="background-color:lightcyan"> <xsl:apply-templates/></span>
579
                </xsl:template>
580
                
581
                <xsl:template match="bfm:sb"><span style="color:violet">_</span></xsl:template>
582
                                
583
</xsl:stylesheet>