Statistiques
| Révision :

root / tei / xsl / HD_oo-to-teip5.xsl @ 2

Historique | Voir | Annoter | Télécharger (33,38 ko)

1 2 mingarao
<?xml version="1.0" encoding="UTF-8"?>
2 2 mingarao
<!--
3 2 mingarao
# Adaptation mingarao 2010-01 pour Hyperdonat de :
4 2 mingarao
 #  The Contents of this file are made available subject to the terms of
5 2 mingarao
 # the GNU Lesser General Public License Version 2.1
6 2 mingarao
7 2 mingarao
 # Sebastian Rahtz / University of Oxford
8 2 mingarao
 # copyright 2005
9 2 mingarao
10 2 mingarao
 # This stylesheet is derived from the OpenOffice to Docbook conversion
11 2 mingarao
 #  Sun Microsystems Inc., October, 2000
12 2 mingarao
13 2 mingarao
 #  GNU Lesser General Public License Version 2.1
14 2 mingarao
 #  =============================================
15 2 mingarao
 #  Copyright 2000 by Sun Microsystems, Inc.
16 2 mingarao
 #  901 San Antonio Road, Palo Alto, CA 94303, USA
17 2 mingarao
 #
18 2 mingarao
 #  This library is free software; you can redistribute it and/or
19 2 mingarao
 #  modify it under the terms of the GNU Lesser General Public
20 2 mingarao
 #  License version 2.1, as published by the Free Software Foundation.
21 2 mingarao
 #
22 2 mingarao
 #  This library is distributed in the hope that it will be useful,
23 2 mingarao
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
24 2 mingarao
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
25 2 mingarao
 #  Lesser General Public License for more details.
26 2 mingarao
 #
27 2 mingarao
 #  You should have received a copy of the GNU Lesser General Public
28 2 mingarao
 #  License along with this library; if not, write to the Free Software
29 2 mingarao
 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
30 2 mingarao
 #  MA  02111-1307  USA
31 2 mingarao
 #
32 2 mingarao
 #
33 2 mingarao
-->
34 2 mingarao
<xsl:stylesheet
35 2 mingarao
  exclude-result-prefixes="office style text table draw fo xlink dc meta number svg chart dr3d math form script ooo ooow oooc dom xforms xsd xsi"
36 2 mingarao
  office:version="1.0" version="2.0" xmlns="http://www.tei-c.org/ns/1.0"
37 2 mingarao
  xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
38 2 mingarao
  xmlns:dc="http://purl.org/dc/elements/1.1/"
39 2 mingarao
  xmlns:dom="http://www.w3.org/2001/xml-events"
40 2 mingarao
  xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
41 2 mingarao
  xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
42 2 mingarao
  xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
43 2 mingarao
  xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
44 2 mingarao
  xmlns:math="http://www.w3.org/1998/Math/MathML"
45 2 mingarao
  xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
46 2 mingarao
  xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
47 2 mingarao
  xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
48 2 mingarao
  xmlns:ooo="http://openoffice.org/2004/office"
49 2 mingarao
  xmlns:oooc="http://openoffice.org/2004/calc"
50 2 mingarao
  xmlns:ooow="http://openoffice.org/2004/writer"
51 2 mingarao
  xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
52 2 mingarao
  xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
53 2 mingarao
  xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
54 2 mingarao
  xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
55 2 mingarao
  xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
56 2 mingarao
  xmlns:xforms="http://www.w3.org/2002/xforms"
57 2 mingarao
  xmlns:xlink="http://www.w3.org/1999/xlink"
58 2 mingarao
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
59 2 mingarao
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
60 2 mingarao
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
61 2 mingarao
62 2 mingarao
63 2 mingarao
64 2 mingarao
65 2 mingarao
  <xsl:key name="Headings"
66 2 mingarao
	   match="text:h[@text:outline-level]"
67 2 mingarao
	   use="1"/>
68 2 mingarao
  <xsl:key
69 2 mingarao
      name="secondary_children"
70 2 mingarao
      match="text:p[@text:style-name='Index 2']"
71 2 mingarao
      use="generate-id(preceding-sibling::text:p[@text:style-name='Index 1'][1])"/>
72 2 mingarao
73 2 mingarao
  <xsl:key match="style:style" name="STYLES" use="@style:name"/>
74 2 mingarao
75 2 mingarao
  <xsl:key match="text:h" name="Headings" use="text:outline-level"/>
76 2 mingarao
77 2 mingarao
  <xsl:param name="META" select="/"/>
78 2 mingarao
79 2 mingarao
  <xsl:param name="verbose">false</xsl:param>
80 2 mingarao
81 2 mingarao
  <xsl:output encoding="utf-8" indent="yes"/>
82 2 mingarao
83 2 mingarao
<!--  <xsl:strip-space elements="text:span"/>-->
84 2 mingarao
85 2 mingarao
  <xsl:variable name="document-title">
86 2 mingarao
    <xsl:choose>
87 2 mingarao
      <xsl:when
88 2 mingarao
        test="/office:document-content/office:body/office:text/text:p[@text:style-name='Title']">
89 2 mingarao
        <xsl:value-of
90 2 mingarao
          select="/office:document-content/office:body/office:text/text:p[@text:style-name='Title'][1]"
91 2 mingarao
        />
92 2 mingarao
      </xsl:when>
93 2 mingarao
      <xsl:when test="//office:meta/dc:title">
94 2 mingarao
        <xsl:value-of select="//office:meta/dc:title"/>
95 2 mingarao
      </xsl:when>
96 2 mingarao
      <xsl:otherwise>
97 2 mingarao
        <xsl:text>Hyperdonat - Document sans nom</xsl:text>
98 2 mingarao
      </xsl:otherwise>
99 2 mingarao
    </xsl:choose>
100 2 mingarao
  </xsl:variable>
101 2 mingarao
102 2 mingarao
103 2 mingarao
  <xsl:template match="/">
104 2 mingarao
    <xsl:for-each select="descendant::text:variable-decl">
105 2 mingarao
      <xsl:variable name="name">
106 2 mingarao
        <xsl:value-of select="@text:name"/>
107 2 mingarao
      </xsl:variable>
108 2 mingarao
      <xsl:if test="contains(@text:name,'entitydecl')">
109 2 mingarao
        <xsl:text disable-output-escaping="yes">&lt;!DOCTYPE TEI [
110 2 mingarao
	</xsl:text>
111 2 mingarao
        <xsl:text disable-output-escaping="yes">&lt;!ENTITY </xsl:text>
112 2 mingarao
        <xsl:value-of select="substring-after(@text:name,'entitydecl_')"/>
113 2 mingarao
        <xsl:text> &quot;</xsl:text>
114 2 mingarao
        <xsl:value-of
115 2 mingarao
          select="/descendant::text:variable-set[@text:name= $name][1]"/>
116 2 mingarao
        <xsl:text disable-output-escaping="yes">&quot;&gt;</xsl:text>
117 2 mingarao
        <xsl:text disable-output-escaping="yes">]&gt;</xsl:text>
118 2 mingarao
      </xsl:if>
119 2 mingarao
    </xsl:for-each>
120 2 mingarao
121 2 mingarao
    <TEI>
122 2 mingarao
      <xsl:for-each select="//office:meta/dc:language">
123 2 mingarao
	<xsl:attribute name="xml:lang">
124 2 mingarao
	  <xsl:value-of select="normalize-space(.)"/>
125 2 mingarao
	</xsl:attribute>
126 2 mingarao
      </xsl:for-each>
127 2 mingarao
      <xsl:call-template name="teiHeader"/>
128 2 mingarao
      <xsl:apply-templates/>
129 2 mingarao
    </TEI>
130 2 mingarao
  </xsl:template>
131 2 mingarao
132 2 mingarao
133 2 mingarao
  <xsl:template match="text:variable-set|text:variable-get">
134 2 mingarao
    <xsl:choose>
135 2 mingarao
      <xsl:when test="contains(@text:style-name,'entitydecl')">
