Revision 2398 tmp/org.txm.oriflamms.rcp/groovy/org/txm/macro/oriflamms/prepare/oriflamms-convert-cartulaireblanc-oriflammsxml.xsl

oriflamms-convert-cartulaireblanc-oriflammsxml.xsl (revision 2398)
1 1
<?xml version="1.0"?>
2
<xsl:stylesheet xmlns:edate="http://exslt.org/dates-and-times"
3
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tei="http://www.tei-c.org/ns/1.0"
4
  xmlns:xd="http://www.pnp-software.com/XSLTdoc"
5
  xmlns:txm="http://textometrie.org/1.0"
6
  xmlns:xi="http://www.w3.org/2001/XInclude" 
7
  xmlns:svg="http://www.w3.org/2000/svg" 
8
  xmlns:math="http://www.w3.org/1998/Math/MathML"
9
  exclude-result-prefixes="tei edate xd txm xi svg math" version="2.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
	xmlns:xd="http://www.pnp-software.com/XSLTdoc"
7
	xmlns:txm="http://textometrie.org/1.0"
8
	xmlns:xi="http://www.w3.org/2001/XInclude"
9
	xmlns:svg="http://www.w3.org/2000/svg"
10
	xmlns:math="http://www.w3.org/1998/Math/MathML"
11
	exclude-result-prefixes="tei edate xd txm xi svg math" version="2.0">
10 12

  
11
  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="no" indent="no"/>
12
  
13
  <xd:doc type="stylesheet">
14
    <xd:short>
15
      Cette feuille permet de convertir les transcription du 
16
      Cartulaire Blanc de Saint-Denis au format XML-TEI du projet Oriflamms.
17
    </xd:short>
18
    <xd:detail>
19
      This stylesheet is free software; you can redistribute it and/or
20
      modify it under the terms of the GNU Lesser General Public
21
      License as published by the Free Software Foundation; either
22
      version 3 of the License, or (at your option) any later version.
23
      
24
      This stylesheet is distributed in the hope that it will be useful,
25
      but WITHOUT ANY WARRANTY; without even the implied warranty of
26
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
27
      Lesser General Public License for more details.
28
      
29
      You should have received a copy of GNU Lesser Public License with
30
      this stylesheet. If not, see http://www.gnu.org/licenses/lgpl.html
31
    </xd:detail>
32
    <xd:author>Alexei Lavrentiev alexei.lavrentev@ens-lyon.fr</xd:author>
33
    <xd:copyright>2015, CNRS / ICAR (Équipe CACTUS)</xd:copyright>
34
  </xd:doc>
35
  
36
  <!--<xsl:strip-space elements="*"/>-->
37
  
38
  <xsl:param name="baseMsSiglum">CB</xsl:param>
39
  
40
  <xsl:variable name="baseMsPattern"><xsl:value-of select="concat('^#?',$baseMsSiglum,'| #?',$baseMsSiglum)"/></xsl:variable>
41
  
42
  <xsl:template match="*|comment()">
43
    <!-- Copy the current node -->
44
    <xsl:copy>
45
      <!-- Including any attributes it has and any child nodes -->
46
      <xsl:apply-templates select="@*|node()"/>
47
    </xsl:copy>
48
  </xsl:template>
49
  
50
  <xsl:template match="processing-instruction()"/>
13
	<xsl:output method="xml" encoding="utf-8"
14
		omit-xml-declaration="no" indent="no" />
51 15

  
52
  <!-- On supprime les attributs par défaut de la DTD TEI -->
53
  
54
  <xsl:template match="@*">
55
    <xsl:choose>
56
      <xsl:when test="matches(name(.),'^(part|instant|anchored|full)$')"/>
57
      <xsl:otherwise><xsl:copy/></xsl:otherwise>
58
    </xsl:choose>
59
  </xsl:template>
16
	<xd:doc type="stylesheet">
17
		<xd:short>
18
			Cette feuille permet de convertir les transcription du
19
			Cartulaire Blanc de Saint-Denis au format XML-TEI du projet Oriflamms.
20
		</xd:short>
21
		<xd:detail>
22
			This stylesheet is free software; you can redistribute it and/or
23
			modify it under the terms of the GNU Lesser General Public
24
			License as published by the Free Software Foundation; either
25
			version 3 of the License, or (at your option) any later version.
