Statistics
| Revision:

root / tmp / org.txm.oriflamms.rcp / res / oriflamms-patch-words-with-lb.xsl @ 2398

History | View | Annotate | Download (2.3 kB)

1
<?xml version="1.0"?>
2
<xsl:stylesheet
3
	xmlns:edate="http://exslt.org/dates-and-times"
4
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5
	xmlns:tei="http://www.tei-c.org/ns/1.0"
6
	exclude-result-prefixes="tei edate" version="2.0">
7

    
8
	<xsl:output method="xml" encoding="utf-8"
9
		omit-xml-declaration="no" />
10

    
11
	<xsl:template match="node()|@*">
12
		<!-- Copy the current node -->
13
		<xsl:copy>
14
			<!-- Including any attributes it has and any child nodes -->
15
			<xsl:apply-templates select="@*|node()" />
16
		</xsl:copy>
17
	</xsl:template>
18

    
19
	<xsl:template name="wp1">
20
		<xsl:for-each
21
			select="child::node()[not(self::tei:pb or self::tei:cb or self::tei:milestone) and following-sibling::*[descendant-or-self::tei:lb]]">
22
			<xsl:apply-templates select="." />
23
		</xsl:for-each>
24
		<xsl:for-each select="child::*[descendant::tei:lb]">
25
			<xsl:copy>
26
				<xsl:apply-templates select="@*" />
27
				<xsl:call-template name="wp1" />
28
			</xsl:copy>
29
		</xsl:for-each>
30
	</xsl:template>
31

    
32
	<xsl:template name="wp2">
33
		<xsl:for-each select="child::*[descendant::tei:lb]">
34
			<xsl:copy>
35
				<xsl:apply-templates select="@*" />
36
				<xsl:call-template name="wp2" />
37
			</xsl:copy>
38
		</xsl:for-each>
39
		<xsl:for-each
40
			select="child::node()[not(self::tei:pb or self::tei:cb or self::tei:milestone) and preceding-sibling::*[descendant-or-self::tei:lb]]">
41
			<xsl:apply-templates select="." />
42
		</xsl:for-each>
43
	</xsl:template>
44

    
45
	<xsl:template
46
		match="tei:w[not(ancestor::tei:w or ancestor::tei:pc)]">
47
		<xsl:copy>
48
			<xsl:apply-templates select="@*" />
49
			<xsl:choose>
50
				<xsl:when
51
					test="descendant::tei:lb and not(descendant::tei:seg[@type='wp'])">
52
					<seg xmlns="http://www.tei-c.org/ns/1.0" type="wp" part="I">
53
						<xsl:call-template name="wp1" />
54
					</seg>
55
					<xsl:apply-templates
56
						select="descendant::tei:milestone|descendant::tei:pb|descendant::tei:cb|descendant::tei:lb" />
57
					<seg xmlns="http://www.tei-c.org/ns/1.0" type="wp" part="F">
58
						<xsl:call-template name="wp2" />
59
					</seg>
60
				</xsl:when>
61
				<xsl:otherwise>
62
					<xsl:apply-templates />
63
				</xsl:otherwise>
64
			</xsl:choose>
65
		</xsl:copy>
66
	</xsl:template>
67

    
68
	<!-- on supprime les w et pc imbriqués -->
69
	<xsl:template
70
		match="tei:w[ancestor::tei:w or ancestor::tei:pc]|tei:pc[ancestor::tei:w or ancestor::tei:pc]">
71
		<xsl:apply-templates />
72
	</xsl:template>
73

    
74
</xsl:stylesheet>