136 2 mingarao
        <xsl:text disable-output-escaping="yes">&amp;</xsl:text>
137 2 mingarao
        <xsl:value-of select="substring-after(@text:style-name,'entitydecl_')"/>
138 2 mingarao
        <xsl:text disable-output-escaping="yes">;</xsl:text>
139 2 mingarao
      </xsl:when>
140 2 mingarao
    </xsl:choose>
141 2 mingarao
  </xsl:template>
142 2 mingarao
143 2 mingarao
  <xsl:template name="teiHeader">
144 2 mingarao
    <teiHeader>
145 2 mingarao
      <fileDesc>
146 2 mingarao
        <titleStmt>
147 2 mingarao
          <title>
148 2 mingarao
            <xsl:value-of select="$document-title"/>
149 2 mingarao
          </title>
150 2 mingarao
          <author>
151 2 mingarao
            <xsl:value-of
152 2 mingarao
              select="//office:meta/meta:initial-creator"/>
153 2 mingarao
          </author>
154 2 mingarao
        </titleStmt>
155 2 mingarao
        <editionStmt>
156 2 mingarao
          <edition>
157 2 mingarao
            <date>
158 2 mingarao
              <xsl:value-of
159 2 mingarao
                select="//office:meta/meta:creation-date"/>
160 2 mingarao
            </date>
161 2 mingarao
          </edition>
162 2 mingarao
        </editionStmt>
163 2 mingarao
        <publicationStmt>
164 2 mingarao
          <authority/>
165 2 mingarao
        </publicationStmt>
166 2 mingarao
        <sourceDesc>
167 2 mingarao
          <p>
168 2 mingarao
	    <xsl:apply-templates
169 2 mingarao
              select="//office:meta/meta:generator"/>
170 2 mingarao
	    <xsl:text>Préparé avec OpenOffice</xsl:text>
171 2 mingarao
	  </p>
172 2 mingarao
        </sourceDesc>
173 2 mingarao
      </fileDesc>
174 2 mingarao
      <xsl:if test="//office:meta/dc:language|//office:meta/meta:keyword">
175 2 mingarao
	<profileDesc>
176 2 mingarao
	  <xsl:if test="//office:meta/dc:language">
177 2 mingarao
	    <langUsage>
178 2 mingarao
	      <language>
179 2 mingarao
		<xsl:attribute name="ident">
180 2 mingarao
		  <xsl:value-of select="//office:meta/dc:language"/>
181 2 mingarao
		</xsl:attribute>
182 2 mingarao
		<xsl:value-of select="//office:meta/dc:language"/>
183 2 mingarao
	      </language>
184 2 mingarao
	    </langUsage>
185 2 mingarao
	  </xsl:if>
186 2 mingarao
	  <xsl:if test="//office:meta/meta:keyword">
187 2 mingarao
	    <textClass>
188 2 mingarao
	      <keywords>
189 2 mingarao
		<list>
190 2 mingarao
		  <xsl:for-each select="//office:meta/meta:keyword">
191 2 mingarao
		    <item>
192 2 mingarao
		      <xsl:value-of select="."/>
193 2 mingarao
		    </item>
194 2 mingarao
		  </xsl:for-each>
195 2 mingarao
		</list>
196 2 mingarao
	      </keywords>
197 2 mingarao
	    </textClass>
198 2 mingarao
	  </xsl:if>
199 2 mingarao
	</profileDesc>
200 2 mingarao
      </xsl:if>
201 2 mingarao
      <revisionDesc>
202 2 mingarao
	<change>
203 2 mingarao
	  <name>
204 2 mingarao
	    <xsl:apply-templates
205 2 mingarao
		select="//office:meta/dc:creator"/>
206 2 mingarao
	  </name>
207 2 mingarao
	  <date>
208 2 mingarao
	    <xsl:apply-templates select="//office:meta/dc:date"/>
209 2 mingarao
	  </date>
210 2 mingarao
	</change>
211 2 mingarao
      </revisionDesc>
212 2 mingarao
    </teiHeader>
213 2 mingarao
  </xsl:template>
214 2 mingarao
215 2 mingarao
216 2 mingarao
217 2 mingarao
  <xsl:template match="//office:body">
218 2 mingarao
    <text>
219 2 mingarao
      <xsl:apply-templates/>
220 2 mingarao
    </text>
221 2 mingarao
  </xsl:template>
222 2 mingarao
223 2 mingarao
  <xsl:template match="office:text">
224 2 mingarao
    <body>
225 2 mingarao
      <xsl:apply-templates/>
226 2 mingarao
      <xsl:variable name="lastsection">
227 2 mingarao
	<xsl:value-of select="key('Headings',1)[last()]/@text:outline-level"/>
228 2 mingarao
      </xsl:variable>
229 2 mingarao
      <xsl:call-template name="closeDivLoop">
230 2 mingarao
	<xsl:with-param name="repeat">
231 2 mingarao
	  <xsl:value-of select="$lastsection"/>
232 2 mingarao
	</xsl:with-param>
233 2 mingarao
      </xsl:call-template>
234 2 mingarao
    </body>
235 2 mingarao
  </xsl:template>
236 2 mingarao
237 2 mingarao
  <!-- sections -->
238 2 mingarao
  <xsl:template match="text:h">
239 2 mingarao
    <xsl:choose>
240 2 mingarao
      <xsl:when test="@text:style-name='ArticleInfo'"> </xsl:when>
241 2 mingarao
      <xsl:when test="@text:style-name='Abstract'">
242 2 mingarao
        <div type="abstract">
243 2 mingarao
          <xsl:apply-templates/>
244 2 mingarao
        </div>
245 2 mingarao
      </xsl:when>
246 2 mingarao
      <xsl:when test="@text:style-name='Appendix'">
247 2 mingarao
        <div type="appendix">
248 2 mingarao
          <xsl:apply-templates/>
249 2 mingarao
        </div>
250 2 mingarao
      </xsl:when>
251 2 mingarao
      <xsl:otherwise>
252 2 mingarao
253 2 mingarao
        <xsl:variable name="sectvar">
254 2 mingarao
          <xsl:text>div</xsl:text>
255 2 mingarao
        </xsl:variable>
256 2 mingarao
        <xsl:variable name="idvar">
257 2 mingarao
          <xsl:text> id=&quot;</xsl:text>
258 2 mingarao
          <xsl:value-of select="@text:style-name"/>
259 2 mingarao
          <xsl:text>&quot;</xsl:text>
260 2 mingarao
        </xsl:variable>
261 2 mingarao
        <xsl:text disable-output-escaping="yes">&lt;</xsl:text>
262 2 mingarao
        <xsl:value-of select="$sectvar"/>
263 2 mingarao
        <xsl:value-of select="$idvar"/>
264 2 mingarao
        <xsl:text disable-output-escaping="yes">&gt;</xsl:text>
265 2 mingarao
        <xsl:apply-templates/>
266 2 mingarao
        <xsl:text disable-output-escaping="yes">&lt;/</xsl:text>
267 2 mingarao
        <xsl:value-of select="$sectvar"/>
268 2 mingarao
        <xsl:text disable-output-escaping="yes">&gt;</xsl:text>
269 2 mingarao
      </xsl:otherwise>
270 2 mingarao
    </xsl:choose>
271 2 mingarao
  </xsl:template>
272 2 mingarao
273 2 mingarao
274 2 mingarao
  <xsl:template match="text:h[@text:outline-level]">
275 2 mingarao
    <xsl:variable name="level">
276 2 mingarao
      <xsl:value-of select="@text:outline-level"/>
277 2 mingarao
    </xsl:variable>
278 2 mingarao
279 2 mingarao
    <xsl:variable name="precedingLevel">
280 2 mingarao
      <xsl:choose>
281 2 mingarao
	<xsl:when test="preceding::text:h[@text:outline-level]">
282 2 mingarao
      <xsl:value-of
283 2 mingarao
	select="preceding::text:h[@text:outline-level][1]/@text:outline-level"/>
284 2 mingarao
	</xsl:when>