60 26

  
61
<xsl:template match="@facs">
62
  <xsl:attribute name="facs"><xsl:value-of select="replace(.,'\.tif$','.png','i')"/></xsl:attribute>
63
</xsl:template>
27
			This stylesheet is distributed in the hope that it will be useful,
28
			but WITHOUT ANY WARRANTY; without even the implied warranty of
29
			MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
30
			Lesser General Public License for more details.
64 31

  
65
  <xsl:template match="tei:teiHeader">    
66
      <xsl:copy>
67
        <xsl:apply-templates select="@*"/>
68
        <xsl:apply-templates/>
69
      </xsl:copy>    
70
  </xsl:template>
71
    
32
			You should have received a copy of GNU Lesser Public License with
33
			this stylesheet. If not, see http://www.gnu.org/licenses/lgpl.html
34
		</xd:detail>
35
		<xd:author>Alexei Lavrentiev alexei.lavrentev@ens-lyon.fr</xd:author>
36
		<xd:copyright>2015, CNRS / ICAR (Équipe CACTUS)</xd:copyright>
37
	</xd:doc>
72 38

  
73
<xsl:template match="tei:revisionDesc">
74
  <xsl:copy>
75
  <xsl:apply-templates select="@*"/>
76
    <change xmlns="http://www.tei-c.org/ns/1.0" when="2007-01-01" who="#DS">Publication du document original</change>
77
    <!-- information récupérée à partir de /TEI/text[1]/front[1]/titlePage[1]/docDate[1] -->
78
    <change xmlns="http://www.tei-c.org/ns/1.0" when="{format-date(current-date(),'[Y]-[M01]-[D01]')}" who="#auto">Conversion automatique au format XML-TEI-Oriflamms</change>
79
  <xsl:apply-templates/>
80
  </xsl:copy>
81
</xsl:template>
82
  
83
  <xsl:template match="tei:encodingDesc">
84
    <xsl:copy>
85
      <xsl:apply-templates select="@*"/>
86
      <xsl:apply-templates/>
87
      <xsl:if test="not(//tei:prefixDef[@ident='ori'])">
88
        <listPrefixDef xmlns="http://www.tei-c.org/ns/1.0">
89
          <prefixDef xmlns="http://www.tei-c.org/ns/1.0" ident="ori" 
90
            matchPattern="([a-z]+)" 
91
            replacementPattern="oriflamms-annotation-scheme.xml#$1">
92
            <p>In the context of this project, private URIs with the prefix
93
              "ori" point to <gi>interp</gi> elements in the project's
94
              oriflamms-annotation-scheme.xml file.
95
            </p>
96
          </prefixDef>
97
        </listPrefixDef>
98
      </xsl:if>
99
    </xsl:copy>
100
  </xsl:template>
39
	<!--<xsl:strip-space elements="*"/> -->
101 40

  
102
<xsl:template match="tei:sourceDesc">
103
  <xsl:copy>
104
    <xsl:apply-templates select="@*"/>
105
    <msDesc xmlns="http://www.tei-c.org/ns/1.0">
106
      <msIdentifier xmlns="http://www.tei-c.org/ns/1.0" xml:id="CB">
107
        <country xmlns="http://www.tei-c.org/ns/1.0">France</country>
108
        <settlement xmlns="http://www.tei-c.org/ns/1.0">Paris</settlement>
109
        <institution xmlns="http://www.tei-c.org/ns/1.0">Archives nationales</institution>
110
        <idno xmlns="http://www.tei-c.org/ns/1.0">LL 1157</idno>
111
      </msIdentifier>
112
    </msDesc>
113
    <xsl:apply-templates/>
114
  </xsl:copy>
115
</xsl:template>
41
	<xsl:param name="baseMsSiglum">
42
		CB
43
	</xsl:param>
116 44

  
117
<!-- On restructure le document pour avoir un TEI par charte -->
118
  
119
  <!-- TEI devient teiCorpus -->
120
  
121
  <xsl:template match="tei:TEI">
122
    <xsl:element name="teiCorpus" xmlns="http://www.tei-c.org/ns/1.0">
123
      <xsl:apply-templates select="@*"/>
124
      <xsl:apply-templates/>
125
    </xsl:element>
126
  </xsl:template>
45
	<xsl:variable name="baseMsPattern">
46
		<xsl:value-of
