Statistics
| Revision:

root / tmp / org.txm.core / res / org / txm / xml / xsl / tei / latex2 / tagdocs.xsl @ 187

History | View | Annotate | Download (12 kB)

1
<?xml version="1.0" encoding="utf-8"?>
2
<xsl:stylesheet xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
3
                xmlns:s="http://www.ascc.net/xml/schematron"
4
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
5
                xmlns:tei="http://www.tei-c.org/ns/1.0"
6
                xmlns:teix="http://www.tei-c.org/ns/Examples"
7
                
8
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
9
                exclude-result-prefixes="s a rng tei teix"
10
                version="2.0">
11
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl" scope="stylesheet" type="stylesheet">
12
      <desc>
13
         <p> TEI stylesheet dealing with elements from the tagdocs module,
14
      making LaTeX output. </p>
15
         <p>This software is dual-licensed:
16

    
17
1. Distributed under a Creative Commons Attribution-ShareAlike 3.0
18
Unported License http://creativecommons.org/licenses/by-sa/3.0/ 
19

    
20
2. http://www.opensource.org/licenses/BSD-2-Clause
21
		
22
All rights reserved.
23

    
24
Redistribution and use in source and binary forms, with or without
25
modification, are permitted provided that the following conditions are
26
met:
27

    
28
* Redistributions of source code must retain the above copyright
29
notice, this list of conditions and the following disclaimer.
30

    
31
* Redistributions in binary form must reproduce the above copyright
32
notice, this list of conditions and the following disclaimer in the
33
documentation and/or other materials provided with the distribution.
34

    
35
This software is provided by the copyright holders and contributors
36
"as is" and any express or implied warranties, including, but not
37
limited to, the implied warranties of merchantability and fitness for
38
a particular purpose are disclaimed. In no event shall the copyright
39
holder or contributors be liable for any direct, indirect, incidental,
40
special, exemplary, or consequential damages (including, but not
41
limited to, procurement of substitute goods or services; loss of use,
42
data, or profits; or business interruption) however caused and on any
43
theory of liability, whether in contract, strict liability, or tort
44
(including negligence or otherwise) arising in any way out of the use
45
of this software, even if advised of the possibility of such damage.
46
</p>
47
         <p>Author: See AUTHORS</p>
48
         <p>Id: $Id: tagdocs.xsl 10197 2012-03-28 21:44:10Z rahtz $</p>
49
         <p>Copyright: 2011, TEI Consortium</p>
50
      </desc>
51
   </doc>
52

    
53
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
54
      <desc>Process element gi</desc>
55
   </doc>
56
  <xsl:template match="tei:gi">
57
      <xsl:text>\texttt{&lt;</xsl:text>
58
      <xsl:apply-templates/>
59
      <xsl:text>&gt;}</xsl:text>
60
  </xsl:template>
61

    
62
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
63
      <desc>Process element val</desc>
64
   </doc>
65
  <xsl:template match="tei:val">
66
      <xsl:value-of select="$preQuote"/>
67
      <xsl:apply-templates/>
68
      <xsl:value-of select="$postQuote"/>
69
  </xsl:template>
70

    
71
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
72
      <desc>Process element att</desc>
73
   </doc>
74
  <xsl:template match="tei:att">
75
      <xsl:text>\textbf{@</xsl:text>
76
      <xsl:apply-templates/>
77
      <xsl:text>}</xsl:text>
78
  </xsl:template>
79

    
80
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl">
81
      <desc>Example element</desc>
82
   </doc>
83

    
84
  <xsl:template match="teix:egXML">
85
      <xsl:param name="simple">false</xsl:param>
86
      <xsl:param name="highlight"/>
87
      <xsl:choose>
88
         <xsl:when test="parent::tei:cell">
89
	           <xsl:text>\leavevmode\bgroup</xsl:text>
90
	           <xsl:call-template name="egXMLStartHook"/>
91
	           <xsl:call-template name="exampleFontSet"/>