285 2 mingarao
	<xsl:otherwise>
286 2 mingarao
	  <xsl:text>0</xsl:text>
287 2 mingarao
	</xsl:otherwise>
288 2 mingarao
      </xsl:choose>
289 2 mingarao
    </xsl:variable>
290 2 mingarao
291 2 mingarao
    <xsl:if test="$verbose='true'">
292 2 mingarao
      <xsl:message>------------------------</xsl:message>
293 2 mingarao
      <xsl:message>|level <xsl:value-of select="$level"/>, following <xsl:value-of
294 2 mingarao
      select="$precedingLevel"/>, <xsl:value-of select="."/></xsl:message>
295 2 mingarao
    </xsl:if>
296 2 mingarao
297 2 mingarao
    <xsl:if test="$level &lt;= $precedingLevel">
298 2 mingarao
      <xsl:call-template name="closeDivLoop">
299 2 mingarao
	<xsl:with-param name="repeat">
300 2 mingarao
	  <xsl:value-of select="($precedingLevel - $level) + 1"/>
301 2 mingarao
	</xsl:with-param>
302 2 mingarao
      </xsl:call-template>
303 2 mingarao
    </xsl:if>
304 2 mingarao
305 2 mingarao
306 2 mingarao
    <xsl:if test="$level &gt; $precedingLevel +1">
307 2 mingarao
      <xsl:if test="$verbose='true'">
308 2 mingarao
	<xsl:message>|found a gap in hierarchy: <xsl:value-of
309 2 mingarao
	select="$level"/> follows <xsl:value-of select="$precedingLevel"/>: <xsl:value-of select="($level - $precedingLevel)-1"/></xsl:message>
310 2 mingarao
      </xsl:if>
311 2 mingarao
      <xsl:call-template name="generateDivs">
312 2 mingarao
	<xsl:with-param name="n">
313 2 mingarao
	  <xsl:value-of select="($level - $precedingLevel)-1"/>
314 2 mingarao
	</xsl:with-param>
315 2 mingarao
      </xsl:call-template>
316 2 mingarao
    </xsl:if>
317 2 mingarao
318 2 mingarao
    <xsl:text disable-output-escaping="yes">&lt;div</xsl:text>
319 2 mingarao
    <xsl:text> type=&quot;div</xsl:text>
320 2 mingarao
    <xsl:value-of select="$level"/>
321 2 mingarao
    <xsl:text>&quot;</xsl:text>
322 2 mingarao
    <xsl:call-template name="id.attribute.literal"/>
323 2 mingarao
    <xsl:text disable-output-escaping="yes">&gt;</xsl:text>
324 2 mingarao
325 2 mingarao
    <xsl:if test="$verbose='true'">
326 2 mingarao
      <xsl:message>| <xsl:call-template name="stars">
327 2 mingarao
      <xsl:with-param name="n">
328 2 mingarao
	<xsl:value-of select="$level"/>
329 2 mingarao
      </xsl:with-param>
330 2 mingarao
      </xsl:call-template>: <xsl:value-of select="."/></xsl:message>
331 2 mingarao
    </xsl:if>
332 2 mingarao
    <xsl:if test="not(normalize-space(.)='')">
333 2 mingarao
      <head>
334 2 mingarao
	<xsl:apply-templates/>
335 2 mingarao
      </head>
336 2 mingarao
    </xsl:if>
337 2 mingarao
  </xsl:template>
338 2 mingarao
339 2 mingarao
340 2 mingarao
  <xsl:template name="generateDivs">
341 2 mingarao
    <xsl:param name="n"/>
342 2 mingarao
    <xsl:if test="$n&gt;0">
343 2 mingarao
      <xsl:text disable-output-escaping="yes">&lt;div&gt;</xsl:text>
344 2 mingarao
      <xsl:call-template name="generateDivs">
345 2 mingarao
	<xsl:with-param name="n">
346 2 mingarao
      <xsl:value-of select="$n - 1"/></xsl:with-param>
347 2 mingarao
      </xsl:call-template>
348 2 mingarao
    </xsl:if>
349 2 mingarao
  </xsl:template>
350 2 mingarao
351 2 mingarao
  <xsl:template name="closeDivLoop">
352 2 mingarao
    <xsl:param name="repeat"/>
353 2 mingarao
    <xsl:if test="$repeat >= 1">
354 2 mingarao
      <xsl:text disable-output-escaping="yes">&lt;/div</xsl:text>
355 2 mingarao
      <xsl:text disable-output-escaping="yes">&gt;</xsl:text>
356 2 mingarao
      <xsl:call-template name="closeDivLoop">
357 2 mingarao
        <xsl:with-param name="repeat">
358 2 mingarao
	  <xsl:value-of select="$repeat - 1"/>
359 2 mingarao
	</xsl:with-param>
360 2 mingarao
      </xsl:call-template>
361 2 mingarao
    </xsl:if>
362 2 mingarao
  </xsl:template>
363 2 mingarao
364 2 mingarao
365 2 mingarao
366 2 mingarao
  <!-- special case paragraphs -->
367 2 mingarao
  <xsl:template match="text:p[@text:style-name='XMLComment']">
368 2 mingarao
    <xsl:comment>
369 2 mingarao
      <xsl:value-of select="."/>
370 2 mingarao
    </xsl:comment>
371 2 mingarao
  </xsl:template>
372 2 mingarao
373 2 mingarao
374 2 mingarao
  <xsl:template match="text:p[@text:style-name]">
375 2 mingarao
    <xsl:choose>
376 2 mingarao
      <xsl:when test="draw:frame and parent::draw:text-box">
377 2 mingarao
	<xsl:apply-templates select="draw:frame"/>
378 2 mingarao
	<head>
379 2 mingarao
	  <xsl:apply-templates select="text()|*[not(local-name(.)='frame')]"/>
380 2 mingarao
	</head>
381 2 mingarao
      </xsl:when>
382 2 mingarao
      <xsl:when test="parent::table:table-cell">
383 2 mingarao
	<xsl:call-template name="applyStyle"/>
384 2 mingarao
      </xsl:when>
385 2 mingarao
      <xsl:when test="not(node())"/>
386 2 mingarao
      <xsl:when test="count(parent::text:note-body/text:p)=1">
387 2 mingarao
          <xsl:apply-templates/>
388 2 mingarao
      </xsl:when>
389 2 mingarao
      <xsl:when test="count(parent::text:list-item/text:p)=1">
390 2 mingarao
          <xsl:apply-templates/>
391 2 mingarao
      </xsl:when>
392 2 mingarao
      <xsl:when test="@text:style-name='Document Title'">
393 2 mingarao
        <title>
394 2 mingarao
          <xsl:apply-templates/>
395 2 mingarao
        </title>
396 2 mingarao
      </xsl:when>
397 2 mingarao
      <xsl:when test="@text:style-name='Author'">
398 2 mingarao
        <author>
399 2 mingarao
          <xsl:apply-templates/>
400 2 mingarao
        </author>
401 2 mingarao
      </xsl:when>
402 2 mingarao
      <xsl:when test="@text:style-name='lg'">
403 2 mingarao
        <lg>
404 2 mingarao
          <xsl:apply-templates/>
405 2 mingarao
        </lg>
406 2 mingarao
      </xsl:when>
407 2 mingarao
      <xsl:when test="@text:style-name='Title'">
408 2 mingarao
        <title>
409 2 mingarao
          <xsl:apply-templates/>
410 2 mingarao
        </title>
411 2 mingarao
      </xsl:when>
412 2 mingarao
      <xsl:when test="@text:style-name='Date'">
413 2 mingarao
        <date>
414 2 mingarao
          <xsl:apply-templates/>
415 2 mingarao
        </date>
416 2 mingarao
      </xsl:when>
417 2 mingarao
      <xsl:when test="@text:style-name='Section Title'">
418 2 mingarao
        <head>
419 2 mingarao
          <xsl:apply-templates/>
420 2 mingarao
        </head>
421 2 mingarao
      </xsl:when>