47
			select="concat('^#?',$baseMsSiglum,'| #?',$baseMsSiglum)" />
48
	</xsl:variable>
127 49

  
128
  <!-- on supprime l'élément text de niveau 1 et travaille directement sur le niveau 2 (l'élément group intermédiaire disparait)-->
129
  
130
<!--  <xsl:template match="tei:TEI/tei:text">
131
    <xsl:apply-templates select="descendant::tei:text"/>
132
  </xsl:template>-->
50
	<xsl:template match="*|comment()">
51
		<!-- Copy the current node -->
52
		<xsl:copy>
53
			<!-- Including any attributes it has and any child nodes -->
54
			<xsl:apply-templates select="@*|node()" />
55
		</xsl:copy>
56
	</xsl:template>
133 57

  
134
 
135
  <xsl:template match="tei:text[descendant::tei:text]">
136
    <xsl:apply-templates/>
137
<!--    <teiCorpus xmlns="http://www.tei-c.org/ns/1.0">
138
      <teiHeader xmlns="http://www.tei-c.org/ns/1.0">
139
        <fileDesc xmlns="http://www.tei-c.org/ns/1.0">
140
          <titleStmt xmlns="http://www.tei-c.org/ns/1.0">
141
            <title xmlns="http://www.tei-c.org/ns/1.0">
142
              <xsl:value-of select="tei:group[1]/tei:head[1]"/>
143
            </title>            
144
          </titleStmt>
145
          <publicationStmt xmlns="http://www.tei-c.org/ns/1.0">
146
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
147
          </publicationStmt>
148
          <sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
149
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
150
          </sourceDesc>
151
        </fileDesc>
152
        <profileDesc xmlns="http://www.tei-c.org/ns/1.0">
153
          <!-\- argument devient profileDesc/abstract -\->
154
          <xsl:apply-templates select="descendant::tei:argument[1]"/>
155
        </profileDesc>        
156
      </teiHeader>
157
      <xsl:apply-templates/>
158
    </teiCorpus>-->
159
  </xsl:template>
160
  
161
  <xsl:template match="tei:text[descendant::tei:text]/tei:front">
162
    <xsl:choose>
163
      <xsl:when test="descendant::tei:div">
164
        <TEI xmlns="http://www.tei-c.org/ns/1.0" ana="ori:align-no">
165
          <teiHeader xmlns="http://www.tei-c.org/ns/1.0">
166
            <fileDesc xmlns="http://www.tei-c.org/ns/1.0">
167
              <titleStmt xmlns="http://www.tei-c.org/ns/1.0">
168
                <title xmlns="http://www.tei-c.org/ns/1.0">
169
                  <xsl:text>Introduction</xsl:text>
170
                </title>
171
              </titleStmt>
172
              <publicationStmt xmlns="http://www.tei-c.org/ns/1.0">
173
                <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
174
              </publicationStmt>
175
              <sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
176
                <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
177
              </sourceDesc>
178
            </fileDesc>
179
          </teiHeader>
180
          <text xmlns="http://www.tei-c.org/ns/1.0">
181
            <body xmlns="http://www.tei-c.org/ns/1.0">
182
              <xsl:apply-templates select="tei:div"/>
183
            </body>
184
            
185
          </text>
186
        </TEI>
187
      </xsl:when>
188
      <xsl:otherwise>
189
        <xsl:comment><xsl:copy-of select="."/></xsl:comment>
190
      </xsl:otherwise>
191
    </xsl:choose>
192
  </xsl:template>
193
  
194
  <xsl:template match="tei:text[descendant::tei:text]/tei:back">
195
    <xsl:choose>
196
      <xsl:when test="descendant::tei:div">
197
        <TEI xmlns="http://www.tei-c.org/ns/1.0" ana="ori:align-no">
198
          <teiHeader xmlns="http://www.tei-c.org/ns/1.0">
199
            <fileDesc xmlns="http://www.tei-c.org/ns/1.0">
200
              <titleStmt xmlns="http://www.tei-c.org/ns/1.0">
201
                <title xmlns="http://www.tei-c.org/ns/1.0">
202
                  <xsl:text>Appendices</xsl:text>
203
                </title>
204
              </titleStmt>
205
              <publicationStmt xmlns="http://www.tei-c.org/ns/1.0">
206
                <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
207
              </publicationStmt>
208
              <sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
209
                <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
210
              </sourceDesc>
