Statistics
| Revision:

root / tmp / org.txm.core / res / org / txm / xml / xsl / tei / common2 / header.xsl @ 187

History | View | Annotate | Download (17.4 kB)

1 187 sjacqu01
<?xml version="1.0" encoding="utf-8"?>
2 187 sjacqu01
<xsl:stylesheet xmlns:tei="http://www.tei-c.org/ns/1.0"
3 187 sjacqu01
4 187 sjacqu01
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5 187 sjacqu01
                exclude-result-prefixes="tei"
6 187 sjacqu01
                version="2.0">
7 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl" scope="stylesheet" type="stylesheet">
8 187 sjacqu01
      <desc>
9 187 sjacqu01
         <p> TEI stylesheet dealing with elements from the header module. </p>
10 187 sjacqu01
         <p>This software is dual-licensed:
11 187 sjacqu01
12 187 sjacqu01
1. Distributed under a Creative Commons Attribution-ShareAlike 3.0
13 187 sjacqu01
Unported License http://creativecommons.org/licenses/by-sa/3.0/
14 187 sjacqu01
15 187 sjacqu01
2. http://www.opensource.org/licenses/BSD-2-Clause
16 187 sjacqu01
17 187 sjacqu01
All rights reserved.
18 187 sjacqu01
19 187 sjacqu01
Redistribution and use in source and binary forms, with or without
20 187 sjacqu01
modification, are permitted provided that the following conditions are
21 187 sjacqu01
met:
22 187 sjacqu01
23 187 sjacqu01
* Redistributions of source code must retain the above copyright
24 187 sjacqu01
notice, this list of conditions and the following disclaimer.
25 187 sjacqu01
26 187 sjacqu01
* Redistributions in binary form must reproduce the above copyright
27 187 sjacqu01
notice, this list of conditions and the following disclaimer in the
28 187 sjacqu01
documentation and/or other materials provided with the distribution.
29 187 sjacqu01
30 187 sjacqu01
This software is provided by the copyright holders and contributors
31 187 sjacqu01
"as is" and any express or implied warranties, including, but not
32 187 sjacqu01
limited to, the implied warranties of merchantability and fitness for
33 187 sjacqu01
a particular purpose are disclaimed. In no event shall the copyright
34 187 sjacqu01
holder or contributors be liable for any direct, indirect, incidental,
35 187 sjacqu01
special, exemplary, or consequential damages (including, but not
36 187 sjacqu01
limited to, procurement of substitute goods or services; loss of use,
37 187 sjacqu01
data, or profits; or business interruption) however caused and on any
38 187 sjacqu01
theory of liability, whether in contract, strict liability, or tort
39 187 sjacqu01
(including negligence or otherwise) arising in any way out of the use
40 187 sjacqu01
of this software, even if advised of the possibility of such damage.
41 187 sjacqu01
</p>
42 187 sjacqu01
         <p>Author: See AUTHORS</p>
43 187 sjacqu01
         <p>Id: $Id: header.xsl 10056 2012-01-20 23:22:33Z rahtz $</p>
44 187 sjacqu01
         <p>Copyright: 2011, TEI Consortium</p>
45 187 sjacqu01
      </desc>
46 187 sjacqu01
   </doc>
47 187 sjacqu01
48 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
49 187 sjacqu01
      <desc>[common] Find a plausible editor name</desc>
50 187 sjacqu01
   </doc>
51 187 sjacqu01
  <xsl:template name="generateEditor">
52 187 sjacqu01
    <xsl:choose>
53 187 sjacqu01
      <xsl:when test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:editor">
54 187 sjacqu01
        <xsl:for-each
55 187 sjacqu01
          select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:editor">
56 187 sjacqu01
          <xsl:apply-templates/>
57 187 sjacqu01
          <xsl:choose>
58 187 sjacqu01
            <xsl:when test="count(following-sibling::tei:editor)=1">
59 187 sjacqu01
              <xsl:if test="count(preceding-sibling::tei:editor)>=1">