422 2 mingarao
      <xsl:when test="@text:style-name='Appendix Title'">
423 2 mingarao
        <head>
424 2 mingarao
          <xsl:apply-templates/>
425 2 mingarao
        </head>
426 2 mingarao
      </xsl:when>
427 2 mingarao
      <xsl:when test="@text:style-name='Screen'">
428 2 mingarao
        <Screen>
429 2 mingarao
          <xsl:apply-templates/>
430 2 mingarao
        </Screen>
431 2 mingarao
      </xsl:when>
432 2 mingarao
      <xsl:when test="@text:style-name='Output'">
433 2 mingarao
        <Output>
434 2 mingarao
          <xsl:apply-templates/>
435 2 mingarao
        </Output>
436 2 mingarao
      </xsl:when>
437 2 mingarao
      <xsl:when test="normalize-space(.)=''"/>
438 2 mingarao
      <xsl:otherwise>
439 2 mingarao
        <p>
440 2 mingarao
          <xsl:apply-templates/>
441 2 mingarao
        </p>
442 2 mingarao
      </xsl:otherwise>
443 2 mingarao
    </xsl:choose>
444 2 mingarao
  </xsl:template>
445 2 mingarao
446 2 mingarao
  <xsl:template match="office:annotation/text:p">
447 2 mingarao
    <note>
448 2 mingarao
        <xsl:apply-templates/>
449 2 mingarao
    </note>
450 2 mingarao
  </xsl:template>
451 2 mingarao
452 2 mingarao
453 2 mingarao
  <!-- normal paragraphs -->
454 2 mingarao
  <xsl:template match="text:p">
455 2 mingarao
    <xsl:choose>
456 2 mingarao
      <xsl:when test="parent::text:list-item">
457 2 mingarao
        <xsl:call-template name="applyStyle"/>
458 2 mingarao
      </xsl:when>
459 2 mingarao
      <xsl:when test="parent::table:table-cell">
460 2 mingarao
        <xsl:call-template name="applyStyle"/>
461 2 mingarao
      </xsl:when>
462 2 mingarao
      <xsl:when test="@text:style-name='Table'"/>
463 2 mingarao
      <xsl:when test="normalize-space(.)=''"/>
464 2 mingarao
      <xsl:when test="text:span[@text:style-name = 'XrefLabel']"/>
465 2 mingarao
      <xsl:when test="@text:style-name='Speech'">
466 2 mingarao
        <sp>
467 2 mingarao
          <speaker/>
468 2 mingarao
          <p>
469 2 mingarao
            <xsl:call-template name="id.attribute"/>
470 2 mingarao
            <xsl:call-template name="applyStyle"/>
471 2 mingarao
          </p>
472 2 mingarao
        </sp>
473 2 mingarao
      </xsl:when>
474 2 mingarao
      <xsl:otherwise>
475 2 mingarao
        <p>
476 2 mingarao
          <xsl:call-template name="id.attribute"/>
477 2 mingarao
          <xsl:call-template name="applyStyle"/>
478 2 mingarao
        </p>
479 2 mingarao
      </xsl:otherwise>
480 2 mingarao
    </xsl:choose>
481 2 mingarao
  </xsl:template>
482 2 mingarao
483 2 mingarao
  <!-- lists -->
484 2 mingarao
  <xsl:template match="text:list">
485 2 mingarao
  <xsl:variable name="nom_liste" select="@text:style-name"/>
486 2 mingarao
  <xsl:variable name="numero_vers">
487 2 mingarao
<xsl:choose>
488 2 mingarao
<!-- soit on a forcé le début de la numérotation et on a dans la définition du style de la liste concernée
489 2 mingarao
un attribut @start-value comportant la valeur recherchée-->
490 2 mingarao
<xsl:when test="//text:list-style[@style:name=$nom_liste]//@text:start-value">
491 2 mingarao
	<xsl:value-of select="//text:list-style[@style:name=$nom_liste]//text:list-level-style-number[1]/@text:start-value"/>
492 2 mingarao
</xsl:when>
493 2 mingarao
<!-- soit on a utilisé la numérotation continue et on a alors un attribut @continue-numering=true
494 2 mingarao
calcule alors la posiition du premier list-item par rapport à tous ses frères appartenant au même type de liste dans tout le document
495 2 mingarao
-->
496 2 mingarao
<xsl:when test="@text:continue-numbering">
497 2 mingarao
	<xsl:for-each select="./text:list-item[1]">
498 2 mingarao
	<xsl:number count="text:list[@text:style-name = $nom_liste]/text:list-item" level="any"/>
499 2 mingarao
	</xsl:for-each>
500 2 mingarao
</xsl:when>
501 2 mingarao
<!-- sinon, on est vraisemblablement dans la première liste du document
502 2 mingarao
et on attribue donc la valeur 1
503 2 mingarao
attention, il peut être nécessaire de vérifier le comportement de la numérotation des listes
504 2 mingarao
au cas par cas dans le content.xml
505 2 mingarao
-->
506 2 mingarao
<xsl:otherwise>
507 2 mingarao
<xsl:value-of select="1"/>
508 2 mingarao
</xsl:otherwise>
509 2 mingarao
</xsl:choose>
510 2 mingarao
</xsl:variable>
511 2 mingarao
      <lg type="scene">
512 2 mingarao
          <xsl:apply-templates select="text:list-item">
513 2 mingarao
	  <xsl:with-param name="numero_vers"><xsl:value-of select="$numero_vers"/></xsl:with-param>
514 2 mingarao
	  </xsl:apply-templates>
515 2 mingarao
       </lg>
516 2 mingarao
</xsl:template>
517 2 mingarao
518 2 mingarao
  <xsl:template match="text:list-header">
519 2 mingarao
    <head>
520 2 mingarao
      <xsl:apply-templates/>
521 2 mingarao
    </head>
522 2 mingarao
  </xsl:template>
523 2 mingarao
524 2 mingarao
  <xsl:template match="text:list-item">
525 2 mingarao
  <xsl:param name="numero_vers">0</xsl:param>
526 2 mingarao
        <l>
527 2 mingarao
	<xsl:attribute name="n">
528 2 mingarao
	<xsl:value-of select="$numero_vers + position() - 1"/>
529 2 mingarao
	</xsl:attribute>
530 2 mingarao
          <xsl:apply-templates/>
531 2 mingarao
        </l>
532 2 mingarao
  </xsl:template>
533 2 mingarao
534 2 mingarao
535 2 mingarao
  <xsl:template
536 2 mingarao
    match="text:p[@text:style-name='VarList Item' or @text:style-name='List Contents']">
537 2 mingarao
    <xsl:if
538 2 mingarao
      test="not(preceding-sibling::text:p[@text:style-name='VarList Item'])">
539 2 mingarao
      <xsl:text disable-output-escaping="yes">&lt;item&gt;</xsl:text>
540 2 mingarao
    </xsl:if>
541 2 mingarao
    <xsl:apply-templates/>
542 2 mingarao
    <xsl:if
543 2 mingarao
      test="not(following-sibling::text:p[@text:style-name='VarList Item'])">
544 2 mingarao
      <xsl:text disable-output-escaping="yes">&lt;/item&gt;</xsl:text>
545 2 mingarao
    </xsl:if>
546 2 mingarao
    <xsl:variable name="next">
547 2 mingarao
      <xsl:for-each select="following-sibling::text:p[1]">
548 2 mingarao
        <xsl:value-of select="@text:style-name"/>
549 2 mingarao
      </xsl:for-each>
550 2 mingarao
    </xsl:variable>
551 2 mingarao
    <xsl:choose>
552 2 mingarao
      <xsl:when test="$next='VarList Term'"/>
553 2 mingarao
      <xsl:when test="$next='List Heading'"/>
554 2 mingarao
      <xsl:when test="$next='VarList Item'"/>
555 2 mingarao
      <xsl:when test="$next='List Contents'"/>
556 2 mingarao
      <xsl:otherwise>