211
            </fileDesc>
212
          </teiHeader>
213
          <text xmlns="http://www.tei-c.org/ns/1.0">
214
            <body xmlns="http://www.tei-c.org/ns/1.0">
215
              <xsl:apply-templates select="descendant::tei:div"/>
216
            </body>
217
            
218
          </text>
219
        </TEI>
220
      </xsl:when>
221
      <xsl:otherwise>
222
        <xsl:comment><xsl:copy-of select="."/></xsl:comment>
223
      </xsl:otherwise>
224
    </xsl:choose>
225
  </xsl:template>
58
	<xsl:template match="processing-instruction()" />
226 59

  
227
  <xsl:template match="tei:text//tei:text[not(descendant::tei:text) and descendant::tei:div[@type='transcription']]">
228
    <TEI xmlns="http://www.tei-c.org/ns/1.0">
229
      <teiHeader xmlns="http://www.tei-c.org/ns/1.0">
230
        <fileDesc xmlns="http://www.tei-c.org/ns/1.0">
231
          <titleStmt xmlns="http://www.tei-c.org/ns/1.0">
232
            <title xmlns="http://www.tei-c.org/ns/1.0">
233
              <xsl:text>Acte </xsl:text>
234
              <xsl:value-of select="descendant::tei:head[1]"></xsl:value-of>
235
            </title>            
236
          </titleStmt>
237
          <publicationStmt xmlns="http://www.tei-c.org/ns/1.0">
238
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
239
          </publicationStmt>
240
          <!-- les éléments listWit et listBibl sont placés dans sourceDesc -->
241
          <sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
242
            <!--<xsl:copy-of select="descendant::tei:listWit[1]"/>-->
243
            <xsl:choose>
244
              <xsl:when test="descendant::tei:div[@type='tradition']">
245
                <xsl:copy-of select="descendant::tei:div[@type='tradition']/node()[not(self::tei:div[@type='comments'])]"/>
246
              </xsl:when>
247
              <xsl:otherwise>
248
                <p>Aucune information</p>
249
              </xsl:otherwise>
250
            </xsl:choose>
251
            
252
            <!--<xsl:copy-of select="descendant::tei:listBibl[1]"></xsl:copy-of>-->
253
          </sourceDesc>
254
        </fileDesc>
255
        <profileDesc xmlns="http://www.tei-c.org/ns/1.0">
256
          <!-- docDate devient profileDesc/creation/date[@type='documentCreation'] -->
257
          <creation xmlns="http://www.tei-c.org/ns/1.0"><xsl:apply-templates select="descendant::tei:docDate/tei:date"/></creation>
258
          <!-- front/div[@type="summary"] devient profileDesc/abstract -->
259
          <xsl:if test="descendant::tei:div[@type='short-summary']">
260
            <abstract xmlns="http://www.tei-c.org/ns/1.0" rend="short-summary">
261
              <xsl:apply-templates select="descendant::tei:div[@type='short-summary']/node()"/>
262
            </abstract>            
263
          </xsl:if>
264
        </profileDesc>
265
      </teiHeader>
266
      <text xmlns="http://www.tei-c.org/ns/1.0">
267
        <xsl:apply-templates/>
268
      </text>
269
    </TEI>
270
  </xsl:template>
271
  
272
  <xsl:template match="tei:text//tei:text[not(descendant::tei:text) and not(descendant::tei:div[@type='transcription'])]">
273
    <xsl:comment>Texte sans transcription !</xsl:comment>
274
    <xsl:comment><xsl:copy-of select="."/></xsl:comment>
275
  </xsl:template>
276
  
277
  <xsl:template match="tei:text[not(descendant::tei:text)]/tei:front
60
	<!-- On supprime les attributs par défaut de la DTD TEI -->
61

  
62
	<xsl:template match="@*">
63
		<xsl:choose>
64
			<xsl:when
65
				test="matches(name(.),'^(part|instant|anchored|full)$')" />
66
			<xsl:otherwise>
67
				<xsl:copy />
68
			</xsl:otherwise>
69
		</xsl:choose>
70
	</xsl:template>
71

  
72
	<xsl:template match="@facs">
73
		<xsl:attribute name="facs"><xsl:value-of
74
			select="replace(.,'\.tif$','.png','i')" /></xsl:attribute>
75
	</xsl:template>
76

  
77
	<xsl:template match="tei:teiHeader">