60 187 sjacqu01
                <xsl:text>,</xsl:text>
61 187 sjacqu01
              </xsl:if>
62 187 sjacqu01
              <xsl:call-template name="i18n">
63 187 sjacqu01
                <xsl:with-param name="word">and</xsl:with-param>
64 187 sjacqu01
              </xsl:call-template>
65 187 sjacqu01
            </xsl:when>
66 187 sjacqu01
            <xsl:when test="following-sibling::tei:editor">, </xsl:when>
67 187 sjacqu01
          </xsl:choose>
68 187 sjacqu01
        </xsl:for-each>
69 187 sjacqu01
      </xsl:when>
70 187 sjacqu01
      <xsl:when
71 187 sjacqu01
        test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/tei:change/tei:respStmt[tei:resp='editor']">
72 187 sjacqu01
        <xsl:apply-templates
73 187 sjacqu01
          select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/tei:change/tei:respStmt[tei:resp='editor'][1]/tei:name"
74 187 sjacqu01
        />
75 187 sjacqu01
      </xsl:when>
76 187 sjacqu01
    </xsl:choose>
77 187 sjacqu01
  </xsl:template>
78 187 sjacqu01
79 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
80 187 sjacqu01
      <desc>[common] Find a plausible main author name</desc>
81 187 sjacqu01
   </doc>
82 187 sjacqu01
  <xsl:template name="generateAuthor">
83 187 sjacqu01
      <xsl:choose>
84 187 sjacqu01
         <xsl:when test="$useHeaderFrontMatter='true' and ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docAuthor">
85 187 sjacqu01
            <xsl:apply-templates mode="author"
86 187 sjacqu01
                                 select="ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docAuthor"/>
87 187 sjacqu01
         </xsl:when>
88 187 sjacqu01
         <xsl:when test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:author">
89 187 sjacqu01
            <xsl:for-each select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:author">
90 187 sjacqu01
               <xsl:apply-templates/>
91 187 sjacqu01
               <xsl:choose>
92 187 sjacqu01
            <xsl:when test="count(following-sibling::tei:author)=1">
93 187 sjacqu01
              <xsl:if test="count(preceding-sibling::tei:author)>1">
94 187 sjacqu01
                <xsl:text>,</xsl:text>
95 187 sjacqu01
              </xsl:if>
96 187 sjacqu01
              <xsl:call-template name="i18n">
97 187 sjacqu01
                <xsl:with-param name="word">and</xsl:with-param>
98 187 sjacqu01
              </xsl:call-template>
99 187 sjacqu01
            </xsl:when>
100 187 sjacqu01
                  <xsl:when test="following-sibling::tei:author">, </xsl:when>
101 187 sjacqu01
               </xsl:choose>
102 187 sjacqu01
            </xsl:for-each>
103 187 sjacqu01
         </xsl:when>
104 187 sjacqu01
         <xsl:when test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/tei:change/tei:respStmt[tei:resp='author']">
105 187 sjacqu01
            <xsl:apply-templates select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/tei:change/tei:respStmt[tei:resp='author'][1]/tei:name"/>
106 187 sjacqu01
         </xsl:when>
107 187 sjacqu01
         <xsl:when test="ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docAuthor">
108 187 sjacqu01
            <xsl:apply-templates mode="author"
109 187 sjacqu01
                                 select="ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docAuthor"/>
110 187 sjacqu01
         </xsl:when>
111 187 sjacqu01
      </xsl:choose>
112 187 sjacqu01
  </xsl:template>
113 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
114 187 sjacqu01
      <desc>[common] Find a plausible name of person responsible for current revision</desc>
115 187 sjacqu01
   </doc>
116 187 sjacqu01
  <xsl:template name="generateRevAuthor">
117 187 sjacqu01
      <xsl:variable name="who">
118 187 sjacqu01
         <xsl:choose>
119 187 sjacqu01
            <xsl:when test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/@vcwho">
