Revision 2398 tmp/org.txm.oriflamms.rcp/res/oriflamms-convert-nesle-oriflammsxml.xsl

oriflamms-convert-nesle-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 des 
16
      Chartes de Fontenay 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">A</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 des
19
			Chartes de Fontenay 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
<!-- On restructure le document pour avoir un TEI par charte -->
103
  
104
  <!-- TEI devient teiCorpus -->
105
  
106
  <xsl:template match="tei:TEI">
107
    <xsl:element name="teiCorpus" xmlns="http://www.tei-c.org/ns/1.0">
108
      <xsl:apply-templates select="@*"/>
109
      <xsl:apply-templates/>
110
    </xsl:element>
111
  </xsl:template>
41
	<xsl:param name="baseMsSiglum">
42
		A
43
	</xsl:param>
112 44

  
113
  <!-- on supprime l'élément text de niveau 1 et travaille directement sur le niveau 2 (l'élément group intermédiaire disparait)-->
114
  
115
<!--  <xsl:template match="tei:TEI/tei:text">
116
    <xsl:apply-templates select="descendant::tei:text"/>
117
  </xsl:template>-->
45
	<xsl:variable name="baseMsPattern">
46
		<xsl:value-of
47
			select="concat('^#?',$baseMsSiglum,'| #?',$baseMsSiglum)" />
48
	</xsl:variable>
118 49

  
119
 
120
  <xsl:template match="tei:text[descendant::tei:text]">
121
    
122
<!--    <teiCorpus xmlns="http://www.tei-c.org/ns/1.0">
123
      <teiHeader xmlns="http://www.tei-c.org/ns/1.0">
124
        <fileDesc xmlns="http://www.tei-c.org/ns/1.0">
125
          <titleStmt xmlns="http://www.tei-c.org/ns/1.0">
126
            <title xmlns="http://www.tei-c.org/ns/1.0">
127
              <xsl:value-of select="tei:group[1]/tei:head[1]"/>
128
            </title>            
129
          </titleStmt>
130
          <publicationStmt xmlns="http://www.tei-c.org/ns/1.0">
131
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
132
          </publicationStmt>
133
          <sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
134
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
135
          </sourceDesc>
136
        </fileDesc>
137
        <profileDesc xmlns="http://www.tei-c.org/ns/1.0">
138
          <!-\- argument devient profileDesc/abstract -\->
139
          <xsl:apply-templates select="descendant::tei:argument[1]"/>
140
        </profileDesc>        
141
      </teiHeader>
142
      <xsl:apply-templates/>
143
    </teiCorpus>-->
144
    <xsl:apply-templates/>
145
  </xsl:template>
146
  
147
  <xsl:template match="tei:text[descendant::tei:text]/tei:front">
148
    <xsl:choose>
149
      <xsl:when test="descendant::tei:div">
150
        <TEI xmlns="http://www.tei-c.org/ns/1.0" ana="ori:align-no">
151
          <teiHeader xmlns="http://www.tei-c.org/ns/1.0">
152
            <fileDesc xmlns="http://www.tei-c.org/ns/1.0">
153
              <titleStmt xmlns="http://www.tei-c.org/ns/1.0">
154
                <title xmlns="http://www.tei-c.org/ns/1.0">
155
                  <xsl:text>Introduction chercheur</xsl:text>
156
                </title>
157
              </titleStmt>
158
              <publicationStmt xmlns="http://www.tei-c.org/ns/1.0">
159
                <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
160
              </publicationStmt>
161
              <sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
162
                <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
163
              </sourceDesc>
164
            </fileDesc>
165
          </teiHeader>
166
          <text xmlns="http://www.tei-c.org/ns/1.0">
167
            <body xmlns="http://www.tei-c.org/ns/1.0">
168
              <xsl:apply-templates select="descendant::tei:div"/>
169
            </body>
170
            
171
          </text>
172
        </TEI>
173
      </xsl:when>
174
      <xsl:otherwise>
175
        <xsl:comment><xsl:copy-of select="."/></xsl:comment>
176
      </xsl:otherwise>
177
    </xsl:choose>
178
  </xsl:template>
179
  
180
  <xsl:template match="tei:text[descendant::tei:text]/tei:back">
181
    <xsl:choose>
