-
Notifications
You must be signed in to change notification settings - Fork 0
/
ajout-span.xsl
78 lines (68 loc) · 3.02 KB
/
ajout-span.xsl
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
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="2.0"
xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns="http://www.tei-c.org/ns/1.0"
exclude-result-prefixes="tei">
<xsl:output encoding="UTF-8" method="xml" indent="no" escape-uri-attributes="no"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:processing-instruction name="xml-model"> href="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"</xsl:processing-instruction>
<xsl:processing-instruction name="xml-model"> href="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"</xsl:processing-instruction>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:for-each select="@*">
<xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="tei:p |
tei:q |
tei:quote |
tei:dateline |
tei:salute |
tei:signed |
tei:label |
tei:head |
tei:speaker |
tei:stage |
tei:titlePart|
tei:l |
tei:lg">
<xsl:element name="{local-name()}">
<xsl:for-each select="@*">
<xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
</xsl:for-each>
<xsl:apply-templates mode="para"/>
</xsl:element>
</xsl:template>
<xsl:template match="text()" mode="para">
<xsl:element name="span">
<xsl:attribute name="type">para</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="tei:pb|tei:choice" mode="para">
<xsl:element name="{local-name()}">
<xsl:for-each select="@*">
<xsl:choose>
<xsl:when test="ends-with(local-name(), 'id')"><xsl:attribute name="xml:id"><xsl:value-of select="."/></xsl:attribute></xsl:when>
<xsl:otherwise>
<xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute></xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="*" mode="para">
<xsl:element name="{local-name()}">
<xsl:for-each select="@*">
<xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
</xsl:for-each>
<xsl:apply-templates mode="para"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>