120 187 sjacqu01
               <xsl:apply-templates select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/@vcwho"/>
121 187 sjacqu01
            </xsl:when>
122 187 sjacqu01
            <xsl:when test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/tei:change[1]/tei:respStmt/tei:name">
123 187 sjacqu01
               <xsl:value-of select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/tei:change[1]/tei:respStmt/tei:name/text()"/>
124 187 sjacqu01
            </xsl:when>
125 187 sjacqu01
         </xsl:choose>
126 187 sjacqu01
      </xsl:variable>
127 187 sjacqu01
      <xsl:choose>
128 187 sjacqu01
         <xsl:when test="normalize-space($who)=concat('$Author', '$')"/>
129 187 sjacqu01
         <xsl:when test="starts-with($who,'$Author')">
130 187 sjacqu01
        <!-- it's RCS -->
131 187 sjacqu01
        <xsl:value-of select="normalize-space(substring-before(substring-after($who,'Author'),'$'))"/>
132 187 sjacqu01
         </xsl:when>
133 187 sjacqu01
         <xsl:when test="starts-with($who,'$LastChangedBy')">
134 187 sjacqu01
        <!-- it's Subversion -->
135 187 sjacqu01
        <xsl:value-of select="normalize-space(substring-before(substring-after($who,'LastChangedBy:'),'$'))"/>
136 187 sjacqu01
         </xsl:when>
137 187 sjacqu01
         <xsl:otherwise>
138 187 sjacqu01
            <xsl:value-of select="$who"/>
139 187 sjacqu01
         </xsl:otherwise>
140 187 sjacqu01
      </xsl:choose>
141 187 sjacqu01
  </xsl:template>
142 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
143 187 sjacqu01
      <desc>[common] </desc>
144 187 sjacqu01
   </doc>
145 187 sjacqu01
  <xsl:template name="generateAuthorList">
146 187 sjacqu01
      <xsl:variable name="realauthor">
147 187 sjacqu01
         <xsl:call-template name="generateAuthor"/>
148 187 sjacqu01
      </xsl:variable>
149 187 sjacqu01
      <xsl:variable name="revauthor">
150 187 sjacqu01
         <xsl:call-template name="generateRevAuthor"/>
151 187 sjacqu01
      </xsl:variable>
152 187 sjacqu01
      <xsl:variable name="editor">
153 187 sjacqu01
        <xsl:call-template name="generateEditor"/>
154 187 sjacqu01
      </xsl:variable>
155 187 sjacqu01
      <xsl:if test="not($realauthor = '')">
156 187 sjacqu01
        <p xmlns="http://www.w3.org/1999/xhtml" class="mainAuthor">
157 187 sjacqu01
         <xsl:text> </xsl:text>
158 187 sjacqu01
         <xsl:call-template name="i18n">
159 187 sjacqu01
            <xsl:with-param name="word">authorWord</xsl:with-param>
160 187 sjacqu01
         </xsl:call-template>
161 187 sjacqu01
          <xsl:text>: </xsl:text>
162 187 sjacqu01
         <xsl:copy-of select="$realauthor"/>
163 187 sjacqu01
        </p>
164 187 sjacqu01
      </xsl:if>
165 187 sjacqu01
      <xsl:if test="not($revauthor = '')">
166 187 sjacqu01
      <p class="mainRevAuthor" xmlns="http://www.w3.org/1999/xhtml">
167 187 sjacqu01
         <xsl:text> (</xsl:text>
168 187 sjacqu01
         <xsl:call-template name="i18n">
169 187 sjacqu01
            <xsl:with-param name="word">revisedWord</xsl:with-param>
170 187 sjacqu01
         </xsl:call-template>
171 187 sjacqu01
         <xsl:text> </xsl:text>
172 187 sjacqu01
         <xsl:copy-of select="$revauthor"/>
173 187 sjacqu01
         <xsl:text>)</xsl:text>
174 187 sjacqu01
      </p>
