Statistics
| Revision:

root / tmp / org.txm.core / res / org / txm / xml / xsl / tei / profiles / default / docbook / from.xsl @ 187

History | View | Annotate | Download (14.9 kB)

1
<xsl:stylesheet 
2
    xmlns="http://www.tei-c.org/ns/1.0"
3
    xpath-default-namespace="http://docbook.org/ns/docbook"
4
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
5
    version="2.0">
6
  <doc xmlns="http://www.oxygenxml.com/ns/doc/xsl" scope="stylesheet" type="stylesheet">
7
      <desc>
8
         <p>This software is dual-licensed:
9

    
10
1. Distributed under a Creative Commons Attribution-ShareAlike 3.0
11
Unported License http://creativecommons.org/licenses/by-sa/3.0/ 
12

    
13
2. http://www.opensource.org/licenses/BSD-2-Clause
14
		
15
All rights reserved.
16

    
17
Redistribution and use in source and binary forms, with or without
18
modification, are permitted provided that the following conditions are
19
met:
20

    
21
* Redistributions of source code must retain the above copyright
22
notice, this list of conditions and the following disclaimer.
23

    
24
* Redistributions in binary form must reproduce the above copyright
25
notice, this list of conditions and the following disclaimer in the
26
documentation and/or other materials provided with the distribution.
27

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

    
46

    
47
<xsl:output method="xml" indent="yes" encoding="utf-8"/>
48
  <xsl:variable name="processor">
49
    <xsl:value-of select="system-property('xsl:vendor')"/>
50
  </xsl:variable>
51

    
52
<xsl:template match="/">
53
  <xsl:choose>
54
    <xsl:when test="*[namespace-uri()='http://docbook.org/ns/docbook']">
55
      <xsl:apply-templates/>
56
    </xsl:when>
57
    <xsl:otherwise>
58
      <xsl:variable name="db5">
59
	<xsl:apply-templates mode="convert"/>
60
      </xsl:variable>
61
      <xsl:apply-templates select="$db5/*"/>
62
    </xsl:otherwise>
63
  </xsl:choose>
64
</xsl:template>
65

    
66
<xsl:template match="@*|text()|comment()" mode="convert">
67
  <xsl:copy-of select="."/>
68
</xsl:template>
69

    
70
<xsl:template match="*" mode="convert">
71
  <xsl:element name="{name()}" namespace="http://docbook.org/ns/docbook">
72
    <xsl:apply-templates select="@*|text()|*|comment()" mode="convert"/>
73
  </xsl:element>
74
</xsl:template>
75

    
76

    
77
<xsl:template match="abbrev">
78
  <abbr>
79
    <xsl:apply-templates/>
80
  </abbr>
81
</xsl:template>
82

    
83
<xsl:template match="abstract">
84
  <div type="abstract">
85
    <xsl:call-template name="ID"/>
86
    <xsl:apply-templates/>
87
  </div>
88
</xsl:template>
89

    
90
<xsl:template match="ackno">
91
 <xsl:apply-templates/>
92
</xsl:template>
93

    
94
<xsl:template match="acronym">
95
  <xsl:apply-templates/>
96
</xsl:template>
97

    
98
<xsl:template match="address">
99
  <xsl:apply-templates/>
100
</xsl:template>
101

    
102
<xsl:template match="affiliation">
103
  <xsl:apply-templates/>
104
</xsl:template>
105

    
106
<xsl:template match="anchor">
107
 <anchor>
108
   <xsl:call-template name="ID"/>
109
 </anchor>
110
</xsl:template>
111

    
112
<xsl:template match="appendix">
113
  <xsl:apply-templates/>
114
</xsl:template>
115

    
116
<xsl:template match="application">
117
 <ident type="application" >
118
   <xsl:apply-templates/>
119
 </ident>
120
</xsl:template>
121

    
122
<xsl:template match="info|artheader|articleinfo"/>
123

    
124
<xsl:template match="info|artheader|articleinfo" mode="header">
125
  <teiHeader >
126
    <fileDesc>
127
      <titleStmt>
128
	<xsl:apply-templates select="title"/>
129
	<author>
130
	  <xsl:choose>
131
	    <xsl:when test="author">
132
	      <xsl:apply-templates select="author"/>
133
	    </xsl:when>
134
	    <xsl:otherwise>