557 2 mingarao
        <xsl:text disable-output-escaping="yes">&lt;/list&gt;</xsl:text>
558 2 mingarao
      </xsl:otherwise>
559 2 mingarao
    </xsl:choose>
560 2 mingarao
561 2 mingarao
  </xsl:template>
562 2 mingarao
563 2 mingarao
  <xsl:template
564 2 mingarao
    match="text:p[@text:style-name='VarList Term' or @text:style-name='List Heading']">
565 2 mingarao
    <xsl:variable name="prev">
566 2 mingarao
      <xsl:for-each select="preceding-sibling::text:p[1]">
567 2 mingarao
        <xsl:value-of select="@text:style-name"/>
568 2 mingarao
      </xsl:for-each>
569 2 mingarao
    </xsl:variable>
570 2 mingarao
    <xsl:choose>
571 2 mingarao
      <xsl:when test="$prev='VarList Term'"/>
572 2 mingarao
      <xsl:when test="$prev='List Heading'"/>
573 2 mingarao
      <xsl:when test="$prev='VarList Item'"/>
574 2 mingarao
      <xsl:when test="$prev='List Contents'"/>
575 2 mingarao
      <xsl:otherwise>
576 2 mingarao
        <xsl:text disable-output-escaping="yes">&lt;list type="gloss"&gt;</xsl:text>
577 2 mingarao
      </xsl:otherwise>
578 2 mingarao
    </xsl:choose>
579 2 mingarao
    <label>
580 2 mingarao
      <xsl:apply-templates/>
581 2 mingarao
    </label>
582 2 mingarao
  </xsl:template>
583 2 mingarao
584 2 mingarao
  <!-- inline -->
585 2 mingarao
  <!-- attention l'ordre de traitement des styles importe ! (ordre d'imbrication des balises TEI -->
586 2 mingarao
  <xsl:template match="text:span">
587 2 mingarao
    	<xsl:choose>
588 2 mingarao
	<xsl:when test="contains(document('analyse_styles_oo.xml', .)//style[@name='color_green'], concat(@text:style-name, '_'))">
589 2 mingarao
    	<seg type="color_green" resp="HD">
590 2 mingarao
		<xsl:call-template name="add"/>
591 2 mingarao
	</seg>
592 2 mingarao
	</xsl:when>
593 2 mingarao
	<xsl:otherwise>
594 2 mingarao
		<xsl:call-template name="add"/>
595 2 mingarao
	</xsl:otherwise>
596 2 mingarao
	</xsl:choose>
597 2 mingarao
  </xsl:template>
598 2 mingarao
599 2 mingarao
  <xsl:template name="add">
600 2 mingarao
  <xsl:choose>
601 2 mingarao
    <xsl:when test="contains(document('analyse_styles_oo.xml', .)//style[@name='bold'], concat(@text:style-name, '_'))">
602 2 mingarao
    <add>
603 2 mingarao
    <xsl:attribute name="hand">annotateur medieval</xsl:attribute>
604 2 mingarao
    <xsl:attribute name="resp">Wessner</xsl:attribute>
605 2 mingarao
    <xsl:call-template name="mentioned">
606 2 mingarao
    </xsl:call-template>
607 2 mingarao
    </add>
608 2 mingarao
    </xsl:when>
609 2 mingarao
    <xsl:otherwise>
610 2 mingarao
    <xsl:call-template name="mentioned"/>
611 2 mingarao
    </xsl:otherwise>
612 2 mingarao
    </xsl:choose>
613 2 mingarao
  </xsl:template>
614 2 mingarao
615 2 mingarao
  <xsl:template name="mentioned">
616 2 mingarao
  <xsl:choose>
617 2 mingarao
  	<xsl:when test="contains(document('analyse_styles_oo.xml', .)//style[@name='underline'], concat(@text:style-name, '_'))">
618 2 mingarao
		<mentioned>
619 2 mingarao
		<xsl:call-template name="foreign"/>
620 2 mingarao
		</mentioned>
621 2 mingarao
	</xsl:when>
622 2 mingarao
	<xsl:otherwise>
623 2 mingarao
		<xsl:call-template name="foreign"/>
624 2 mingarao
	</xsl:otherwise>
625 2 mingarao
    </xsl:choose>
626 2 mingarao
  </xsl:template>
627 2 mingarao
628 2 mingarao
  <xsl:template name="foreign">
629 2 mingarao
  <xsl:choose>
630 2 mingarao
  	<xsl:when test="contains(document('analyse_styles_oo.xml', .)//style[@name='vusillus'], concat(@text:style-name, '_'))">
631 2 mingarao
		<foreign>
632 2 mingarao
			<xsl:attribute name="xml:lang">grc</xsl:attribute>
633 2 mingarao
			<xsl:call-template name="quote"/>
634 2 mingarao
		</foreign>
635 2 mingarao
	</xsl:when>
636 2 mingarao
	<xsl:otherwise>
637 2 mingarao
		<xsl:call-template name="quote"/>
638 2 mingarao
	</xsl:otherwise>
639 2 mingarao
    </xsl:choose>
640 2 mingarao
  </xsl:template>
641 2 mingarao
642 2 mingarao
  <xsl:template name="quote">
643 2 mingarao
  <xsl:choose>
644 2 mingarao
  	<xsl:when test="contains(document('analyse_styles_oo.xml', .)//style[@name='bgcolor_blue'], concat(@text:style-name, '_'))">
645 2 mingarao
		<quote>
646 2 mingarao
			<xsl:attribute name="type">lemme</xsl:attribute>
647 2 mingarao
			<xsl:attribute name="xml:lang">lat</xsl:attribute>
648 2 mingarao
			<xsl:apply-templates />
649 2 mingarao
		</quote>
650 2 mingarao
	</xsl:when>
651 2 mingarao
	<xsl:otherwise>
652 2 mingarao
		<xsl:apply-templates />
653 2 mingarao
	</xsl:otherwise>
654 2 mingarao
    </xsl:choose>
655 2 mingarao
  </xsl:template>
656 2 mingarao
657 2 mingarao
  <xsl:template name="applyStyle">
658 2 mingarao
659 2 mingarao
  </xsl:template>
660 2 mingarao
661 2 mingarao
  <!-- tables -->
662 2 mingarao
  <xsl:template match="table:table">
663 2 mingarao
    <table rend="frame">
664 2 mingarao
      <xsl:if test="@table:name and not(@table:name = 'local-table')">
665 2 mingarao
        <xsl:attribute name="xml:id">
666 2 mingarao
          <xsl:value-of select="@table:name"/>
667 2 mingarao
        </xsl:attribute>
668 2 mingarao
      </xsl:if>
669 2 mingarao
      <xsl:if test="following-sibling::text:p[@text:style-name='Table']">
670 2 mingarao
        <head>
671 2 mingarao
          <xsl:value-of
672 2 mingarao
            select="following-sibling::text:p[@text:style-name='Table']"/>
673 2 mingarao
        </head>
674 2 mingarao
      </xsl:if>
675 2 mingarao
      <xsl:call-template name="generictable"/>
676 2 mingarao
    </table>
677 2 mingarao
678 2 mingarao
  </xsl:template>
679 2 mingarao
680 2 mingarao
681 2 mingarao
  <xsl:template name="generictable">
682 2 mingarao
    <xsl:variable name="cells" select="count(descendant::table:table-cell)"/>
683 2 mingarao
    <xsl:variable name="rows">
684 2 mingarao
      <xsl:value-of select="count(descendant::table:table-row) "/>
685 2 mingarao
    </xsl:variable>
686 2 mingarao
    <xsl:variable name="cols">
687 2 mingarao
      <xsl:value-of select="$cells div $rows"/>
688 2 mingarao
    </xsl:variable>
689 2 mingarao
    <xsl:variable name="numcols">
690 2 mingarao
      <xsl:choose>
691 2 mingarao
        <xsl:when
692 2 mingarao
          test="child::table:table-column/@table:number-columns-repeated">
693 2 mingarao
          <xsl:value-of