175 187 sjacqu01
    </xsl:if>
176 187 sjacqu01
    <xsl:if test="not($editor = '')">
177 187 sjacqu01
      <p class="mainEditor" xmlns="http://www.w3.org/1999/xhtml">
178 187 sjacqu01
         <xsl:call-template name="i18n">
179 187 sjacqu01
            <xsl:with-param name="word">editorWord</xsl:with-param>
180 187 sjacqu01
         </xsl:call-template>
181 187 sjacqu01
        <xsl:text>: </xsl:text>
182 187 sjacqu01
        <xsl:copy-of select="$editor"/>
183 187 sjacqu01
      </p>
184 187 sjacqu01
      </xsl:if>
185 187 sjacqu01
  </xsl:template>
186 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
187 187 sjacqu01
      <desc>[common] Work out the last revision date of the document </desc>
188 187 sjacqu01
   </doc>
189 187 sjacqu01
  <xsl:template name="generateRevDate">
190 187 sjacqu01
      <xsl:variable name="when">
191 187 sjacqu01
         <xsl:choose>
192 187 sjacqu01
            <xsl:when test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/@vcdate">
193 187 sjacqu01
               <xsl:apply-templates select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/@vcdate"/>
194 187 sjacqu01
            </xsl:when>
195 187 sjacqu01
            <xsl:when test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/descendant::tei:date">
196 187 sjacqu01
               <xsl:value-of select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/descendant::tei:date[1]"/>
197 187 sjacqu01
            </xsl:when>
198 187 sjacqu01
            <xsl:when
199 187 sjacqu01
		test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/descendant::tei:date">
200 187 sjacqu01
	      <xsl:value-of select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/descendant::tei:date"/>
201 187 sjacqu01
	    </xsl:when>
202 187 sjacqu01
         </xsl:choose>
203 187 sjacqu01
      </xsl:variable>
204 187 sjacqu01
      <xsl:choose>
205 187 sjacqu01
         <xsl:when test="starts-with($when,'$Date')">
206 187 sjacqu01
	   <!-- it's RCS -->
207 187 sjacqu01
	   <xsl:value-of select="substring($when,16,2)"/>
208 187 sjacqu01
	   <xsl:text>/</xsl:text>
209 187 sjacqu01
	   <xsl:value-of select="substring($when,13,2)"/>
210 187 sjacqu01
	   <xsl:text>/</xsl:text>
211 187 sjacqu01
	   <xsl:value-of select="substring($when,8,4)"/>
212 187 sjacqu01
         </xsl:when>
213 187 sjacqu01
         <xsl:when test="starts-with($when,'$LastChangedDate')">
214 187 sjacqu01
	   <!-- it's Subversion-->
215 187 sjacqu01
	   <xsl:value-of select="substring-before(substring-after($when,'('),')')"/>
216 187 sjacqu01
         </xsl:when>
217 187 sjacqu01
         <xsl:when test="not($when='')">
218 187 sjacqu01
	   <xsl:value-of select="$when"/>
219 187 sjacqu01
	 </xsl:when>
220 187 sjacqu01
	 <xsl:otherwise>
221 187 sjacqu01
	   <xsl:value-of select="format-dateTime(current-dateTime(),'[Y]-[M02]-[D02]T[H02]:[m02]:[s02]Z')"/>
222 187 sjacqu01
         </xsl:otherwise>
223 187 sjacqu01
      </xsl:choose>
224 187 sjacqu01
  </xsl:template>
225 187 sjacqu01
226 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
227 187 sjacqu01
      <desc>[common] Work out the publish date of the document </desc>
228 187 sjacqu01
   </doc>
229 187 sjacqu01
  <xsl:template name="generateDate">
230 187 sjacqu01
      <xsl:choose>
231 187 sjacqu01
	 <xsl:when test="$useFixedDate='true'">1970-01-01</xsl:when>
232 187 sjacqu01
         <xsl:when test="$useHeaderFrontMatter='true' and ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docDate">