135
	      <xsl:text>unknown author</xsl:text>
136
	  </xsl:otherwise>
137
	  </xsl:choose>
138
	</author>
139
      </titleStmt>
140
      <editionStmt>
141
          <edition>
142
            <date>
143
	      <xsl:choose>
144
		<xsl:when test="pubdate">
145
		  <xsl:apply-templates select="pubdate"/>
146
		</xsl:when>
147
		<xsl:otherwise>
148
		  <xsl:call-template name="whatsTheDate"/> 
149
		</xsl:otherwise>
150
	      </xsl:choose>
151
            </date>
152
          </edition>
153
        </editionStmt>
154
      <publicationStmt>
155
        <p></p>
156
      </publicationStmt>
157
    <sourceDesc>
158
      <p>Converted from a Docbook original</p>
159
    </sourceDesc>
160
    </fileDesc>
161
    <xsl:if test="keywordset">
162
      <profileDesc>
163
        <textClass>
164
	  <xsl:apply-templates select="keywordset"/>
165
        </textClass>
166
      </profileDesc>
167
    </xsl:if>
168
  </teiHeader>
169
</xsl:template>
170

    
171
<xsl:template match="article|book">
172
  <TEI>
173
    <xsl:call-template name="ID"/>
174
    <xsl:apply-templates select="info|artheader|articleinfo" mode="header"/>
175
    <text>
176
      <xsl:choose>
177
	<xsl:when test="artheader/abstract">
178
	  <front>
179
	    <xsl:apply-templates select="artheader/abstract"/>
180
	  </front>
181
	</xsl:when>
182
	<xsl:when test="articleinfo/abstract">
183
	  <front>
184
	    <xsl:apply-templates select="articleinfo/abstract"/>
185
	  </front>
186
	</xsl:when>
187
	<xsl:otherwise>
188
	</xsl:otherwise>
189
      </xsl:choose>
190
      <body>
191
	<xsl:apply-templates />
192
      </body>
193
    </text>
194
  </TEI>
195
</xsl:template>
196

    
197
<xsl:template match="attribution">
198
  <xsl:apply-templates/>
199
</xsl:template>
200

    
201
<xsl:template match="author">
202
    <name>
203
      <xsl:choose>
204
	<xsl:when test="surname">
205
	  <persName>
206
	    <xsl:apply-templates/>
207
	  </persName>
208
	</xsl:when>
209
	<xsl:otherwise>
210
	  <xsl:apply-templates/>
211
	</xsl:otherwise>
212
      </xsl:choose>
213
    </name>
214
</xsl:template>
215

    
216
<xsl:template match="authorblurb">
217
  <xsl:apply-templates/>
218
</xsl:template>
219

    
220
<xsl:template match="authorgroup">
221
  <xsl:apply-templates/>
222
</xsl:template>
223

    
224
<xsl:template match="bibliodiv">
225
  <xsl:apply-templates/>
226
</xsl:template>
227

    
228
<xsl:template match="bibliography">
229
  <xsl:apply-templates/>
230
</xsl:template>
231

    
232
<xsl:template match="bibliomisc">
233
  <xsl:apply-templates/>
234
</xsl:template>
235

    
236
<xsl:template match="bibliomixed">
237
  <xsl:apply-templates/>
238
</xsl:template>
239

    
240
<xsl:template match="blockquote">
241
  <q>  
242
    <xsl:apply-templates/>
243
  </q>
244
</xsl:template>
245

    
246
<xsl:template match="chapter">
247
  <div>  
248
    <xsl:call-template name="ID"/>
249
    <xsl:apply-templates/>
250
  </div>
251
</xsl:template>
252

    
253
<xsl:template match="citation">
254
  <cit>  
255
    <xsl:apply-templates/>
256
  </cit>
257
</xsl:template>
258

    
259
<xsl:template match="computeroutput">
260
  <xsl:apply-templates/>
261
</xsl:template>
262

    
263
<xsl:template match="copyright">
264
  <xsl:apply-templates/>
265
</xsl:template>
266

    
267
<xsl:template match="email">
268
  <xsl:apply-templates/>
269
</xsl:template>
270

    
271
<xsl:template match="emphasis">
272
  <xsl:choose>
273
    <xsl:when test="@role='strong'">
274
      <hi>
275
	<xsl:apply-templates/>