92
	           <xsl:text>\begin{shaded}</xsl:text>
93
	           <xsl:apply-templates mode="verbatim">
94
	              <xsl:with-param name="highlight">
95
	                 <xsl:value-of select="$highlight"/>
96
	              </xsl:with-param>
97
	           </xsl:apply-templates>
98
	           <xsl:text>\end{shaded}</xsl:text>
99
	           <xsl:call-template name="egXMLEndHook"/>
100
	           <xsl:text>\egroup &#10;&#10;</xsl:text>
101
         </xsl:when>
102
         <xsl:otherwise>
103
	           <xsl:text>\par\bgroup</xsl:text>
104
	           <xsl:call-template name="egXMLStartHook"/>
105
	           <xsl:call-template name="exampleFontSet"/>
106
	           <xsl:text>\begin{shaded}\noindent\mbox{}</xsl:text>
107
	           <xsl:apply-templates mode="verbatim">
108
	              <xsl:with-param name="highlight">
109
	                 <xsl:value-of select="$highlight"/>
110
	              </xsl:with-param>
111
	           </xsl:apply-templates>
112
	           <xsl:text>\end{shaded}</xsl:text>
113
	           <xsl:call-template name="egXMLEndHook"/>
114
	           <xsl:text>\egroup\par </xsl:text>
115
	           <xsl:if test="parent::tei:p and following-sibling::node()">\noindent </xsl:if>
116
         </xsl:otherwise>
117
      </xsl:choose>
118
  </xsl:template>
119

    
120

    
121
   <xsl:template name="egXMLStartHook"/>
122
   <xsl:template name="egXMLEndHook"/>
123

    
124
   <xsl:template match="tei:seg[@rend='specChildren']">
125
      <xsl:choose>
126
         <xsl:when test=".//tei:seg[@rend='specChildModule']">
127
            <xsl:text>\hfil\\[-10pt]\begin{sansreflist}</xsl:text>
128
            <xsl:apply-templates/>
129
            <xsl:text>\end{sansreflist}</xsl:text>
130
         </xsl:when>
131
         <xsl:otherwise>
132
            <xsl:apply-templates/>
133
         </xsl:otherwise>
134
      </xsl:choose>
135
   </xsl:template>
136

    
137
   <!--
138
<xsl:template match="tei:seg[@rend='specChildren']">
139
<xsl:text>\mbox{ }\\ \begin{description}</xsl:text>
140
<xsl:apply-templates/>
141
<xsl:text>\end{description}</xsl:text>
142
</xsl:template>
143
-->
144
<xsl:template match="tei:term">
145
      <xsl:text>\emph{</xsl:text>
146
      <xsl:apply-templates/>
147
      <xsl:text>}</xsl:text>
148
   </xsl:template>
149

    
150
   <xsl:template match="tei:seg[@xml:lang]">
151
      <xsl:choose>
152
         <xsl:when test="@xml:lang='zh-TW'">
153
            <xsl:text>{\textChinese </xsl:text>
154
            <xsl:apply-templates/>
155
            <xsl:text>}</xsl:text>
156
         </xsl:when>
157
         <xsl:when test="@xml:lang='ja'">
158
            <xsl:text>{\textJapanese </xsl:text>
159
            <xsl:apply-templates/>
160
            <xsl:text>}</xsl:text>
161
         </xsl:when>
162
         <xsl:otherwise>
163
            <xsl:apply-templates/>
164
         </xsl:otherwise>
165
      </xsl:choose>
166
   </xsl:template>
167

    
168
   <xsl:template match="tei:seg[@rend='specChild']">
169
      <xsl:apply-templates/>
170
   </xsl:template>
171

    
172
   <xsl:template match="tei:seg[@rend='specChildModule']">
173
    \item[<xsl:apply-templates/>]
174
   </xsl:template>
175

    
176
   <xsl:template match="tei:seg[@rend='specChildElements']">
177
      <xsl:apply-templates/>
178
   </xsl:template>