694 2 mingarao
            select="number(table:table-column/@table:number-columns-repeated+1)"
695 2 mingarao
          />
696 2 mingarao
        </xsl:when>
697 2 mingarao
        <xsl:otherwise>
698 2 mingarao
          <xsl:value-of select="$cols"/>
699 2 mingarao
        </xsl:otherwise>
700 2 mingarao
      </xsl:choose>
701 2 mingarao
    </xsl:variable>
702 2 mingarao
703 2 mingarao
    <xsl:apply-templates/>
704 2 mingarao
  </xsl:template>
705 2 mingarao
706 2 mingarao
  <xsl:template name="colspec">
707 2 mingarao
    <xsl:param name="left"/>
708 2 mingarao
    <xsl:if
709 2 mingarao
      test="number($left &lt; ( table:table-column/@table:number-columns-repeated +2)  )">
710 2 mingarao
      <colspec>
711 2 mingarao
        <xsl:attribute name="colnum">
712 2 mingarao
          <xsl:value-of select="$left"/>
713 2 mingarao
        </xsl:attribute>
714 2 mingarao
        <xsl:attribute name="colname">
715 2 mingarao
          <xsl:text>c</xsl:text>
716 2 mingarao
          <xsl:value-of select="$left"/>
717 2 mingarao
        </xsl:attribute>
718 2 mingarao
      </colspec>
719 2 mingarao
      <xsl:call-template name="colspec">
720 2 mingarao
        <xsl:with-param name="left" select="$left+1"/>
721 2 mingarao
      </xsl:call-template>
722 2 mingarao
    </xsl:if>
723 2 mingarao
  </xsl:template>
724 2 mingarao
725 2 mingarao
  <xsl:template match="table:table-column">
726 2 mingarao
    <xsl:apply-templates/>
727 2 mingarao
  </xsl:template>
728 2 mingarao
729 2 mingarao
  <xsl:template match="table:table-header-rows">
730 2 mingarao
    <xsl:apply-templates/>
731 2 mingarao
  </xsl:template>
732 2 mingarao
733 2 mingarao
  <xsl:template match="table:table-header-rows/table:table-row">
734 2 mingarao
    <row role="label">
735 2 mingarao
      <xsl:apply-templates/>
736 2 mingarao
    </row>
737 2 mingarao
  </xsl:template>
738 2 mingarao
739 2 mingarao
  <xsl:template match="table:table/table:table-row">
740 2 mingarao
    <row>
741 2 mingarao
      <xsl:apply-templates/>
742 2 mingarao
    </row>
743 2 mingarao
  </xsl:template>
744 2 mingarao
745 2 mingarao
  <xsl:template match="table:table-cell/text:h">
746 2 mingarao
    <xsl:apply-templates/>
747 2 mingarao
  </xsl:template>
748 2 mingarao
749 2 mingarao
750 2 mingarao
  <xsl:template match="table:table-cell">
751 2 mingarao
    <cell>
752 2 mingarao
      <xsl:if test="@table:number-columns-spanned &gt;'1'">
753 2 mingarao
        <xsl:attribute name="cols">
754 2 mingarao
          <xsl:value-of select="@table:number-columns-spanned"/>
755 2 mingarao
        </xsl:attribute>
756 2 mingarao
      </xsl:if>
757 2 mingarao
      <xsl:if test="text:h">
758 2 mingarao
        <xsl:attribute name="role">label</xsl:attribute>
759 2 mingarao
      </xsl:if>
760 2 mingarao
      <xsl:apply-templates/>
761 2 mingarao
    </cell>
762 2 mingarao
  </xsl:template>
763 2 mingarao
764 2 mingarao
765 2 mingarao
  <!-- notes -->
766 2 mingarao
  <xsl:template match="text:note-citation"/>
767 2 mingarao
768 2 mingarao
  <xsl:template match="text:note-body">
769 2 mingarao
    <xsl:apply-templates/>
770 2 mingarao
  </xsl:template>
771 2 mingarao
772 2 mingarao
  <xsl:template match="text:note">
773 2 mingarao
    <note>
774 2 mingarao
      <xsl:choose>
775 2 mingarao
        <xsl:when test="@text:note-class='endnote'">
776 2 mingarao
          <xsl:attribute name="type">traduction</xsl:attribute>
777 2 mingarao
        </xsl:when>
778 2 mingarao
        <xsl:when test="@text:note-class='footnote'">
779 2 mingarao
          <xsl:attribute name="type">critique</xsl:attribute>
780 2 mingarao
        </xsl:when>
781 2 mingarao
      </xsl:choose>
782 2 mingarao
      <xsl:if test="text:note-citation">
783 2 mingarao
	<xsl:attribute name="n">
784 2 mingarao
	  <xsl:value-of select="text:note-citation"/>
785 2 mingarao
	</xsl:attribute>
786 2 mingarao
      </xsl:if>
787 2 mingarao
      <xsl:apply-templates/>
788 2 mingarao
    </note>
789 2 mingarao
  </xsl:template>
790 2 mingarao
791 2 mingarao
  <!-- drawing -->
792 2 mingarao
  <xsl:template match="draw:plugin">
793 2 mingarao
    <ptr target="{@xlink:href}"/>
794 2 mingarao
  </xsl:template>
795 2 mingarao
796 2 mingarao
  <xsl:template match="draw:text-box">
797 2 mingarao
    <xsl:apply-templates/>
798 2 mingarao
  </xsl:template>
799 2 mingarao
800 2 mingarao
  <xsl:template match="draw:frame">
801 2 mingarao
    <xsl:choose>
802 2 mingarao
      <xsl:when test="ancestor::draw:frame">
803 2 mingarao
	<xsl:apply-templates/>
804 2 mingarao
      </xsl:when>
805 2 mingarao
      <xsl:otherwise>
806 2 mingarao
	<figure>
807 2 mingarao
	  <xsl:apply-templates/>
808 2 mingarao
	</figure>
809 2 mingarao
      </xsl:otherwise>
810 2 mingarao
    </xsl:choose>
811 2 mingarao
  </xsl:template>
812 2 mingarao
813 2 mingarao
  <xsl:template match="draw:image">
814 2 mingarao
    <xsl:choose>
815 2 mingarao
      <xsl:when test="ancestor::draw:text-box">
816 2 mingarao
          <xsl:call-template name="findGraphic"/>
817 2 mingarao
      </xsl:when>
818 2 mingarao
      <xsl:when test="parent::text:p[@text:style-name='Mediaobject']">
819 2 mingarao
        <figure>
820 2 mingarao
          <xsl:call-template name="findGraphic"/>
821 2 mingarao
          <head>
822 2 mingarao
            <xsl:value-of select="."/>
823 2 mingarao
          </head>
824 2 mingarao
        </figure>
825 2 mingarao
      </xsl:when>
826 2 mingarao
      <xsl:otherwise>
827 2 mingarao
        <figure>
828 2 mingarao
          <xsl:call-template name="findGraphic"/>
829 2 mingarao
        </figure>
830 2 mingarao
      </xsl:otherwise>
831 2 mingarao
    </xsl:choose>
832 2 mingarao
  </xsl:template>
833 2 mingarao
834 2 mingarao
  <xsl:template name="findGraphic">
835 2 mingarao
    <xsl:choose>
836 2 mingarao
      <xsl:when test="office:binary-data">
837 2 mingarao
	<xsl:apply-templates/>
838 2 mingarao
      </xsl:when>
839 2 mingarao
      <xsl:when test="@xlink:href">
840 2 mingarao
        <graphic>
841 2 mingarao
          <xsl:attribute name="url">
842 2 mingarao
            <xsl:value-of select="@xlink:href"/>
843 2 mingarao
          </xsl:attribute>
844 2 mingarao
        </graphic>
845 2 mingarao
      </xsl:when>
846 2 mingarao
    </xsl:choose>
847 2 mingarao
  </xsl:template>
848 2 mingarao
849 2 mingarao
  <xsl:template match="office:binary-data">