276
      </hi>
277
    </xsl:when>
278
    <xsl:otherwise>
279
      <hi>
280
	<xsl:call-template name="Role"/>
281
	<xsl:apply-templates/>
282
      </hi>
283
    </xsl:otherwise>
284
  </xsl:choose>
285
</xsl:template>
286

    
287
<xsl:template match="entry">
288
  <cell>
289
    <xsl:apply-templates/>
290
  </cell>
291
</xsl:template>
292

    
293
<xsl:template match="example">
294
  <xsl:apply-templates/>
295
</xsl:template>
296

    
297
<xsl:template match="figure">
298
  <figure>
299
    <xsl:apply-templates/>
300
    <figDesc></figDesc>
301
  </figure>
302
</xsl:template>
303

    
304
<xsl:template match="foreignphrase">
305
  <foreign><xsl:apply-templates/></foreign>
306
</xsl:template>
307

    
308
<xsl:template match="imageobject">
309
  <graphic url="{imagedata/@fileref}"/>
310
</xsl:template>
311

    
312
<xsl:template match="imagedata">
313
</xsl:template>
314

    
315
<xsl:template match="inlinemediaobject|mediaobject">
316

    
317
 <xsl:apply-templates/>
318

    
319
</xsl:template>
320

    
321
<xsl:template match="issuenum">
322
  <xsl:apply-templates/>
323
</xsl:template>
324

    
325
<xsl:template match="itemizedlist">
326
  <list  type="unordered">
327
    <xsl:apply-templates/>
328
  </list>
329
</xsl:template>
330

    
331
<xsl:template match="keyword">
332
  <term>
333
    <xsl:call-template name="Lang"/>
334
    <xsl:apply-templates/>
335
  </term>
336
</xsl:template>
337

    
338
<xsl:template match="keywordset">
339
  <keywords scheme="adhoc">
340
    <xsl:apply-templates/>
341
  </keywords>
342
</xsl:template>
343

    
344
<xsl:template match="link">
345
  <ref target="#{@linkend}">
346
    <xsl:apply-templates/>
347
  </ref>
348
</xsl:template>
349

    
350
<xsl:template match="listitem">
351
  <item >
352
    <xsl:apply-templates/>
353
  </item>
354
</xsl:template>
355

    
356
<xsl:template match="literal">
357
  <code rend="{@role}">
358
    <xsl:apply-templates/>
359
  </code>
360
</xsl:template>
361

    
362
<xsl:template match="literallayout">
363
  <xsl:apply-templates/>
364
</xsl:template>
365

    
366
<xsl:template match="note">
367
  <xsl:apply-templates/>
368
</xsl:template>
369

    
370
<xsl:template match="orderedlist">
371
  <list  type="ordered">
372
    <xsl:apply-templates/>
373
  </list>
374
</xsl:template>
375

    
376
<xsl:template match="orgname">
377
  <xsl:apply-templates/>
378
</xsl:template>
379

    
380
<xsl:template match="othercredit">
381
  <xsl:apply-templates/>
382
</xsl:template>
383

    
384
<xsl:template match="para">
385
  <xsl:choose>
386
    <xsl:when test="normalize-space(.)=''"/>
387
    <xsl:when test="parent::listitem and count(../para)=1">
388
	<xsl:apply-templates/>
389
    </xsl:when>
390
    <xsl:when test="parent::footnote and count(../para)=1">
391
	<xsl:apply-templates/>
392
    </xsl:when>
393
    <xsl:otherwise>
394
      <p>  
395
	<xsl:apply-templates/>
396
      </p>
397
    </xsl:otherwise>
398
  </xsl:choose>
399
</xsl:template>
400

    
401
<xsl:template match="productname">
402
 <ident rend="productname">
403
   <xsl:apply-templates/>
404
 </ident>
405
</xsl:template>
406

    
407
<xsl:template match="pubdate">
408
  <xsl:apply-templates/>
409
</xsl:template>
410

    
411
<xsl:template match="quote">
412
  <xsl:apply-templates/>
413
</xsl:template>
414

    
415
<xsl:template match="row">
416
  <row>
417
    <xsl:if test="ancestor::thead">
418
      <xsl:attribute name="role">label</xsl:attribute>
419
    </xsl:if>
420
    <xsl:apply-templates/>
421
  </row>