233 187 sjacqu01
            <xsl:apply-templates mode="date" select="ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docDate"/>
234 187 sjacqu01
         </xsl:when>
235 187 sjacqu01
         <xsl:when
236 187 sjacqu01
	     test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:editionStmt/descendant::tei:date[@when]">
237 187 sjacqu01
            <xsl:value-of select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:editionStmt/descendant::tei:date[@when][1]/@when"/>
238 187 sjacqu01
         </xsl:when>
239 187 sjacqu01
         <xsl:when test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:editionStmt/descendant::tei:date">
240 187 sjacqu01
            <xsl:value-of select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:editionStmt/descendant::tei:date[1]"/>
241 187 sjacqu01
         </xsl:when>
242 187 sjacqu01
         <xsl:when test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:publicationStmt/tei:date">
243 187 sjacqu01
            <xsl:value-of select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:publicationStmt/tei:date"/>
244 187 sjacqu01
         </xsl:when>
245 187 sjacqu01
         <xsl:when test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:editionStmt/tei:edition">
246 187 sjacqu01
            <xsl:apply-templates select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:editionStmt/tei:edition"/>
247 187 sjacqu01
         </xsl:when>
248 187 sjacqu01
	 <xsl:when
249 187 sjacqu01
	     test="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/tei:change[@when
250 187 sjacqu01
		   or tei:date]">
251 187 sjacqu01
            <xsl:for-each
252 187 sjacqu01
		select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:revisionDesc/tei:change[1]">
253 187 sjacqu01
	      <xsl:choose>
254 187 sjacqu01
		<xsl:when test="@when">
255 187 sjacqu01
		  <xsl:value-of select="@when"/>
256 187 sjacqu01
		</xsl:when>
257 187 sjacqu01
		<xsl:when test="tei:date/@when">
258 187 sjacqu01
		  <xsl:value-of select="tei:date/@when"/>
259 187 sjacqu01
		</xsl:when>
260 187 sjacqu01
		<xsl:when test="tei:date">
261 187 sjacqu01
		  <xsl:value-of select="tei:date"/>
262 187 sjacqu01
		</xsl:when>
263 187 sjacqu01
		<xsl:otherwise>
264 187 sjacqu01
		  <xsl:value-of select="format-dateTime(current-dateTime(),'[Y]-[M02]-[D02]')"/>
265 187 sjacqu01
		</xsl:otherwise>
266 187 sjacqu01
	      </xsl:choose>
267 187 sjacqu01
	    </xsl:for-each>
268 187 sjacqu01
	 </xsl:when>
269 187 sjacqu01
	 <xsl:otherwise>
270 187 sjacqu01
	   <xsl:value-of select="format-dateTime(current-dateTime(),'[Y]-[M02]-[D02]')"/>
271 187 sjacqu01
	 </xsl:otherwise>
272 187 sjacqu01
      </xsl:choose>
273 187 sjacqu01
  </xsl:template>
274 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
275 187 sjacqu01
      <desc>[common] Generate a title</desc>
276 187 sjacqu01
   </doc>
277 187 sjacqu01
  <xsl:template name="generateTitle">
278 187 sjacqu01
      <xsl:choose>
279 187 sjacqu01
         <xsl:when test="$useHeaderFrontMatter='true' and ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docTitle">
280 187 sjacqu01
            <xsl:apply-templates select="ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docTitle/tei:titlePart"/>
281 187 sjacqu01
         </xsl:when>
282 187 sjacqu01
283 187 sjacqu01
         <xsl:when test="$useHeaderFrontMatter='true' and ancestor-or-self::tei:teiCorpus/tei:text/tei:front//tei:docTitle">
284 187 sjacqu01
            <xsl:apply-templates select="ancestor-or-self::tei:teiCorpus/tei:text/tei:front//tei:docTitle/tei:titlePart"/>
285 187 sjacqu01
         </xsl:when>