78
		<xsl:copy>
79
			<xsl:apply-templates select="@*" />
80
			<xsl:apply-templates />
81
		</xsl:copy>
82
	</xsl:template>
83

  
84

  
85
	<xsl:template match="tei:revisionDesc">
86
		<xsl:copy>
87
			<xsl:apply-templates select="@*" />
88
			<change xmlns="http://www.tei-c.org/ns/1.0" when="2007-01-01"
89
				who="#DS">Publication du document original</change>
90
			<!-- information récupérée à partir de /TEI/text[1]/front[1]/titlePage[1]/docDate[1] -->
91
			<change xmlns="http://www.tei-c.org/ns/1.0"
92
				when="{format-date(current-date(),'[Y]-[M01]-[D01]')}" who="#auto">Conversion
93
				automatique au format XML-TEI-Oriflamms</change>
94
			<xsl:apply-templates />
95
		</xsl:copy>
96
	</xsl:template>
97

  
98
	<xsl:template match="tei:encodingDesc">
99
		<xsl:copy>
100
			<xsl:apply-templates select="@*" />
101
			<xsl:apply-templates />
102
			<xsl:if test="not(//tei:prefixDef[@ident='ori'])">
103
				<listPrefixDef xmlns="http://www.tei-c.org/ns/1.0">
104
					<prefixDef xmlns="http://www.tei-c.org/ns/1.0"
105
						ident="ori" matchPattern="([a-z]+)"
106
						replacementPattern="oriflamms-annotation-scheme.xml#$1">
107
						<p>
108
							In the context of this project, private URIs with the prefix
109
							"ori" point to
110
							<gi>interp</gi>
111
							elements in the project's
112
							oriflamms-annotation-scheme.xml file.
113
						</p>
114
					</prefixDef>
115
				</listPrefixDef>
116
			</xsl:if>
117
		</xsl:copy>
118
	</xsl:template>
119

  
120
	<xsl:template match="tei:sourceDesc">
121
		<xsl:copy>
122
			<xsl:apply-templates select="@*" />
123
			<msDesc xmlns="http://www.tei-c.org/ns/1.0">
124
				<msIdentifier xmlns="http://www.tei-c.org/ns/1.0"
125
					xml:id="CB">
126
					<country xmlns="http://www.tei-c.org/ns/1.0">France</country>
127
					<settlement xmlns="http://www.tei-c.org/ns/1.0">Paris</settlement>
128
					<institution xmlns="http://www.tei-c.org/ns/1.0">Archives nationales</institution>
129
					<idno xmlns="http://www.tei-c.org/ns/1.0">LL 1157</idno>
130
				</msIdentifier>
131
			</msDesc>
132
			<xsl:apply-templates />
133
		</xsl:copy>
134
	</xsl:template>
135

  
136
	<!-- On restructure le document pour avoir un TEI par charte -->
137

  
138
	<!-- TEI devient teiCorpus -->
139

  
140
	<xsl:template match="tei:TEI">
141
		<xsl:element name="teiCorpus"
142
			xmlns="http://www.tei-c.org/ns/1.0">
143
			<xsl:apply-templates select="@*" />
144
			<xsl:apply-templates />
145
		</xsl:element>
146
	</xsl:template>
147

  
148
	<!-- on supprime l'élément text de niveau 1 et travaille directement sur 