422
</xsl:template>
423

    
424
<xsl:template match="screen">
425
<eg >
426
  <xsl:apply-templates/>
427
</eg>
428
</xsl:template>
429

    
430
<xsl:template match="section|sect1|sect2|sect3|sect4">
431
  <xsl:variable name="gi">
432
    <xsl:choose>
433
      <xsl:when test="local-name(.)='section'">div</xsl:when>
434
      <xsl:otherwise>
435
	<xsl:text>div</xsl:text>
436
	<xsl:value-of select="substring-after(local-name(.),'sect')"/>
437
      </xsl:otherwise>
438
    </xsl:choose>
439
  </xsl:variable>
440
  <xsl:element name="{$gi}">
441
    <xsl:call-template name="ID"/>
442
    <xsl:apply-templates/>
443
  </xsl:element>
444
</xsl:template>
445

    
446

    
447
<xsl:template match="surname">
448
  <surname >
449
    <xsl:apply-templates/>
450
  </surname>
451
</xsl:template>
452

    
453
<xsl:template match="symbol">
454
  <xsl:apply-templates/>
455
</xsl:template>
456

    
457
<xsl:template match="table">
458
  <table>
459
    <xsl:apply-templates/>
460
  </table>
461
</xsl:template>
462

    
463
<xsl:template match="tbody">
464
  <xsl:apply-templates/>
465
</xsl:template>
466

    
467
<xsl:template match="tgroup">
468
  <xsl:apply-templates/>
469
</xsl:template>
470

    
471
<xsl:template match="title">
472
  <xsl:choose>
473
    <xsl:when test="parent::articleinfo">
474
      <title>
475
	<xsl:apply-templates/>
476
      </title>
477
    </xsl:when>
478
    <xsl:otherwise>
479
      <head>
480
	<xsl:apply-templates/>
481
      </head>
482
    </xsl:otherwise>
483
  </xsl:choose>
484
</xsl:template>
485

    
486
<xsl:template match="artheader/title">
487
  <title>
488
    <xsl:call-template name="Lang"/>
489
    <xsl:apply-templates/>
490
  </title>
491
</xsl:template>
492

    
493
<xsl:template match="toc"/>
494

    
495

    
496
<xsl:template match="tocentry">
497
  <xsl:apply-templates/>
498
</xsl:template>
499

    
500
<xsl:template match="token">
501
  <xsl:apply-templates/>
502
</xsl:template>
503

    
504
<xsl:template match="ulink">
505
 <ref target="{@url}" >
506
   <xsl:apply-templates/>
507
 </ref>
508
</xsl:template>
509

    
510
<xsl:template match="userinput">
511
  <xsl:apply-templates/>
512
</xsl:template>
513

    
514
<xsl:template match="volumenum">
515
  <xsl:apply-templates/>
516
</xsl:template>
517

    
518
<xsl:template match="warning">
519
  <xsl:apply-templates/>
520
</xsl:template>
521

    
522
<xsl:template match="wordasword">
523
 <w>
524
  <xsl:apply-templates/>
525
 </w>
526
</xsl:template>
527

    
528
<xsl:template match="xref">
529
  <ptr target="#{@linkend}" type="{@role}" />
530
</xsl:template>
531

    
532
<xsl:template match="programlisting">
533
  <eg>
534
    <xsl:apply-templates/>
535
  </eg>
536
</xsl:template>
537

    
538
<xsl:template match="firstname">
539
  <xsl:apply-templates/>
540
</xsl:template>
541

    
542
<xsl:template match="jobtitle">
543
  <xsl:apply-templates/>
544
</xsl:template>
545

    
546
<xsl:template match="orgdiv">
547
  <xsl:apply-templates/>
548
</xsl:template>
549

    
550
<xsl:template match="simpara">
551
  <xsl:choose>
552
    <xsl:when test="following-sibling::simpara or
553
		    preceding-sibling::simpara">
554
      <p>
555
	<xsl:apply-templates/>
556
      </p>
557
    </xsl:when>
558
    <xsl:otherwise>
559
      <xsl:apply-templates/>
560
    </xsl:otherwise>
561
  </xsl:choose>
562
</xsl:template>
563

    
564
<xsl:template match="term">
565
  <term>
566
    <xsl:apply-templates/>
567
  </term>