179

    
180
   <xsl:template match="tei:seg[@rend='parent']">
181
      <xsl:choose>
182
         <xsl:when test="*">
183
            <xsl:apply-templates/>
184
         </xsl:when>
185
         <xsl:otherwise>
186
            <xsl:text>—</xsl:text>
187
         </xsl:otherwise>
188
      </xsl:choose>
189
   </xsl:template>
190

    
191
   <xsl:template match="tei:hi[@rend='parent']">
192
      <xsl:apply-templates/>
193
   </xsl:template>
194

    
195
   <xsl:template match="tei:hi[@rend='showmembers1']">
196
      <xsl:apply-templates/>
197
   </xsl:template>
198

    
199
   <xsl:template match="tei:hi[@rend='showmembers2']">
200
      <xsl:apply-templates/>
201
   </xsl:template>
202

    
203
   <xsl:template match="tei:hi[@rend='showmembers3']">
204
      <xsl:apply-templates/>
205
   </xsl:template>
206

    
207
   <xsl:template match="tei:hi[@rend='showmembers4']">
208
      <xsl:apply-templates/>
209
   </xsl:template>
210

    
211
   <xsl:template match="tei:table[@rend='wovenodd' or @rend='attDef']">
212
      <xsl:text>
213
\begin{reflist}</xsl:text>
214
      <xsl:apply-templates/>
215
      <xsl:text>
216
\end{reflist}  </xsl:text>
217
   </xsl:template>
218

    
219
   <xsl:template match="tei:table[@rend='valList'       or @rend='attList'       or @rend='specDesc']">
220
      <xsl:text>\hfil\\[-10pt]\begin{sansreflist}</xsl:text>
221
      <xsl:apply-templates/>
222
      <xsl:text>
223
\end{sansreflist}  </xsl:text>
224
   </xsl:template>
225

    
226
   <xsl:template match="tei:table[@rend='wovenodd'      or @rend='attList'      or @rend='valList'      or @rend='attDef'      or @rend='specDesc']/tei:row">
227
      <xsl:apply-templates/>
228
   </xsl:template>
229

    
230
   <xsl:template match="tei:table[@rend='wovenodd'       or @rend='attList'       or @rend='specDesc'       or @rend='valList'       or @rend='attDef']/tei:row/tei:cell[1]">
231
      <xsl:choose>
232
         <xsl:when test="parent::tei:row/parent::tei:table[@rend='attList']">
233
    \item[@<xsl:apply-templates/>]
234
  </xsl:when>
235
         <xsl:when test="ancestor::tei:table[@rend='valList']">
236
    \item[<xsl:apply-templates/>]
237
  </xsl:when>
238
         <xsl:when test="ancestor::tei:table[@rend='specDesc']">
239
    \item[@<xsl:apply-templates/>]
240
  </xsl:when>
241
         <xsl:when test="@cols='2' and not(parent::tei:row/preceding-sibling::tei:row)">
242
            <xsl:text>
243
\item[]\begin{specHead}{</xsl:text>
244
            <xsl:value-of select="ancestor::tei:div[1]/@xml:id"/>
245
            <xsl:text>}</xsl:text>
246
            <xsl:apply-templates/>
247
            <xsl:text>\end{specHead} </xsl:text>
248
         </xsl:when>
249
         <xsl:when test="@cols='2'">
250
    \item[]<xsl:apply-templates/>
251
         </xsl:when>
252
         <xsl:otherwise>
253
    \item[<xsl:apply-templates/>]
254
  </xsl:otherwise>
255
      </xsl:choose>
256
   </xsl:template>
257

    
258
   <xsl:template match="tei:div[@type='refdoc']/tei:head"/>
259

    
260
   <xsl:template match="tei:div[@type='refdoc']">
261
      <xsl:apply-templates/>
262
   </xsl:template>
263

    
264
   <xsl:template match="tei:table[@rend='wovenodd'        or @rend='attList'        or @rend='valList'        or @rend='specDesc'        or @rend='attDef']/tei:row/tei:cell[2]">