850 2 mingarao
    <binaryObject mimeType="image/jpg">
851 2 mingarao
      <xsl:value-of select="."/>
852 2 mingarao
    </binaryObject>
853 2 mingarao
  </xsl:template>
854 2 mingarao
855 2 mingarao
856 2 mingarao
  <!-- linking -->
857 2 mingarao
  <xsl:template match="text:a">
858 2 mingarao
    <xsl:choose>
859 2 mingarao
      <xsl:when test="starts-with(@xlink:href,'mailto:')">
860 2 mingarao
        <xsl:choose>
861 2 mingarao
          <xsl:when test=".=@xlink:href">
862 2 mingarao
            <ptr target="{substring-after(@xlink:href,'mailto:')}"/>
863 2 mingarao
          </xsl:when>
864 2 mingarao
          <xsl:otherwise>
865 2 mingarao
            <ref target="{@xlink:href}">
866 2 mingarao
              <xsl:apply-templates/>
867 2 mingarao
            </ref>
868 2 mingarao
          </xsl:otherwise>
869 2 mingarao
        </xsl:choose>
870 2 mingarao
      </xsl:when>
871 2 mingarao
      <xsl:when test="contains(@xlink:href,'://')">
872 2 mingarao
        <xsl:choose>
873 2 mingarao
          <xsl:when test=".=@xlink:href">
874 2 mingarao
            <ptr target="{@xlink:href}"/>
875 2 mingarao
          </xsl:when>
876 2 mingarao
          <xsl:otherwise>
877 2 mingarao
            <ref target="{@xlink:href}">
878 2 mingarao
              <xsl:apply-templates/>
879 2 mingarao
            </ref>
880 2 mingarao
          </xsl:otherwise>
881 2 mingarao
        </xsl:choose>
882 2 mingarao
      </xsl:when>
883 2 mingarao
      <xsl:when test="not(contains(@xlink:href,'#'))">
884 2 mingarao
        <ref target="{@xlink:href}">
885 2 mingarao
          <xsl:apply-templates/>
886 2 mingarao
        </ref>
887 2 mingarao
      </xsl:when>
888 2 mingarao
      <xsl:otherwise>
889 2 mingarao
        <xsl:variable name="linkvar" select="@xlink:href"/>
890 2 mingarao
        <xsl:choose>
891 2 mingarao
          <xsl:when test=".=$linkvar">
892 2 mingarao
            <ptr target="{$linkvar}"/>
893 2 mingarao
          </xsl:when>
894 2 mingarao
          <xsl:otherwise>
895 2 mingarao
            <ref target="{$linkvar}">
896 2 mingarao
              <xsl:apply-templates/>
897 2 mingarao
            </ref>
898 2 mingarao
          </xsl:otherwise>
899 2 mingarao
        </xsl:choose>
900 2 mingarao
      </xsl:otherwise>
901 2 mingarao
    </xsl:choose>
902 2 mingarao
  </xsl:template>
903 2 mingarao
904 2 mingarao
  <xsl:template match="text:line-break">
905 2 mingarao
    <xsl:if test="not(parent::text:span[@text:style-name='l'])">
906 2 mingarao
      <lb/>
907 2 mingarao
    </xsl:if>
908 2 mingarao
  </xsl:template>
909 2 mingarao
910 2 mingarao
  <xsl:template match="text:tab">
911 2 mingarao
    <xsl:text>	</xsl:text>
912 2 mingarao
  </xsl:template>
913 2 mingarao
914 2 mingarao
  <xsl:template match="text:reference-ref">
915 2 mingarao
    <ptr target="#id_{@text:ref-name}"/>
916 2 mingarao
  </xsl:template>
917 2 mingarao
918 2 mingarao
  <xsl:template name="id.attribute.literal">
919 2 mingarao
    <xsl:if test="child::text:reference-mark-start">
920 2 mingarao
      <xsl:text> xml:id=&quot;</xsl:text>
921 2 mingarao
	<xsl:text>id_</xsl:text>
922 2 mingarao
        <xsl:value-of select="child::text:reference-mark-start/@text:style-name"
923 2 mingarao
        />
924 2 mingarao
	<xsl:text>&quot;</xsl:text>
925 2 mingarao
    </xsl:if>
926 2 mingarao
  </xsl:template>
927 2 mingarao
928 2 mingarao
  <xsl:template name="id.attribute">
929 2 mingarao
    <xsl:if test="child::text:reference-mark-start">
930 2 mingarao
      <xsl:attribute name="xml:id">
931 2 mingarao
	<xsl:text>id_</xsl:text>
932 2 mingarao
        <xsl:value-of select="child::text:reference-mark-start/@text:style-name"
933 2 mingarao
        />
934 2 mingarao
      </xsl:attribute>
935 2 mingarao
    </xsl:if>
936 2 mingarao
  </xsl:template>
937 2 mingarao
938 2 mingarao
  <xsl:template match="text:reference-mark-start"/>
939 2 mingarao
940 2 mingarao
  <xsl:template match="text:reference-mark-end"/>
941 2 mingarao
942 2 mingarao
  <xsl:template match="comment">
943 2 mingarao
    <xsl:comment>
944 2 mingarao
      <xsl:value-of select="."/>
945 2 mingarao
    </xsl:comment>
946 2 mingarao
  </xsl:template>
947 2 mingarao
948 2 mingarao
  <xsl:template match="text:user-index-mark">
949 2 mingarao
    <index indexName="{@text:index-name}">
950 2 mingarao
      <term>
951 2 mingarao
	<xsl:value-of select="@text:string-value"/>
952 2 mingarao
      </term>
953 2 mingarao
    </index>
954 2 mingarao
  </xsl:template>
955 2 mingarao
956 2 mingarao
  <xsl:template match="text:alphabetical-index-mark">
957 2 mingarao
    <index>
958 2 mingarao
      <xsl:if test="@text:id">
959 2 mingarao
	<xsl:attribute name="xml:id">
960 2 mingarao
	  <xsl:value-of select="@text:id"/>
961 2 mingarao
	</xsl:attribute>
962 2 mingarao
      </xsl:if>
963 2 mingarao
      <xsl:choose>
964 2 mingarao
	<xsl:when test="@text:key1">
965 2 mingarao
	  <term>
966 2 mingarao
	    <xsl:value-of select="@text:key1"/>
967 2 mingarao
	  </term>
968 2 mingarao
	  <index>
969 2 mingarao
	    <term>
970 2 mingarao
	      <xsl:value-of select="@text:string-value"/>
971 2 mingarao
	    </term>
972 2 mingarao
	  </index>
973 2 mingarao
	</xsl:when>
974 2 mingarao
	<xsl:otherwise>
975 2 mingarao
	  <term>
976 2 mingarao
	    <xsl:value-of select="@text:string-value"/>
977 2 mingarao
	  </term>
978 2 mingarao
	</xsl:otherwise>
979 2 mingarao
      </xsl:choose>
980 2 mingarao
    </index>
981 2 mingarao
  </xsl:template>
982 2 mingarao
983 2 mingarao
  <xsl:template match="text:alphabetical-index">
984 2 mingarao
    <index>
985 2 mingarao
      <xsl:apply-templates select="text:index-body"/>
986 2 mingarao
    </index>
987 2 mingarao
  </xsl:template>
988 2 mingarao
989 2 mingarao
  <xsl:template match="text:index-body">
990 2 mingarao
    <xsl:for-each select="text:p[@text:style-name = 'Index 1']">
991 2 mingarao
      <index>
992 2 mingarao
        <term>
993 2 mingarao
          <xsl:value-of select="."/>
994 2 mingarao
        </term>
995 2 mingarao
        <xsl:if test="key('secondary_children', generate-id())">
996 2 mingarao
          <index>
997 2 mingarao
	    <term>
998 2 mingarao
            <xsl:value-of select="key('secondary_children', generate-id())"/>
999 2 mingarao
	    </term>
1000 2 mingarao
	  </index>
1001 2 mingarao
        </xsl:if>
1002 2 mingarao
      </index>