182
      <xsl:when test="descendant::tei:div">
183
        <TEI xmlns="http://www.tei-c.org/ns/1.0" ana="ori:align-no">
184
          <teiHeader xmlns="http://www.tei-c.org/ns/1.0">
185
            <fileDesc xmlns="http://www.tei-c.org/ns/1.0">
186
              <titleStmt xmlns="http://www.tei-c.org/ns/1.0">
187
                <title xmlns="http://www.tei-c.org/ns/1.0">
188
                  <xsl:text>Annexes</xsl:text>
189
                </title>
190
              </titleStmt>
191
              <publicationStmt xmlns="http://www.tei-c.org/ns/1.0">
192
                <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
193
              </publicationStmt>
194
              <sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
195
                <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
196
              </sourceDesc>
197
            </fileDesc>
198
          </teiHeader>
199
          <text xmlns="http://www.tei-c.org/ns/1.0">
200
            <body xmlns="http://www.tei-c.org/ns/1.0">
201
              <xsl:apply-templates select="descendant::tei:div"/>
202
            </body>
203
            
204
          </text>
205
        </TEI>
206
      </xsl:when>
207
      <xsl:otherwise>
208
        <xsl:comment><xsl:copy-of select="."/></xsl:comment>
209
      </xsl:otherwise>
210
    </xsl:choose>
211
  </xsl:template>
212
  
213
  <xsl:template match="tei:group[@n='edition']|tei:group[@n='recueil']">
214
    <xsl:apply-templates/>
215
  </xsl:template>
216
  
217
  <xsl:template match="tei:group[@n='edition']/ tei:group[@n='introduction']">
218
    <TEI xmlns="http://www.tei-c.org/ns/1.0">
219
      <teiHeader xmlns="http://www.tei-c.org/ns/1.0">
220
        <fileDesc xmlns="http://www.tei-c.org/ns/1.0">
221
          <titleStmt xmlns="http://www.tei-c.org/ns/1.0">
222
            <title xmlns="http://www.tei-c.org/ns/1.0">
223
              <xsl:text>Introduction</xsl:text>
224
            </title>
225
          </titleStmt>
226
          <publicationStmt xmlns="http://www.tei-c.org/ns/1.0">
227
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
228
          </publicationStmt>
229
          <sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
230
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
231
          </sourceDesc>
232
        </fileDesc>
233
      </teiHeader>
234
      <xsl:apply-templates/>
235
    </TEI>
236
    
237
  </xsl:template>
238
  
239
  <xsl:template match="tei:group[@n='edition']/ tei:group[@n='table']">
240
    <TEI xmlns="http://www.tei-c.org/ns/1.0" ana="ori:align-no">
241
      <teiHeader xmlns="http://www.tei-c.org/ns/1.0">
242
        <fileDesc xmlns="http://www.tei-c.org/ns/1.0">
243
          <titleStmt xmlns="http://www.tei-c.org/ns/1.0">
244
            <title xmlns="http://www.tei-c.org/ns/1.0">
245
              <xsl:text>Table</xsl:text>
246
            </title>
247
          </titleStmt>
248
          <publicationStmt xmlns="http://www.tei-c.org/ns/1.0">
249
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
250
          </publicationStmt>
251
          <sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
252
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
253
          </sourceDesc>
254
        </fileDesc>
255
      </teiHeader>
256
      <text xmlns="http://www.tei-c.org/ns/1.0">
257
        <xsl:copy-of select="."/>
258
      </text>
259
    </TEI>
260
    
261
  </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>
262 57

  
263
  <xsl:template match="tei:group[@n='edition']/tei:group[@n='recueil']/tei:text">
264
    
265
    <TEI xmlns="http://www.tei-c.org/ns/1.0">
266
      <teiHeader xmlns="http://www.tei-c.org/ns/1.0">
267
        <fileDesc xmlns="http://www.tei-c.org/ns/1.0">
268
          <titleStmt xmlns="http://www.tei-c.org/ns/1.0">
269
            <title xmlns="http://www.tei-c.org/ns/1.0">
270
              <xsl:value-of select="descendant::tei:docTitle[1]"></xsl:value-of>
271
            </title>
272
            <xsl:if test="descendant::tei:docAuthor">
273
              <author xmlns="http://www.tei-c.org/ns/1.0">