149
		le niveau 2 (l'élément group intermédiaire disparait) -->
150

  
151
	<!-- <xsl:template match="tei:TEI/tei:text"> <xsl:apply-templates select="descendant::tei:text"/> 
152
		</xsl:template> -->
153

  
154

  
155
	<xsl:template match="tei:text[descendant::tei:text]">
156
		<xsl:apply-templates />
157
		<!-- <teiCorpus xmlns="http://www.tei-c.org/ns/1.0"> <teiHeader xmlns="http://www.tei-c.org/ns/1.0"> 
158
			<fileDesc xmlns="http://www.tei-c.org/ns/1.0"> <titleStmt xmlns="http://www.tei-c.org/ns/1.0"> 
159
			<title xmlns="http://www.tei-c.org/ns/1.0"> <xsl:value-of select="tei:group[1]/tei:head[1]"/> 
160
			</title> </titleStmt> <publicationStmt xmlns="http://www.tei-c.org/ns/1.0"> 
161
			<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p> 
162
			</publicationStmt> <sourceDesc xmlns="http://www.tei-c.org/ns/1.0"> <p xmlns="http://www.tei-c.org/ns/1.0">See 
163
			the header of the top level teiCorpus</p> </sourceDesc> </fileDesc> <profileDesc 
164
			xmlns="http://www.tei-c.org/ns/1.0"> <!-\- argument devient profileDesc/abstract 
165
			-\-> <xsl:apply-templates select="descendant::tei:argument[1]"/> </profileDesc> 
166
			</teiHeader> <xsl:apply-templates/> </teiCorpus> -->
167
	</xsl:template>
168

  
169
	<xsl:template
170
		match="tei:text[descendant::tei:text]/tei:front">
171
		<xsl:choose>
172
			<xsl:when test="descendant::tei:div">
173
				<TEI xmlns="http://www.tei-c.org/ns/1.0" ana="ori:align-no">
174
					<teiHeader xmlns="http://www.tei-c.org/ns/1.0">
175
						<fileDesc xmlns="http://www.tei-c.org/ns/1.0">
176
							<titleStmt xmlns="http://www.tei-c.org/ns/1.0">
177
								<title xmlns="http://www.tei-c.org/ns/1.0">
178
									<xsl:text>Introduction</xsl:text>
179
								</title>
180
							</titleStmt>
181
							<publicationStmt
182
								xmlns="http://www.tei-c.org/ns/1.0">
183
								<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
184
							</publicationStmt>
185
							<sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
186
								<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
187
							</sourceDesc>
188
						</fileDesc>
189
					</teiHeader>
190
					<text xmlns="http://www.tei-c.org/ns/1.0">
191
						<body xmlns="http://www.tei-c.org/ns/1.0">
192
							<xsl:apply-templates select="tei:div" />
193
						</body>
194

  
195
					</text>
196
				</TEI>
197
			</xsl:when>
198
			<xsl:otherwise>
199
				<xsl:comment>
200
					<xsl:copy-of select="." />
201
				</xsl:comment>
202
			</xsl:otherwise>
203
		</xsl:choose>
204
	</xsl:template>
205

  
206
	<xsl:template
207
		match="tei:text[descendant::tei:text]/tei:back">
208
		<xsl:choose>
209
			<xsl:when test="descendant::tei:div">
210
				<TEI xmlns="http://www.tei-c.org/ns/1.0" ana="ori:align-no">
211
					<teiHeader xmlns="http://www.tei-c.org/ns/1.0">
212
						<fileDesc xmlns="http://www.tei-c.org/ns/1.0">
213
							<titleStmt xmlns="http://www.tei-c.org/ns/1.0">
214
								<title xmlns="http://www.tei-c.org/ns/1.0">
215
									<xsl:text>Appendices</xsl:text>
216
								</title>
217
							</titleStmt>
218
							<publicationStmt
219
								xmlns="http://www.tei-c.org/ns/1.0">
220
								<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
221
							</publicationStmt>
222
							<sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
223
								<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
224
							</sourceDesc>
225
						</fileDesc>
226
					</teiHeader>
227
					<text xmlns="http://www.tei-c.org/ns/1.0">
228
						<body xmlns="http://www.tei-c.org/ns/1.0">
229
							<xsl:apply-templates
230
								select="descendant::tei:div" />
231
						</body>
232

  
233
					</text>
234
				</TEI>
235
			</xsl:when>
236
			<xsl:otherwise>
237
				<xsl:comment>
238
					<xsl:copy-of select="." />
239
				</xsl:comment>
240
			</xsl:otherwise>
241
		</xsl:choose>
242
	</xsl:template>
243

  
244
	<xsl:template
245
		match="tei:text//tei:text[not(descendant::tei:text) and descendant::tei:div[@type='transcription']]">
246
		<TEI xmlns="http://www.tei-c.org/ns/1.0">
247
			<teiHeader xmlns="http://www.tei-c.org/ns/1.0">
248
				<fileDesc xmlns="http://www.tei-c.org/ns/1.0">
249
					<titleStmt xmlns="http://www.tei-c.org/ns/1.0">
250
						<title xmlns="http://www.tei-c.org/ns/1.0">
251
							<xsl:text>Acte </xsl:text>
252
							<xsl:value-of select="descendant::tei:head[1]"></xsl:value-of>
253
						</title>
254
					</titleStmt>
255
					<publicationStmt
256
						xmlns="http://www.tei-c.org/ns/1.0">
257
						<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
258
					</publicationStmt>
259
					<!-- les éléments listWit et listBibl sont placés dans sourceDesc -->
260
					<sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
261
						<!--<xsl:copy-of select="descendant::tei:listWit[1]"/> -->
262
						<xsl:choose>
263
							<xsl:when test="descendant::tei:div[@type='tradition']">
264
								<xsl:copy-of
265
									select="descendant::tei:div[@type='tradition']/node()[not(self::tei:div[@type='comments'])]" />
266
							</xsl:when>
267
							<xsl:otherwise>
268
								<p>Aucune information</p>
269
							</xsl:otherwise>
270
						</xsl:choose>
271

  
272
						<!--<xsl:copy-of select="descendant::tei:listBibl[1]"></xsl:copy-of> -->
273
					</sourceDesc>
274
				</fileDesc>
275
				<profileDesc xmlns="http://www.tei-c.org/ns/1.0">
276
					<!-- docDate devient profileDesc/creation/date[@type='documentCreation'] -->
277
					<creation xmlns="http://www.tei-c.org/ns/1.0">
278
						<xsl:apply-templates
279
							select="descendant::tei:docDate/tei:date" />
280
					</creation>
281
					<!-- front/div[@type="summary"] devient profileDesc/abstract -->
282
					<xsl:if test="descendant::tei:div[@type='short-summary']">
283
						<abstract xmlns="http://www.tei-c.org/ns/1.0"
284
							rend="short-summary">
285
							<xsl:apply-templates
286
								select="descendant::tei:div[@type='short-summary']/node()" />
287
						</abstract>
288
					</xsl:if>
289
				</profileDesc>
290
			</teiHeader>
291
			<text xmlns="http://www.tei-c.org/ns/1.0">
292
				<xsl:apply-templates />
293
			</text>
294
		</TEI>
295
	</xsl:template>
296

  
297
	<xsl:template
298
		match="tei:text//tei:text[not(descendant::tei:text) and not(descendant::tei:div[@type='transcription'])]">
299
		<xsl:comment>
300
			Texte sans transcription !
301
		</xsl:comment>
302
		<xsl:comment>
303
			<xsl:copy-of select="." />
304
		</xsl:comment>
305
	</xsl:template>
306

  
307
	<xsl:template
308
		match="tei:text[not(descendant::tei:text)]/tei:front
278 309
    |tei:text[not(descendant::tei:text)]/tei:back
279 310
    |tei:div[matches(@type,'comments|notes')]">
280
    <xsl:copy>
281
      <xsl:apply-templates select="@*"/>
282
      <xsl:attribute name="ana">ori:align-no</xsl:attribute>
283
      <xsl:apply-templates/>
284
    </xsl:copy>    
285
  </xsl:template>
286
  
311
		<xsl:copy>
312
			<xsl:apply-templates select="@*" />
313
			<xsl:attribute name="ana">ori:align-no</xsl:attribute>
314
			<xsl:apply-templates />
315
		</xsl:copy>
316
	</xsl:template>
287 317

  
288
<xsl:template match="tei:group">
289
  <xsl:apply-templates/>
290
</xsl:template>
291
  
292
  <xsl:template match="tei:milestone">
293
    <xsl:choose>
294
      <xsl:when test="parent::tei:group"/>
295
      <xsl:otherwise>
296
        <xsl:copy-of select="."/>
297
      </xsl:otherwise>
298
    </xsl:choose>
299
  </xsl:template>
300 318

  
301
<xsl:template match="tei:group/tei:head"/>
319
	<xsl:template match="tei:group">
320
		<xsl:apply-templates />
321
	</xsl:template>
302 322

  
303
  <!-- on supprime listWit du corps du texte (cf. l'entête) -->
304
  <xsl:template match="tei:listWit|tei:div[@type='tradition']"/>
323
	<xsl:template match="tei:milestone">
324
		<xsl:choose>
325
			<xsl:when test="parent::tei:group" />
326
			<xsl:otherwise>
327
				<xsl:copy-of select="." />
328
			</xsl:otherwise>
329
		</xsl:choose>
330
	</xsl:template>
305 331

  
306
<!-- on supprime les entêtes et pied de pages (non alignables) -->
307
  
308
  <xsl:template match="tei:fw">
309
    <xsl:comment>fw : <xsl:copy-of select="."/></xsl:comment>
310
  </xsl:template>
332
	<xsl:template match="tei:group/tei:head" />
311 333

  
312
  <!-- on ajoute un attribut pour faciliter l'identification des segments à ne pas aligner -->
313
  
314
  <xsl:template match="tei:choice/tei:expan|tei:choice/tei:corr|tei:supplied|tei:note|tei:witDetail|tei:lem[@resp='#OGJ']">
315
    <xsl:copy>
316
      <xsl:apply-templates select="@*"/>
317
      <xsl:attribute name="ana">ori:align-no</xsl:attribute>
318
      <xsl:apply-templates/>
319
    </xsl:copy>
320
  </xsl:template>
321
  
322
  <xsl:template match="tei:milestone[@unit='page']">
323
    <xsl:if test="@facs">
324
      <milestone xmlns="http://www.tei-c.org/ns/1.0" unit="surface">
325
        <xsl:attribute name="facs">
326
          <xsl:value-of select="@facs"/>
334
	<!-- on supprime listWit du corps du texte (cf. l'entête) -->
335
	<xsl:template
336
		match="tei:listWit|tei:div[@type='tradition']" />
337

  
338
	<!-- on supprime les entêtes et pied de pages (non alignables) -->
339

  
340
	<xsl:template match="tei:fw">
341
		<xsl:comment>
342
			fw :
343
			<xsl:copy-of select="." />
344
		</xsl:comment>
345
	</xsl:template>
346

  
347
	<!-- on ajoute un attribut pour faciliter l'identification des segments 
348
		à ne pas aligner -->
349

  
350
	<xsl:template
351
		match="tei:choice/tei:expan|tei:choice/tei:corr|tei:supplied|tei:note|tei:witDetail|tei:lem[@resp='#OGJ']">
352
		<xsl:copy>
353
			<xsl:apply-templates select="@*" />
354
			<xsl:attribute name="ana">ori:align-no</xsl:attribute>
355
			<xsl:apply-templates />
356
		</xsl:copy>
357
	</xsl:template>
358

  
359
	<xsl:template match="tei:milestone[@unit='page']">
360
		<xsl:if test="@facs">
361
			<milestone xmlns="http://www.tei-c.org/ns/1.0"
362
				unit="surface">
363
				<xsl:attribute name="facs">
364
          <xsl:value-of select="@facs" />
327 365
        </xsl:attribute>
328
      </milestone>
329
    </xsl:if>
330
    <pb xmlns="http://www.tei-c.org/ns/1.0">
331
      <xsl:apply-templates select="@*[not(name()='unit')]"/>
332
    </pb>
333
  </xsl:template>
334
  
366
			</milestone>
367
		</xsl:if>
368
		<pb xmlns="http://www.tei-c.org/ns/1.0">
369
			<xsl:apply-templates
370
				select="@*[not(name()='unit')]" />
371
		</pb>
372
	</xsl:template>
335 373

  
336
<!--<xsl:template match="text()[following-sibling::*[1][self::tei:milestone or self::tei:pb or self::tei:cb or self::tei:lb] and following-sibling::tei:lb[1][@break='no']]">
337
  <xsl:choose>
338
    <!-\- patch d'espace blanc devant les sauts de ligne à l'intérieur de mots -\->
339
    <xsl:when test="matches(.,'\s+$')"><xsl:value-of select="replace(.,'\s+$','')"/></xsl:when>
340
    <xsl:otherwise><xsl:copy/></xsl:otherwise>
341
  </xsl:choose>
342
</xsl:template>-->
343 374

  
375
	<!--<xsl:template match="text()[following-sibling::*[1][self::tei:milestone 
376
		or self::tei:pb or self::tei:cb or self::tei:lb] and following-sibling::tei:lb[1][@break='no']]"> 
377
		<xsl:choose> <!-\- patch d'espace blanc devant les sauts de ligne à l'intérieur 
378
		de mots -\-> <xsl:when test="matches(.,'\s+$')"><xsl:value-of select="replace(.,'\s+$','')"/></xsl:when> 
379
		<xsl:otherwise><xsl:copy/></xsl:otherwise> </xsl:choose> </xsl:template> -->
380

  
344 381
</xsl:stylesheet>

Also available in: Unified diff