1003 2 mingarao
    </xsl:for-each>
1004 2 mingarao
  </xsl:template>
1005 2 mingarao
1006 2 mingarao
  <xsl:template match="text:bookmark-ref">
1007 2 mingarao
    <ref target="#id_{@text:ref-name}" type="{@text:reference-format}">
1008 2 mingarao
      <xsl:apply-templates/>
1009 2 mingarao
    </ref>
1010 2 mingarao
  </xsl:template>
1011 2 mingarao
1012 2 mingarao
  <xsl:template match="text:bookmark-start">
1013 2 mingarao
    <!--<anchor type="bookmark-start">
1014 2 mingarao
      <xsl:attribute name="xml:id">
1015 2 mingarao
	<xsl:text>id_</xsl:text>
1016 2 mingarao
	<xsl:value-of select="@text:name"/>
1017 2 mingarao
      </xsl:attribute>
1018 2 mingarao
    </anchor>-->
1019 2 mingarao
  </xsl:template>
1020 2 mingarao
1021 2 mingarao
  <xsl:template match="text:bookmark-end">
1022 2 mingarao
   <!-- <anchor type="bookmark-end">
1023 2 mingarao
      <xsl:attribute name="corresp">
1024 2 mingarao
	<xsl:text>#id_</xsl:text>
1025 2 mingarao
	<xsl:value-of select="@text:name"/>
1026 2 mingarao
      </xsl:attribute>
1027 2 mingarao
    </anchor>-->
1028 2 mingarao
  </xsl:template>
1029 2 mingarao
1030 2 mingarao
  <xsl:template match="text:bookmark">
1031 2 mingarao
    <!--<anchor>
1032 2 mingarao
      <xsl:attribute name="xml:id">
1033 2 mingarao
	<xsl:text>id_</xsl:text>
1034 2 mingarao
	<xsl:value-of select="@text:name"/>
1035 2 mingarao
      </xsl:attribute>
1036 2 mingarao
    </anchor>-->
1037 2 mingarao
  </xsl:template>
1038 2 mingarao
  <!--
1039 2 mingarao
These seem to have no obvious translation
1040 2 mingarao
-->
1041 2 mingarao
1042 2 mingarao
  <xsl:template match="text:endnotes-configuration"/>
1043 2 mingarao
1044 2 mingarao
  <xsl:template match="text:file-name"/>
1045 2 mingarao
1046 2 mingarao
  <xsl:template match="text:footnotes-configuration"/>
1047 2 mingarao
1048 2 mingarao
  <xsl:template match="text:linenumbering-configuration"/>
1049 2 mingarao
1050 2 mingarao
  <xsl:template match="text:list-level-style-bullet"/>
1051 2 mingarao
1052 2 mingarao
  <xsl:template match="text:list-level-style-number"/>
1053 2 mingarao
1054 2 mingarao
  <xsl:template match="text:list-style"/>
1055 2 mingarao
1056 2 mingarao
  <xsl:template match="text:outline-level-style"/>
1057 2 mingarao
1058 2 mingarao
  <xsl:template match="text:outline-style"/>
1059 2 mingarao
1060 2 mingarao
  <xsl:template match="text:s"/>
1061 2 mingarao
1062 2 mingarao
1063 2 mingarao
  <xsl:template match="text:*"> [[[UNTRANSLATED <xsl:value-of
1064 2 mingarao
  select="name(.)"/>:     <xsl:apply-templates/>]]] </xsl:template>
1065 2 mingarao
1066 2 mingarao
1067 2 mingarao
  <!-- sections of the OO format we don't need at present -->
1068 2 mingarao
1069 2 mingarao
  <xsl:template match="office:automatic-styles"/>
1070 2 mingarao
1071 2 mingarao
  <xsl:template match="office:font-decls"/>
1072 2 mingarao
1073 2 mingarao
  <xsl:template match="office:meta"/>
1074 2 mingarao
1075 2 mingarao
  <xsl:template match="office:script"/>
1076 2 mingarao
1077 2 mingarao
  <xsl:template match="office:settings"/>
1078 2 mingarao
1079 2 mingarao
  <xsl:template match="office:styles"/>
1080 2 mingarao
1081 2 mingarao
  <xsl:template match="style:*"/>
1082 2 mingarao
1083 2 mingarao
1084 2 mingarao
  <xsl:template match="dc:*">
1085 2 mingarao
    <xsl:apply-templates/>
1086 2 mingarao
  </xsl:template>
1087 2 mingarao
1088 2 mingarao
  <xsl:template match="meta:creation-date">
1089 2 mingarao
    <xsl:apply-templates/>
1090 2 mingarao
  </xsl:template>
1091 2 mingarao
1092 2 mingarao
  <xsl:template match="meta:editing-cycles"/>
1093 2 mingarao
1094 2 mingarao
  <xsl:template match="meta:editing-duration"/>
1095 2 mingarao
1096 2 mingarao
  <xsl:template match="meta:generator"/>
1097 2 mingarao
1098 2 mingarao
  <xsl:template match="meta:user-defined"/>
1099 2 mingarao
1100 2 mingarao
  <!--
1101 2 mingarao
<xsl:template match="text()">
1102 2 mingarao
  <xsl:apply-templates select="normalize-space(.)"/>
1103 2 mingarao
</xsl:template>
1104 2 mingarao
-->
1105 2 mingarao
1106 2 mingarao
<xsl:template match="text:section">
1107 2 mingarao
  <xsl:apply-templates/>
1108 2 mingarao
</xsl:template>
1109 2 mingarao
1110 2 mingarao
<xsl:template match="text:sequence-decl">
1111 2 mingarao
  <xsl:apply-templates/>
1112 2 mingarao
</xsl:template>
1113 2 mingarao
1114 2 mingarao
<xsl:template match="text:sequence-decls">
1115 2 mingarao
  <xsl:apply-templates/>
1116 2 mingarao
</xsl:template>
1117 2 mingarao
1118 2 mingarao
1119 2 mingarao
<xsl:template match="text:sequence">
1120 2 mingarao
  <xsl:apply-templates/>
1121 2 mingarao
</xsl:template>
1122 2 mingarao
1123 2 mingarao
1124 2 mingarao
<xsl:template match="text:section-source"/>
1125 2 mingarao
1126 2 mingarao
1127 2 mingarao
<xsl:template match="text:soft-page-break">
1128 2 mingarao
</xsl:template>
1129 2 mingarao
1130 2 mingarao
<xsl:template name="stars">
1131 2 mingarao
   <xsl:param name="n"/>
1132 2 mingarao
   <xsl:if test="$n &gt;0">
1133 2 mingarao
     <xsl:text>*</xsl:text>
1134 2 mingarao
     <xsl:call-template name="stars">
1135 2 mingarao
       <xsl:with-param name="n">
1136 2 mingarao
	 <xsl:value-of select="$n - 1"/>
1137 2 mingarao
       </xsl:with-param>
1138 2 mingarao
     </xsl:call-template>
1139 2 mingarao
   </xsl:if>
1140 2 mingarao
</xsl:template>
1141 2 mingarao
1142 2 mingarao
<xsl:template match="text:change|text:changed-region|text:change-end|text:change-start">
1143 2 mingarao
  <xsl:apply-templates/>
1144 2 mingarao
</xsl:template>
1145 2 mingarao
1146 2 mingarao
<xsl:template match="text:table-of-content"/>
1147 2 mingarao
<xsl:template match="text:index-entry-chapter"/>
1148 2 mingarao
<xsl:template match="text:index-entry-page-number"/>
1149 2 mingarao
<xsl:template match="text:index-entry-tab-stop"/>
1150 2 mingarao
<xsl:template match="text:index-entry-text"/>
1151 2 mingarao
<xsl:template match="text:index-title-template"/>
1152 2 mingarao
<xsl:template match="text:table-of-content-entry-template"/>
1153 2 mingarao
<xsl:template match="text:table-of-content-source"/>
1154 2 mingarao
</xsl:stylesheet>