286 187 sjacqu01
287 187 sjacqu01
         <xsl:when test="self::tei:teiCorpus">
288 187 sjacqu01
            <xsl:apply-templates select="tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:title[not(@type='subordinate')]"/>
289 187 sjacqu01
         </xsl:when>
290 187 sjacqu01
291 187 sjacqu01
         <xsl:otherwise>
292 187 sjacqu01
            <xsl:for-each
293 187 sjacqu01
		select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:titleStmt">
294 187 sjacqu01
	      <xsl:choose>
295 187 sjacqu01
		<xsl:when test="tei:title[@type='main']">
296 187 sjacqu01
		  <xsl:apply-templates select="tei:title[@type='main']"/>
297 187 sjacqu01
		</xsl:when>
298 187 sjacqu01
		<xsl:otherwise>
299 187 sjacqu01
		  <xsl:apply-templates select="tei:title"/>
300 187 sjacqu01
		</xsl:otherwise>
301 187 sjacqu01
	      </xsl:choose>
302 187 sjacqu01
	    </xsl:for-each>
303 187 sjacqu01
         </xsl:otherwise>
304 187 sjacqu01
      </xsl:choose>
305 187 sjacqu01
  </xsl:template>
306 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
307 187 sjacqu01
      <desc>
308 187 sjacqu01
         <p>[common] </p>
309 187 sjacqu01
         <p>Generate simple title with no markup</p>
310 187 sjacqu01
      </desc>
311 187 sjacqu01
   </doc>
312 187 sjacqu01
  <xsl:template name="generateSimpleTitle">
313 187 sjacqu01
      <xsl:choose>
314 187 sjacqu01
         <xsl:when test="$useHeaderFrontMatter='true' and ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docTitle">
315 187 sjacqu01
            <xsl:apply-templates select="ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docTitle"
316 187 sjacqu01
                                 mode="simple"/>
317 187 sjacqu01
         </xsl:when>
318 187 sjacqu01
         <xsl:otherwise>
319 187 sjacqu01
            <xsl:for-each
320 187 sjacqu01
		select="ancestor-or-self::tei:TEI/tei:teiHeader/tei:fileDesc/tei:titleStmt">
321 187 sjacqu01
	      <xsl:choose>
322 187 sjacqu01
		<xsl:when test="tei:title[@type='main']">
323 187 sjacqu01
		  <xsl:apply-templates
324 187 sjacqu01
		      select="tei:title[@type='main']" mode="simple"/>
325 187 sjacqu01
		</xsl:when>
326 187 sjacqu01
		<xsl:otherwise>
327 187 sjacqu01
		  <xsl:apply-templates select="tei:title[1]" mode="simple"/>
328 187 sjacqu01
		</xsl:otherwise>
329 187 sjacqu01
	      </xsl:choose>
330 187 sjacqu01
	    </xsl:for-each>
331 187 sjacqu01
         </xsl:otherwise>
332 187 sjacqu01
      </xsl:choose>
333 187 sjacqu01
  </xsl:template>
334 187 sjacqu01
335 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
336 187 sjacqu01
      <desc>[common] Generate sub title </desc>
337 187 sjacqu01
   </doc>
338 187 sjacqu01
  <xsl:template name="generateSubTitle">
339 187 sjacqu01
      <xsl:choose>
340 187 sjacqu01
         <xsl:when test="$useHeaderFrontMatter='true' and ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docTitle">
341 187 sjacqu01
            <xsl:apply-templates select="ancestor-or-self::tei:TEI/tei:text/tei:front//tei:docTitle"/>
342 187 sjacqu01
         </xsl:when>
343 187 sjacqu01
         <xsl:when test="$useHeaderFrontMatter='true' and ancestor-or-self::tei:teiCorpus/tei:text/tei:front//tei:docTitle">
344 187 sjacqu01
            <xsl:apply-templates select="ancestor-or-self::tei:teiCorpus/tei:text/tei:front//tei:docTitle"/>
345 187 sjacqu01
         </xsl:when>