265
      <xsl:apply-templates/>
266
   </xsl:template>
267

    
268

    
269
   <xsl:template match="tei:list[@rend='specList']">
270
\begin{sansreflist}
271
  <xsl:apply-templates/>
272
\end{sansreflist}
273
</xsl:template>
274

    
275
   <xsl:template match="tei:hi[@rend='specList-elementSpec']">
276
      <xsl:text>[\textbf{&lt;</xsl:text>
277
      <xsl:value-of select="."/>
278
      <xsl:text>&gt;}]</xsl:text>
279
   </xsl:template>
280

    
281
   <xsl:template match="tei:hi[@rend='specList-macroSpec']">
282
      <xsl:text>[\textbf{</xsl:text>
283
      <xsl:value-of select="."/>
284
      <xsl:text>}]</xsl:text>
285
   </xsl:template>
286

    
287
   <xsl:template match="tei:hi[@rend='specList-classSpec']">
288
      <xsl:text>[\textbf{</xsl:text>
289
      <xsl:value-of select="."/>
290
      <xsl:text>}]</xsl:text>
291
   </xsl:template>
292

    
293
   <xsl:template match="tei:hi[@rend='label'  or @rend='defaultVal']">
294
      <xsl:text>{</xsl:text>
295
      <xsl:choose>
296
         <xsl:when test="@xml:lang='zh-TW'">
297
            <xsl:text>\textChinese </xsl:text>
298
            <xsl:apply-templates/>
299
         </xsl:when>
300
         <xsl:when test="@xml:lang='ja'">
301
            <xsl:text>\textJapanese </xsl:text>
302
            <xsl:apply-templates/>
303
         </xsl:when>
304
         <xsl:otherwise>
305
            <xsl:apply-templates/>
306
         </xsl:otherwise>
307
      </xsl:choose>
308
      <xsl:text>}</xsl:text>
309
   </xsl:template>
310

    
311

    
312
   <xsl:template match="tei:hi[@rend='attribute']">
313
      <xsl:text>\textit{</xsl:text>
314
      <xsl:value-of select="."/>
315
      <xsl:text>}</xsl:text>
316
   </xsl:template>
317

    
318
   <xsl:template name="specHook">
319
      <xsl:param name="name"/>
320
   </xsl:template>
321

    
322

    
323
   <xsl:template match="tei:index[@indexName='ODDS']">
324
      <xsl:for-each select="tei:term">
325
         <xsl:text>\index{</xsl:text>
326
         <xsl:choose>
327
            <xsl:when test="@sortKey">
328
	              <xsl:value-of select="@sortKey"/>
329
	              <xsl:text>=</xsl:text>
330
	              <xsl:value-of select="."/>
331
            </xsl:when>
332
            <xsl:otherwise>
333
	              <xsl:value-of select="."/>
334
            </xsl:otherwise>
335
         </xsl:choose>
336
         <xsl:text>|oddindex</xsl:text>
337
         <xsl:text>}</xsl:text>
338
      </xsl:for-each>
339
      <xsl:for-each select="tei:index/tei:term">
340
         <xsl:text>\index{</xsl:text>
341
         <xsl:choose>
342
            <xsl:when test="@sortKey">
343
	              <xsl:value-of select="@sortKey"/>
344
	              <xsl:text>=</xsl:text>
345
	              <xsl:value-of select="."/>
346
            </xsl:when>
347
            <xsl:otherwise>
348
	              <xsl:value-of select="."/>
349
            </xsl:otherwise>
350
         </xsl:choose>
351
         <xsl:text>!</xsl:text>
352
         <xsl:value-of select="../../tei:term"/>
353
         <xsl:text>|oddindex</xsl:text>
354
         <xsl:text>}</xsl:text>
355
      </xsl:for-each>
356

    
357
   </xsl:template>
358

    
359

    
360
</xsl:stylesheet>