568
</xsl:template>
569

    
570
<xsl:template match="thead">
571
  <xsl:apply-templates/>
572
</xsl:template>
573

    
574
<xsl:template match="variablelist">
575
  <list type="gloss">
576
    <xsl:apply-templates/>
577
  </list>
578
</xsl:template>
579

    
580
<xsl:template match="varlistentry">
581
    <xsl:apply-templates/>
582
</xsl:template>
583

    
584
<xsl:template match="varlistentry/term">
585
  <label>
586
    <xsl:apply-templates/>
587
  </label>
588
</xsl:template>
589

    
590
<!-- more -->
591

    
592
<xsl:template match="action">
593
  <hi rend="Action">
594
  <xsl:apply-templates/>
595
  </hi>
596
</xsl:template>
597

    
598
<xsl:template match="command">
599
  <hi rend="Command">
600
  <xsl:apply-templates/>
601
  </hi>
602
</xsl:template>
603

    
604
<xsl:template match="database">
605
  <hi rend="Database">
606
  <xsl:apply-templates/>
607
  </hi>
608
</xsl:template>
609

    
610
<xsl:template match="function">
611
  <hi rend="Function">
612
  <xsl:apply-templates/>
613
  </hi>
614
</xsl:template>
615

    
616
<xsl:template match="guilabel">
617
  <hi rend="Label">
618
    <xsl:apply-templates/>
619
  </hi>
620
</xsl:template>
621

    
622
<xsl:template match="parameter">
623
  <hi rend="Parameter">
624
  <xsl:apply-templates/>
625
  </hi>
626
</xsl:template>
627

    
628
<xsl:template match="remark">
629
  <hi rend="Remark">
630
  <xsl:apply-templates/>
631
  </hi>
632
</xsl:template>
633

    
634
<xsl:template match="trademark">
635
  <xsl:apply-templates/>
636
  <xsl:text>™</xsl:text>
637
</xsl:template>
638

    
639
<xsl:template match="type">
640
  <hi rend="Type">
641
  <xsl:apply-templates/>
642
  </hi>
643
</xsl:template>
644

    
645
<xsl:template match="varname">
646
  <xsl:apply-templates/>
647
</xsl:template>
648

    
649

    
650
<xsl:template match="filename">
651
  <hi rend="FileSpec">
652
    <xsl:apply-templates/>
653
  </hi>
654
</xsl:template>
655

    
656
<xsl:template match="footnote">
657
  <note place="foot">
658
    <xsl:apply-templates/>
659
  </note>
660
</xsl:template>
661

    
662
<xsl:template match="informalexample">
663
  <eg>
664
    <xsl:apply-templates/>
665
  </eg>
666
</xsl:template>
667
<xsl:template match="graphic">
668
  <graphic target="@fileref">
669
    <xsl:if test="@align">
670
      <xsl:attribute name="rend" select="@align"/>
671
    </xsl:if>
672
  </graphic>
673
</xsl:template>
674

    
675

    
676
<!-- catch all -->
677

    
678
<xsl:template match="*">
679
  <xsl:message>Unknown element <xsl:value-of  select="name()"/></xsl:message>
680
  <xsl:apply-templates/>
681
</xsl:template>
682

    
683
<!-- use general-purpose templates to add standard attributes -->
684
<xsl:template name="Role">
685
    <xsl:if test="@role">
686
      <xsl:attribute name="rend">
687
	<xsl:value-of select="@role"/>
688
      </xsl:attribute>
689
    </xsl:if>
690
</xsl:template>
691

    
692
<xsl:template name="Lang">
693
    <xsl:if test="@lang">
694
      <xsl:attribute name="xml:lang">
695
	<xsl:value-of select="@lang"/>
696
      </xsl:attribute>
697
    </xsl:if>
698
</xsl:template>
699

    
700
<xsl:template name="ID">
701
    <xsl:if test="@id">
702
      <xsl:attribute name="xml:id">
703
	<xsl:value-of select="@id"/>
704
      </xsl:attribute>
705
    </xsl:if>
706
</xsl:template>
707

    
708
  <xsl:template name="whatsTheDate">
709
      <xsl:value-of select="format-dateTime(current-dateTime(),'[Y]-[M02]-[D02]T[H02]:[m02]:[s02]Z')"/>
710
  </xsl:template>
711

    
712

    
713

    
714
</xsl:stylesheet>