346 187 sjacqu01
         <xsl:otherwise>
347 187 sjacqu01
            <xsl:for-each select="ancestor-or-self::tei:TEI|ancestor-or-self::tei:teiCorpus">
348 187 sjacqu01
               <xsl:apply-templates select="tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:title[@type='subordinate']"/>
349 187 sjacqu01
            </xsl:for-each>
350 187 sjacqu01
         </xsl:otherwise>
351 187 sjacqu01
      </xsl:choose>
352 187 sjacqu01
  </xsl:template>
353 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
354 187 sjacqu01
      <desc/>
355 187 sjacqu01
   </doc>
356 187 sjacqu01
  <xsl:template match="tei:div/tei:docAuthor"/>
357 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
358 187 sjacqu01
      <desc> Omit docAuthor found outside front matter</desc>
359 187 sjacqu01
   </doc>
360 187 sjacqu01
  <xsl:template match="tei:div/tei:docDate"/>
361 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
362 187 sjacqu01
      <desc> Omit docDate if found outside front matter</desc>
363 187 sjacqu01
   </doc>
364 187 sjacqu01
  <xsl:template match="tei:div/tei:docTitle"/>
365 187 sjacqu01
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
366 187 sjacqu01
      <desc>Ignore docTitle in a div</desc>
367 187 sjacqu01
   </doc>
368 187 sjacqu01
  <xsl:template match="tei:docAuthor" mode="heading">
369 187 sjacqu01
      <xsl:if test="preceding-sibling::tei:docAuthor">
370 187 sjacqu01
         <xsl:choose>
371 187 sjacqu01
            <xsl:when test="not(following-sibling::tei:docAuthor)">
372 187 sjacqu01
               <xsl:text> and </xsl:text>
373 187 sjacqu01
            </xsl:when>
374 187 sjacqu01
            <xsl:otherwise>
375 187 sjacqu01
               <xsl:text>, </xsl:text>
376 187 sjacqu01
            </xsl:otherwise>
377 187 sjacqu01
         </xsl:choose>
378 187 sjacqu01
      </xsl:if>
379 187 sjacqu01
      <xsl:apply-templates/>
380 187 sjacqu01
  </xsl:template>
381 187 sjacqu01
382 187 sjacqu01
   <xsl:template match="tei:idno[@type='url']">
383 187 sjacqu01
      <xsl:text> &lt;</xsl:text>
384 187 sjacqu01
      <xsl:call-template name="makeExternalLink">
385 187 sjacqu01
         <xsl:with-param name="ptr" select="true()"/>
386 187 sjacqu01
         <xsl:with-param name="dest">
387 187 sjacqu01
            <xsl:value-of select="normalize-space(.)"/>
388 187 sjacqu01
         </xsl:with-param>
389 187 sjacqu01
      </xsl:call-template>
390 187 sjacqu01
      <xsl:text>&gt;.</xsl:text>
391 187 sjacqu01
   </xsl:template>
392 187 sjacqu01
393 187 sjacqu01
394 187 sjacqu01
   <xsl:template match="tei:idno">
395 187 sjacqu01
      <xsl:text> </xsl:text>
396 187 sjacqu01
      <xsl:apply-templates/>
397 187 sjacqu01
   </xsl:template>
398 187 sjacqu01
399 187 sjacqu01
   <xsl:template match="tei:idno[@type='doi']"/>
400 187 sjacqu01
401 187 sjacqu01
  <xsl:template name="generateEdition">
402 187 sjacqu01
    <p xmlns="http://www.w3.org/1999/xhtml" class="editionStmt">
403 187 sjacqu01
      <xsl:apply-templates select="/(tei:teiCorpus|tei:TEI)/tei:teiHeader/tei:fileDesc/tei:editionStmt"/>
404 187 sjacqu01
    </p>
405 187 sjacqu01
  </xsl:template>
406 187 sjacqu01
407 187 sjacqu01
</xsl:stylesheet>