274
                <xsl:value-of select="descendant::tei:docAuthor[1]"></xsl:value-of>
275
              </author>              
276
            </xsl:if>
277
            
278
          </titleStmt>
279
          <publicationStmt xmlns="http://www.tei-c.org/ns/1.0">
280
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
281
          </publicationStmt>
282
          <!-- les éléments listWit et listBibl sont placés dans sourceDesc -->
283
          <sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
284
            <p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
285
          </sourceDesc>
286
        </fileDesc>
287
        <profileDesc xmlns="http://www.tei-c.org/ns/1.0">
288
          <!-- docDate devient profileDesc/creation/date[@type='documentCreation'] -->
289
          <creation xmlns="http://www.tei-c.org/ns/1.0"><xsl:apply-templates select="descendant::tei:docDate/tei:date"/></creation>
290
        </profileDesc>
291
      </teiHeader>
292
      <text xmlns="http://www.tei-c.org/ns/1.0">
293
        <xsl:if test="preceding-sibling::*[1][self::tei:milestone]">
294
          <xsl:copy-of select="preceding-sibling::tei:milestone[1]"></xsl:copy-of>
295
        </xsl:if>
296
        <xsl:apply-templates/>
297
      </text>
298
    </TEI>
299
  </xsl:template>
300
  
301
  <xsl:template match="tei:text[not(descendant::tei:text)]/tei:front">
302
  </xsl:template>
58
	<xsl:template match="processing-instruction()" />
303 59

  
304
<xsl:template match="tei:argument"/>
305
  
60
	<!-- On supprime les attributs par défaut de la DTD TEI -->
306 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>
307 71

  
308
  
309
  <xsl:template match="tei:milestone">
310
    <xsl:choose>
311
      <xsl:when test="parent::tei:group"/>
312
      <xsl:otherwise>
313
        <xsl:copy-of select="."/>
314
      </xsl:otherwise>
315
    </xsl:choose>
316
  </xsl:template>
72
	<xsl:template match="@facs">
73
		<xsl:attribute name="facs"><xsl:value-of
74
			select="replace(.,'\.tif$','.png','i')" /></xsl:attribute>
75
	</xsl:template>
317 76

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

  
320
  <!-- on supprime listWit du corps du texte (cf. l'entête) -->
321
  <xsl:template match="tei:listWit"/>
322 84

  
323
<!-- on supprime les entêtes et pied de pages (non alignables) -->
324
  
325
  <xsl:template match="tei:fw">
326
    <xsl:comment>fw : <xsl:copy-of select="."/></xsl:comment>
327
  </xsl:template>
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>
328 97

  
329
  <!-- on ajoute un attribut pour faciliter l'identification des segments à ne pas aligner -->
330
  
331
  <xsl:template match="tei:choice/tei:expan|tei:choice/tei:corr|tei:supplied|tei:note">
332
    <xsl:copy>
333
      <xsl:apply-templates select="@*"/>
334
      <xsl:attribute name="ana">ori:align-no</xsl:attribute>
335
      <xsl:apply-templates/>
336
    </xsl:copy>
337
  </xsl:template>
338
  
339
  <xsl:template match="tei:pb">
340
    <xsl:variable name="facs">
341
      <xsl:value-of select="@facs"/>
342
    </xsl:variable>
343
    <xsl:if test="//tei:zone[@xml:id=substring-after($facs,'#')] and not(preceding::tei:pb[@facs=$facs])">
344
      <milestone xmlns="http://www.tei-c.org/ns/1.0" unit="surface">
345
        <xsl:attribute name="facs">
346
          <xsl:value-of select="//tei:surface[tei:zone[@xml:id=substring-after($facs,'#')]][1]/tei:graphic/@url"/>
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
	<!-- On restructure le document pour avoir un TEI par charte -->
121

  
122
	<!-- TEI devient teiCorpus -->
123

  
124
	<xsl:template match="tei:TEI">
125
		<xsl:element name="teiCorpus"
126
			xmlns="http://www.tei-c.org/ns/1.0">
127
			<xsl:apply-templates select="@*" />
128
			<xsl:apply-templates />
129
		</xsl:element>
130
	</xsl:template>
131

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

  
135
	<!-- <xsl:template match="tei:TEI/tei:text"> <xsl:apply-templates select="descendant::tei:text"/> 
136
		</xsl:template> -->
137

  
138

  
139
	<xsl:template match="tei:text[descendant::tei:text]">
140

  
141
		<!-- <teiCorpus xmlns="http://www.tei-c.org/ns/1.0"> <teiHeader xmlns="http://www.tei-c.org/ns/1.0"> 
142
			<fileDesc xmlns="http://www.tei-c.org/ns/1.0"> <titleStmt xmlns="http://www.tei-c.org/ns/1.0"> 
143
			<title xmlns="http://www.tei-c.org/ns/1.0"> <xsl:value-of select="tei:group[1]/tei:head[1]"/> 
144
			</title> </titleStmt> <publicationStmt xmlns="http://www.tei-c.org/ns/1.0"> 
145
			<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p> 
146
			</publicationStmt> <sourceDesc xmlns="http://www.tei-c.org/ns/1.0"> <p xmlns="http://www.tei-c.org/ns/1.0">See 
147
			the header of the top level teiCorpus</p> </sourceDesc> </fileDesc> <profileDesc 
148
			xmlns="http://www.tei-c.org/ns/1.0"> <!-\- argument devient profileDesc/abstract 
149
			-\-> <xsl:apply-templates select="descendant::tei:argument[1]"/> </profileDesc> 
150
			</teiHeader> <xsl:apply-templates/> </teiCorpus> -->
151
		<xsl:apply-templates />
152
	</xsl:template>
153

  
154
	<xsl:template
155
		match="tei:text[descendant::tei:text]/tei:front">
156
		<xsl:choose>
157
			<xsl:when test="descendant::tei:div">
158
				<TEI xmlns="http://www.tei-c.org/ns/1.0" ana="ori:align-no">
159
					<teiHeader xmlns="http://www.tei-c.org/ns/1.0">
160
						<fileDesc xmlns="http://www.tei-c.org/ns/1.0">
161
							<titleStmt xmlns="http://www.tei-c.org/ns/1.0">
162
								<title xmlns="http://www.tei-c.org/ns/1.0">
163
									<xsl:text>Introduction chercheur</xsl:text>
164
								</title>
165
							</titleStmt>
166
							<publicationStmt
167
								xmlns="http://www.tei-c.org/ns/1.0">
168
								<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
169
							</publicationStmt>
170
							<sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
171
								<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
172
							</sourceDesc>
173
						</fileDesc>
174
					</teiHeader>
175
					<text xmlns="http://www.tei-c.org/ns/1.0">
176
						<body xmlns="http://www.tei-c.org/ns/1.0">
177
							<xsl:apply-templates
178
								select="descendant::tei:div" />
179
						</body>
180

  
181
					</text>
182
				</TEI>
183
			</xsl:when>
184
			<xsl:otherwise>
185
				<xsl:comment>
186
					<xsl:copy-of select="." />
187
				</xsl:comment>
188
			</xsl:otherwise>
189
		</xsl:choose>
190
	</xsl:template>
191

  
192
	<xsl:template
193
		match="tei:text[descendant::tei:text]/tei:back">
194
		<xsl:choose>
195
			<xsl:when test="descendant::tei:div">
196
				<TEI xmlns="http://www.tei-c.org/ns/1.0" ana="ori:align-no">
197
					<teiHeader xmlns="http://www.tei-c.org/ns/1.0">
198
						<fileDesc xmlns="http://www.tei-c.org/ns/1.0">
199
							<titleStmt xmlns="http://www.tei-c.org/ns/1.0">
200
								<title xmlns="http://www.tei-c.org/ns/1.0">
201
									<xsl:text>Annexes</xsl:text>
202
								</title>
203
							</titleStmt>
204
							<publicationStmt
205
								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
216
								select="descendant::tei:div" />
217
						</body>
218

  
219
					</text>
220
				</TEI>
221
			</xsl:when>
222
			<xsl:otherwise>
223
				<xsl:comment>
224
					<xsl:copy-of select="." />
225
				</xsl:comment>
226
			</xsl:otherwise>
227
		</xsl:choose>
228
	</xsl:template>
229

  
230
	<xsl:template
231
		match="tei:group[@n='edition']|tei:group[@n='recueil']">
232
		<xsl:apply-templates />
233
	</xsl:template>
234

  
235
	<xsl:template
236
		match="tei:group[@n='edition']/ tei:group[@n='introduction']">
237
		<TEI xmlns="http://www.tei-c.org/ns/1.0">
238
			<teiHeader xmlns="http://www.tei-c.org/ns/1.0">
239
				<fileDesc xmlns="http://www.tei-c.org/ns/1.0">
240
					<titleStmt xmlns="http://www.tei-c.org/ns/1.0">
241
						<title xmlns="http://www.tei-c.org/ns/1.0">
242
							<xsl:text>Introduction</xsl:text>
243
						</title>
244
					</titleStmt>
245
					<publicationStmt
246
						xmlns="http://www.tei-c.org/ns/1.0">
247
						<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
248
					</publicationStmt>
249
					<sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
250
						<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
251
					</sourceDesc>
252
				</fileDesc>
253
			</teiHeader>
254
			<xsl:apply-templates />
255
		</TEI>
256

  
257
	</xsl:template>
258

  
259
	<xsl:template
260
		match="tei:group[@n='edition']/ tei:group[@n='table']">
261
		<TEI xmlns="http://www.tei-c.org/ns/1.0" ana="ori:align-no">
262
			<teiHeader xmlns="http://www.tei-c.org/ns/1.0">
263
				<fileDesc xmlns="http://www.tei-c.org/ns/1.0">
264
					<titleStmt xmlns="http://www.tei-c.org/ns/1.0">
265
						<title xmlns="http://www.tei-c.org/ns/1.0">
266
							<xsl:text>Table</xsl:text>
267
						</title>
268
					</titleStmt>
269
					<publicationStmt
270
						xmlns="http://www.tei-c.org/ns/1.0">
271
						<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
272
					</publicationStmt>
273
					<sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
274
						<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
275
					</sourceDesc>
276
				</fileDesc>
277
			</teiHeader>
278
			<text xmlns="http://www.tei-c.org/ns/1.0">
279
				<xsl:copy-of select="." />
280
			</text>
281
		</TEI>
282

  
283
	</xsl:template>
284

  
285
	<xsl:template
286
		match="tei:group[@n='edition']/tei:group[@n='recueil']/tei:text">
287

  
288
		<TEI xmlns="http://www.tei-c.org/ns/1.0">
289
			<teiHeader xmlns="http://www.tei-c.org/ns/1.0">
290
				<fileDesc xmlns="http://www.tei-c.org/ns/1.0">
291
					<titleStmt xmlns="http://www.tei-c.org/ns/1.0">
292
						<title xmlns="http://www.tei-c.org/ns/1.0">
293
							<xsl:value-of select="descendant::tei:docTitle[1]"></xsl:value-of>
294
						</title>
295
						<xsl:if test="descendant::tei:docAuthor">
296
							<author xmlns="http://www.tei-c.org/ns/1.0">
297
								<xsl:value-of select="descendant::tei:docAuthor[1]"></xsl:value-of>
298
							</author>
299
						</xsl:if>
300

  
301
					</titleStmt>
302
					<publicationStmt
303
						xmlns="http://www.tei-c.org/ns/1.0">
304
						<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
305
					</publicationStmt>
306
					<!-- les éléments listWit et listBibl sont placés dans sourceDesc -->
307
					<sourceDesc xmlns="http://www.tei-c.org/ns/1.0">
308
						<p xmlns="http://www.tei-c.org/ns/1.0">See the header of the top level teiCorpus</p>
309
					</sourceDesc>
310
				</fileDesc>
311
				<profileDesc xmlns="http://www.tei-c.org/ns/1.0">
312
					<!-- docDate devient profileDesc/creation/date[@type='documentCreation'] -->
313
					<creation xmlns="http://www.tei-c.org/ns/1.0">
314
						<xsl:apply-templates
315
							select="descendant::tei:docDate/tei:date" />
316
					</creation>
317
				</profileDesc>
318
			</teiHeader>
319
			<text xmlns="http://www.tei-c.org/ns/1.0">
320
				<xsl:if test="preceding-sibling::*[1][self::tei:milestone]">
321
					<xsl:copy-of
322
						select="preceding-sibling::tei:milestone[1]"></xsl:copy-of>
323
				</xsl:if>
324
				<xsl:apply-templates />
325
			</text>
326
		</TEI>
327
	</xsl:template>
328

  
329
	<xsl:template
330
		match="tei:text[not(descendant::tei:text)]/tei:front">
331
	</xsl:template>
332

  
333
	<xsl:template match="tei:argument" />
334

  
335

  
336

  
337

  
338
	<xsl:template match="tei:milestone">
339
		<xsl:choose>
340
			<xsl:when test="parent::tei:group" />
341
			<xsl:otherwise>
342
				<xsl:copy-of select="." />
343
			</xsl:otherwise>
344
		</xsl:choose>
345
	</xsl:template>
346

  
347
	<xsl:template match="tei:group/tei:head" />
348

  
349
	<!-- on supprime listWit du corps du texte (cf. l'entête) -->
350
	<xsl:template match="tei:listWit" />
351

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

  
354
	<xsl:template match="tei:fw">
355
		<xsl:comment>
356
			fw :
357
			<xsl:copy-of select="." />
358
		</xsl:comment>
359
	</xsl:template>
360

  
361
	<!-- on ajoute un attribut pour faciliter l'identification des segments 
362
		à ne pas aligner -->
363

  
364
	<xsl:template
365
		match="tei:choice/tei:expan|tei:choice/tei:corr|tei:supplied|tei:note">
366
		<xsl:copy>
367
			<xsl:apply-templates select="@*" />
368
			<xsl:attribute name="ana">ori:align-no</xsl:attribute>
369
			<xsl:apply-templates />
370
		</xsl:copy>
371
	</xsl:template>
372

  
373
	<xsl:template match="tei:pb">
374
		<xsl:variable name="facs">
375
			<xsl:value-of select="@facs" />
376
		</xsl:variable>
377
		<xsl:if
378
			test="//tei:zone[@xml:id=substring-after($facs,'#')] and not(preceding::tei:pb[@facs=$facs])">
379
			<milestone xmlns="http://www.tei-c.org/ns/1.0"
380
				unit="surface">
381
				<xsl:attribute name="facs">
382
          <xsl:value-of
383
					select="//tei:surface[tei:zone[@xml:id=substring-after($facs,'#')]][1]/tei:graphic/@url" />
347 384
        </xsl:attribute>
348
      </milestone>
349
    </xsl:if>
350
    <xsl:copy-of select="."/>
351
  </xsl:template>
352
  
385
			</milestone>
386
		</xsl:if>
387
		<xsl:copy-of select="." />
388
	</xsl:template>
353 389

  
354
<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']]">
355
  <xsl:choose>
356
    <!-- patch d'espace blanc devant les sauts de ligne à l'intérieur de mots -->
357
    <xsl:when test="matches(.,'\s+$')"><xsl:value-of select="replace(.,'\s+$','')"/></xsl:when>
358
    <xsl:otherwise><xsl:copy/></xsl:otherwise>
359
  </xsl:choose>
360
</xsl:template>
361
  
362
  <xsl:template match="tei:witDetail">
363
    <xsl:text> </xsl:text>
364
    <xsl:copy>
365
      <xsl:apply-templates select="@*"/>
366
      <xsl:attribute name="ana">ori:align-no</xsl:attribute>
367
      <xsl:apply-templates/>
368
    </xsl:copy>
369
  </xsl:template>
370 390

  
391
	<xsl:template
392
		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']]">
393
		<xsl:choose>
394
			<!-- patch d'espace blanc devant les sauts de ligne à l'intérieur de mots -->
395
			<xsl:when test="matches(.,'\s+$')">
396
				<xsl:value-of select="replace(.,'\s+$','')" />
397
			</xsl:when>
398
			<xsl:otherwise>
399
				<xsl:copy />
400
			</xsl:otherwise>
401
		</xsl:choose>
402
	</xsl:template>
403

  
404
	<xsl:template match="tei:witDetail">
405
		<xsl:text> </xsl:text>
406
		<xsl:copy>
407
			<xsl:apply-templates select="@*" />
408
			<xsl:attribute name="ana">ori:align-no</xsl:attribute>
409
			<xsl:apply-templates />
410
		</xsl:copy>
411
	</xsl:template>
412

  
371 413
</xsl:stylesheet>

Also available in: Unified diff