Project

General

Profile

metacat / lib / style / shared / eml-2.0.0 / eml-literature.xsl @ 3094

1
<?xml version="1.0"?>
2
<!--
3
  *  '$RCSfile$'
4
  *      Authors: Matthew Brooke
5
  *    Copyright: 2000 Regents of the University of California and the
6
  *               National Center for Ecological Analysis and Synthesis
7
  *  For Details: http://www.nceas.ucsb.edu/
8
  *
9
  *   '$Author: cjones $'
10
  *     '$Date: 2006-11-17 13:37:07 -0800 (Fri, 17 Nov 2006) $'
11
  * '$Revision: 3094 $'
12
  *
13
  * This program is free software; you can redistribute it and/or modify
14
  * it under the terms of the GNU General Public License as published by
15
  * the Free Software Foundation; either version 2 of the License, or
16
  * (at your option) any later version.
17
  *
18
  * This program is distributed in the hope that it will be useful,
19
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21
  * GNU General Public License for more details.
22
  *
23
  * You should have received a copy of the GNU General Public License
24
  * along with this program; if not, write to the Free Software
25
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26
  *
27
  * This is an XSLT (http://www.w3.org/TR/xslt) stylesheet designed to
28
  * convert an XML file that is valid with respect to the eml-variable.dtd
29
  * module of the Ecological Metadata Language (EML) into an HTML format
30
  * suitable for rendering with modern web browsers.
31
-->
32
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
33

    
34
    <!--<xsl:import href="eml-resource.xsl"/>-->
35
    <xsl:output method="html" encoding="iso-8859-1"
36
              doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
37
              doctype-system="http://www.w3.org/TR/html4/loose.dtd"
38
              indent="yes" />  
39

    
40
    <xsl:template name="citation">
41
      <xsl:param name="citationfirstColStyle"/>
42
      <xsl:param name="citationsubHeaderStyle"/>
43
      <table class="{$tabledefaultStyle}">
44
        <xsl:choose>
45
         <xsl:when test="references!=''">
46
          <xsl:variable name="ref_id" select="references"/>
47
          <xsl:variable name="references" select="$ids[@id=$ref_id]" />
48
          <xsl:for-each select="$references">
49
            <xsl:call-template name="citationCommon">
50
             <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
51
             <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
52
            </xsl:call-template>
53
          </xsl:for-each>
54
        </xsl:when>
55
        <xsl:otherwise>
56
          <xsl:call-template name="citationCommon">
57
            <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
58
            <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
59
          </xsl:call-template>
60
        </xsl:otherwise>
61
      </xsl:choose>
62
      </table>
63
  </xsl:template>
64

    
65
  <xsl:template name="citationCommon">
66
    <xsl:param name="citationfirstColStyle"/>
67
    <xsl:param name="citationsubHeaderStyle"/>
68
    <tr><td colspan="2">
69
        <xsl:call-template name="resource">
70
          <xsl:with-param name="resfirstColStyle" select="$citationfirstColStyle"/>
71
          <xsl:with-param name="ressubHeaderStyle" select="$citationsubHeaderStyle"/>
72
          <xsl:with-param name="creator">Author(s):</xsl:with-param>
73
        </xsl:call-template>
74
       </td>
75
    </tr>
76

    
77
    <xsl:for-each select="article">
78
       <xsl:call-template name="citationarticle">
79
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
80
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
81
       </xsl:call-template>
82
    </xsl:for-each>
83

    
84
    <xsl:for-each select="book">
85
       <xsl:call-template name="citationbook">
86
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
87
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
88
       </xsl:call-template>
89
    </xsl:for-each>
90

    
91
    <xsl:for-each select="chapter">
92
       <xsl:call-template name="citationchapter">
93
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
94
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
95
       </xsl:call-template>
96
    </xsl:for-each>
97

    
98
    <xsl:for-each select="editedBook">
99
       <xsl:call-template name="citationeditedBook">
100
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
101
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
102
       </xsl:call-template>
103
    </xsl:for-each>
104

    
105
    <xsl:for-each select="manuscript">
106
       <xsl:call-template name="citationmanuscript">
107
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
108
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
109
       </xsl:call-template>
110
    </xsl:for-each>
111

    
112
    <xsl:for-each select="report">
113
       <xsl:call-template name="citationreport">
114
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
115
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
116
       </xsl:call-template>
117
    </xsl:for-each>
118

    
119
    <xsl:for-each select="thesis">
120
       <xsl:call-template name="citationthesis">
121
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
122
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
123
       </xsl:call-template>
124
    </xsl:for-each>
125

    
126
    <xsl:for-each select="conferenceProceedings">
127
       <xsl:call-template name="citationconferenceProceedings">
128
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
129
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
130
       </xsl:call-template>
131
    </xsl:for-each>
132

    
133
    <xsl:for-each select="personalCommunication">
134
       <xsl:call-template name="citationpersonalCommunication">
135
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
136
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
137
       </xsl:call-template>
138
    </xsl:for-each>
139

    
140
    <xsl:for-each select="map">
141
       <xsl:call-template name="citationmap">
142
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
143
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
144
       </xsl:call-template>
145
    </xsl:for-each>
146

    
147
    <xsl:for-each select="generic">
148
       <xsl:call-template name="citationgeneric">
149
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
150
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
151
       </xsl:call-template>
152
    </xsl:for-each>
153

    
154
    <xsl:for-each select="audioVisual">
155
       <xsl:call-template name="citationaudioVisual">
156
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
157
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
158
       </xsl:call-template>
159
    </xsl:for-each>
160

    
161
    <xsl:for-each select="presentation">
162
       <xsl:call-template name="citationpresentation">
163
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
164
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
165
       </xsl:call-template>
166
    </xsl:for-each>
167

    
168
    <xsl:if test="access and normalize-space(access)!=''">
169
      <tr><td colspan="2">
170
        <xsl:for-each select="access">
171
          <xsl:call-template name="access">
172
            <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
173
            <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
174
         </xsl:call-template>
175
        </xsl:for-each>
176
      </td>
177
     </tr>
178
   </xsl:if>
179
  </xsl:template>
180

    
181

    
182
  <xsl:template name="citationarticle">
183
     <xsl:param name="citationfirstColStyle"/>
184
     <xsl:param name="citationsubHeaderStyle"/>
185

    
186
        <tr><td class="{$citationsubHeaderStyle}" colspan="2"><xsl:text>ARTICLE:</xsl:text></td></tr>
187
           <tr><td class="{$citationfirstColStyle}">
188
            Journal:</td><td class="{$secondColStyle}">
189
            <xsl:value-of select="journal"/></td></tr>
190
           <tr><td class="{$citationfirstColStyle}">
191
            Volume:</td><td class="{$secondColStyle}">
192
            <xsl:value-of select="volume"/></td></tr>
193
        <xsl:if test="issue and normalize-space(issue)!=''">
194
           <tr><td class="{$citationfirstColStyle}">
195
            Issue:</td><td class="{$secondColStyle}">
196
            <xsl:value-of select="issue"/></td></tr>
197
        </xsl:if>
198
           <tr><td class="{$citationfirstColStyle}">
199
            Page Range:</td><td class="{$secondColStyle}">
200
            <xsl:value-of select="pageRange"/></td></tr>
201
        <xsl:if test="publisher and normalize-space(publisher)!=''">
202
           <tr><td class="{$citationfirstColStyle}">
203
            Publisher:</td><td class="{$secondColStyle}">
204
            &#160;</td></tr>
205
           <xsl:for-each select="publisher">
206
            <tr><td colspan="2">
207
              <xsl:call-template name="party">
208
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
209
                <xsl:with-param name="partysubHeaderStyle" select="$citationsubHeaderStyle"/>
210
              </xsl:call-template>
211
            </td></tr>
212
          </xsl:for-each>
213
        </xsl:if>
214
         <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
215
           <tr><td class="{$citationfirstColStyle}">
216
            Publication Place:</td><td class="{$secondColStyle}">
217
            <xsl:value-of select="publicationPlace"/></td></tr>
218
        </xsl:if>
219
        <xsl:if test="ISSN and normalize-space(ISSN)!=''">
220
           <tr><td class="{$citationfirstColStyle}">
221
            ISSN:</td><td class="{$secondColStyle}">
222
            <xsl:value-of select="ISSN"/></td></tr>
223
        </xsl:if>
224

    
225
  </xsl:template>
226

    
227

    
228

    
229
  <xsl:template name="citationbook">
230
    <xsl:param name="citationfirstColStyle"/>
231
    <xsl:param name="citationsubHeaderStyle"/>
232
    <xsl:param name="notshow" />
233
       <xsl:if test="$notshow =''">
234
          <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>BOOK:</xsl:text></td></tr>
235
        </xsl:if>
236
        <tr><td class="{$citationfirstColStyle}">
237
            Publisher:</td><td>
238
           <xsl:for-each select="publisher">
239
             <xsl:call-template name="party">
240
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
241
              </xsl:call-template>
242
          </xsl:for-each>
243
        </td></tr>
244
        <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
245
           <tr><td class="{$citationfirstColStyle}">
246
            Publication Place:</td><td class="{$secondColStyle}">
247
            <xsl:value-of select="publicationPlace"/></td></tr>
248
        </xsl:if>
249

    
250
        <xsl:if test="edition and normalize-space(edition)!=''">
251
           <tr><td class="{$citationfirstColStyle}">
252
            Edition:</td><td class="{$secondColStyle}">
253
            <xsl:value-of select="edition"/></td></tr>
254
        </xsl:if>
255

    
256
        <xsl:if test="volume and normalize-space(volume)!=''">
257
           <tr><td class="{$citationfirstColStyle}">
258
            Volume:</td><td class="{$secondColStyle}">
259
            <xsl:value-of select="volume"/></td></tr>
260
        </xsl:if>
261

    
262
         <xsl:if test="numberOfVolumes and normalize-space(numberOfVolumes)!=''">
263
           <tr><td class="{$citationfirstColStyle}">
264
            Number of Volumes:</td><td class="{$secondColStyle}">
265
            <xsl:value-of select="numberOfVolumes"/></td></tr>
266
        </xsl:if>
267

    
268
        <xsl:if test="totalPages and normalize-space(totalPages)!=''">
269
           <tr><td class="{$citationfirstColStyle}">
270
            Total Pages:</td><td class="{$secondColStyle}">
271
            <xsl:value-of select="totalPages"/></td></tr>
272
        </xsl:if>
273

    
274
        <xsl:if test="totalFigures and normalize-space(totalFigures)!=''">
275
           <tr><td class="{$citationfirstColStyle}">
276
            Total Figures:</td><td class="{$secondColStyle}">
277
            <xsl:value-of select="totalFigures"/></td></tr>
278
        </xsl:if>
279

    
280
        <xsl:if test="totalTables and normalize-space(totalTables)!=''">
281
           <tr><td class="{$citationfirstColStyle}">
282
            Total Tables:</td><td class="{$secondColStyle}">
283
            <xsl:value-of select="totalTables"/></td></tr>
284
        </xsl:if>
285

    
286
        <xsl:if test="ISBN and normalize-space(ISBN)!=''">
287
           <tr><td class="{$citationfirstColStyle}">
288
            ISBN:</td><td class="{$secondColStyle}">
289
            <xsl:value-of select="ISBN"/></td></tr>
290
        </xsl:if>
291

    
292
   </xsl:template>
293

    
294

    
295

    
296
   <xsl:template name="citationchapter">
297
      <xsl:param name="citationfirstColStyle"/>
298
      <xsl:param name="citationsubHeaderStyle"/>
299
       <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>CHAPTER:</xsl:text></td></tr>
300
        <xsl:if test="chapterNumber and normalize-space(chapterNumber)!=''">
301
           <tr><td class="{$citationfirstColStyle}">
302
            Chapter Number:</td><td class="{$secondColStyle}">
303
            <xsl:value-of select="chapterNumber"/></td></tr>
304
        </xsl:if>
305

    
306
       <tr><td class="{$citationfirstColStyle}">
307
        Book Editor:</td><td class="{$secondColStyle}">
308
        &#160;</td></tr>
309
        <xsl:for-each select="editor">
310
          <tr><td colspan="2">
311
            <xsl:call-template name="party">
312
              <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
313
            </xsl:call-template>
314
          </td></tr>
315
        </xsl:for-each>
316

    
317
       <tr><td class="{$citationfirstColStyle}">
318
        Book Title:</td><td class="{$secondColStyle}">
319
        <xsl:value-of select="bookTitle"/></td></tr>
320

    
321
        <xsl:if test="pageRange and normalize-space(pageRange)!=''">
322
           <tr><td class="{$citationfirstColStyle}">
323
            Page Range:</td><td class="{$secondColStyle}">
324
            <xsl:value-of select="pageRange"/></td></tr>
325
        </xsl:if>
326

    
327
        <xsl:call-template name="citationbook">
328
          <xsl:with-param name="notshow" select="yes"/>
329
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
330
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
331
        </xsl:call-template>
332
   </xsl:template>
333

    
334

    
335

    
336
   <xsl:template name="citationeditedBook">
337
      <xsl:param name="citationfirstColStyle"/>
338
      <xsl:param name="citationsubHeaderStyle"/>
339
       <xsl:call-template name="citationbook">
340
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
341
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
342
        </xsl:call-template>
343
   </xsl:template>
344

    
345

    
346

    
347
   <xsl:template name="citationmanuscript">
348
     <xsl:param name="citationfirstColStyle"/>
349
     <xsl:param name="citationsubHeaderStyle"/>
350
       <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>MANUSCRIPT:</xsl:text></td></tr>
351
       <tr><td class="{$citationfirstColStyle}">
352
            Institution:
353
            </td>
354
            <td class="{$secondColStyle}">
355
              &#160;
356
            </td>
357
       </tr>
358
       <xsl:for-each select="institution">
359
        <tr><td colspan="2">
360
              <xsl:call-template name="party">
361
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
362
              </xsl:call-template>
363
           </td>
364
        </tr>
365
       </xsl:for-each>
366

    
367
       <xsl:if test="totalPages and normalize-space(totalPages)!=''">
368
         <tr><td class="{$citationfirstColStyle}">
369
            Total Pages:</td><td class="{$secondColStyle}">
370
            <xsl:value-of select="totalPages"/></td></tr>
371
       </xsl:if>
372
   </xsl:template>
373

    
374

    
375

    
376
   <xsl:template name="citationreport">
377
     <xsl:param name="citationfirstColStyle"/>
378
     <xsl:param name="citationsubHeaderStyle"/>
379
     <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>REPORT:</xsl:text></td></tr>
380
       <xsl:if test="reportNumber and normalize-space(reportNumber)!=''">
381
          <tr><td class="{$citationfirstColStyle}">
382
            Report Number:</td><td class="{$secondColStyle}">
383
          <xsl:value-of select="reportNumber"/></td></tr>
384
       </xsl:if>
385

    
386
       <xsl:if test="publisher and normalize-space(publisher)!=''">
387
          <tr><td class="{$citationfirstColStyle}">
388
            Publisher:</td><td class="{$secondColStyle}">
389
            &#160;</td></tr>
390
          <xsl:for-each select="publisher">
391
           <tr><td colspan="2">
392
              <xsl:call-template name="party">
393
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
394

    
395
              </xsl:call-template>
396
           </td></tr>
397
          </xsl:for-each>
398
       </xsl:if>
399

    
400
       <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
401
           <tr><td class="{$citationfirstColStyle}">
402
            Publication Place:</td><td class="{$secondColStyle}">
403
            <xsl:value-of select="publicationPlace"/></td></tr>
404
       </xsl:if>
405

    
406
       <xsl:if test="totalPages and normalize-space(totalPages)!=''">
407
         <tr><td class="{$citationfirstColStyle}">
408
            Total Pages:</td><td class="{$secondColStyle}">
409
            <xsl:value-of select="totalPages"/></td></tr>
410
       </xsl:if>
411
   </xsl:template>
412

    
413

    
414
   <xsl:template name="citationthesis">
415
     <xsl:param name="citationfirstColStyle"/>
416
     <xsl:param name="citationsubHeaderStyle"/>
417
     <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>THESIS:</xsl:text></td></tr>
418
        <tr><td class="{$citationfirstColStyle}">
419
        Degree:</td><td class="{$secondColStyle}">
420
        <xsl:value-of select="degree"/></td></tr>
421

    
422
       <tr><td class="{$citationfirstColStyle}">
423
        Degree Institution:</td><td class="{$secondColStyle}">
424
        &#160;</td></tr>
425
        <xsl:for-each select="institution">
426
          <tr><td colspan="2">
427
              <xsl:call-template name="party">
428
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
429
                <xsl:with-param name="partysubHeaderStyle" select="$citationsubHeaderStyle"/>
430
              </xsl:call-template>
431
          </td></tr>
432
        </xsl:for-each>
433

    
434
       <xsl:if test="totalPages and normalize-space(totalPages)!=''">
435
         <tr><td class="{$citationfirstColStyle}">
436
         Total Pages:</td><td class="{$secondColStyle}">
437
         <xsl:value-of select="totalPages"/></td></tr>
438
       </xsl:if>
439
   </xsl:template>
440

    
441
   <xsl:template name="citationconferenceProceedings">
442
     <xsl:param name="citationfirstColStyle"/>
443
     <xsl:param name="citationsubHeaderStyle"/>
444
     <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>CONFERENCE PROCEEDINGS:</xsl:text></td></tr>
445
      <xsl:if test="conferenceName and normalize-space(conferenceName)!=''">
446
         <tr><td class="{$citationfirstColStyle}">
447
         Conference Name:</td><td class="{$secondColStyle}">
448
         <xsl:value-of select="conferenceName"/></td></tr>
449
       </xsl:if>
450

    
451
       <xsl:if test="conferenceDate and normalize-space(conferenceDate)!=''">
452
         <tr><td class="{$citationfirstColStyle}">
453
         Date:</td><td class="{$secondColStyle}">
454
         <xsl:value-of select="conferenceDate"/></td></tr>
455
       </xsl:if>
456

    
457
       <xsl:if test="conferenceLocation and normalize-space(conferenceLocation)!=''">
458
        <tr><td class="{$citationfirstColStyle}">
459
         Location:</td><td class="{$secondColStyle}">
460
         &#160;</td></tr>
461
         <tr><td colspan="2">
462
           <xsl:for-each select="conferenceLocation">
463
            <xsl:call-template name="party">
464
             <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
465
            </xsl:call-template>
466
           </xsl:for-each>
467
          </td>
468
        </tr>
469
       </xsl:if>
470

    
471
       <xsl:call-template name="citationchapter">
472
          <xsl:with-param name="notshow" select="yes"/>
473
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
474
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
475
       </xsl:call-template>
476
  </xsl:template>
477

    
478
  <xsl:template name="citationpersonalCommunication">
479
    <xsl:param name="citationfirstColStyle"/>
480
    <xsl:param name="citationsubHeaderStyle"/>
481
    <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>PERSONAL COMMUNICATION:</xsl:text></td></tr>
482
     <xsl:if test="publisher and normalize-space(publisher)!=''">
483
          <tr><td class="{$citationfirstColStyle}">
484
            Publisher:</td><td class="{$secondColStyle}">
485
            &#160;</td></tr>
486
          <xsl:for-each select="publisher">
487
           <tr><td colspan="2">
488
              <xsl:call-template name="party">
489
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
490
               </xsl:call-template>
491
           </td></tr>
492
          </xsl:for-each>
493
       </xsl:if>
494

    
495

    
496
       <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
497
           <tr><td class="{$citationfirstColStyle}">
498
            Publication Place:</td><td class="{$secondColStyle}">
499
            <xsl:value-of select="publicationPlace"/></td></tr>
500
       </xsl:if>
501

    
502
       <xsl:if test="communicationType and normalize-space(communicationType)!=''">
503
           <tr><td class="{$citationfirstColStyle}">
504
            Communication Type:</td><td class="{$secondColStyle}">
505
            <xsl:value-of select="communicationType"/></td></tr>
506
       </xsl:if>
507

    
508
      <xsl:if test="recipient and normalize-space(recipient)!=''">
509
          <tr><td class="{$citationfirstColStyle}">
510
            Recipient:</td><td class="{$secondColStyle}">
511
            &#160;</td></tr>
512
          <xsl:for-each select="recipient">
513
           <tr><td colspan="2">
514
              <xsl:call-template name="party">
515
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
516
              </xsl:call-template>
517
           </td></tr>
518
          </xsl:for-each>
519
      </xsl:if>
520
  </xsl:template>
521

    
522

    
523
  <xsl:template name="citationmap">
524
    <xsl:param name="citationfirstColStyle"/>
525
    <xsl:param name="citationsubHeaderStyle"/>
526
    <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>MAP:</xsl:text></td></tr>
527
      <xsl:if test="publisher and normalize-space(publisher)!=''">
528
          <tr><td class="{$citationfirstColStyle}">
529
            Publisher:</td><td class="{$secondColStyle}">
530
            &#160;</td></tr>
531
          <xsl:for-each select="publisher">
532
           <tr><td colspan="2">
533
              <xsl:call-template name="party">
534
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
535
               </xsl:call-template>
536
           </td></tr>
537
          </xsl:for-each>
538
       </xsl:if>
539

    
540
       <xsl:if test="edition and normalize-space(edition)!=''">
541
           <tr><td class="{$citationfirstColStyle}">
542
            Edition:</td><td class="{$secondColStyle}">
543
            <xsl:value-of select="edition"/></td></tr>
544
       </xsl:if>
545

    
546
       <xsl:if test="geographicCoverage and normalize-space(geographicCoverage)!=''">
547
          <xsl:for-each select="geographicCoverage">
548
            <xsl:call-template name="geographicCoverage">
549
            </xsl:call-template>
550
          </xsl:for-each>
551
       </xsl:if>
552

    
553
       <xsl:if test="scale and normalize-space(scale)!=''">
554
           <tr><td class="{$citationfirstColStyle}">
555
            Scale:</td><td class="{$secondColStyle}">
556
            <xsl:value-of select="scale"/></td></tr>
557
       </xsl:if>
558
 </xsl:template>
559

    
560

    
561
  <xsl:template name="citationgeneric">
562
    <xsl:param name="citationfirstColStyle"/>
563
    <xsl:param name="citationsubHeaderStyle"/>
564
    <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>Generic Citation:</xsl:text></td></tr>
565
    <tr><td class="{$citationfirstColStyle}">
566
            Publisher:</td><td class="{$secondColStyle}">
567
            &#160;
568
      </td></tr>
569
      <xsl:for-each select="publisher">
570
         <tr><td colspan="2">
571
              <xsl:call-template name="party">
572
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
573
              </xsl:call-template>
574
         </td></tr>
575
      </xsl:for-each>
576

    
577
      <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
578
           <tr><td class="{$citationfirstColStyle}">
579
            Publication Place:</td><td class="{$secondColStyle}">
580
            <xsl:value-of select="publicationPlace"/></td></tr>
581
      </xsl:if>
582

    
583
      <xsl:if test="referenceType and normalize-space(referenceType)!=''">
584
           <tr><td class="{$citationfirstColStyle}">
585
            Reference Type:</td><td class="{$secondColStyle}">
586
            <xsl:value-of select="referenceType"/></td></tr>
587
      </xsl:if>
588

    
589
      <xsl:if test="volume and normalize-space(volume)!=''">
590
           <tr><td class="{$citationfirstColStyle}">
591
            Volume:</td><td class="{$secondColStyle}">
592
            <xsl:value-of select="volume"/></td></tr>
593
      </xsl:if>
594

    
595
      <xsl:if test="numberOfVolumes and normalize-space(numberOfVolumes)!=''">
596
           <tr><td class="{$citationfirstColStyle}">
597
            Number of Volumes:</td><td class="{$secondColStyle}">
598
            <xsl:value-of select="numberOfVolumes"/></td></tr>
599
      </xsl:if>
600

    
601
      <xsl:if test="totalPages and normalize-space(totalPages)!=''">
602
           <tr><td class="{$citationfirstColStyle}">
603
            Total Pages:</td><td class="{$secondColStyle}">
604
            <xsl:value-of select="totalPages"/></td></tr>
605
      </xsl:if>
606

    
607
      <xsl:if test="totalFigures and normalize-space(totalFigures)!=''">
608
           <tr><td class="{$citationfirstColStyle}">
609
            Total Figures:</td><td class="{$secondColStyle}">
610
            <xsl:value-of select="totalFigures"/></td></tr>
611
      </xsl:if>
612

    
613
      <xsl:if test="totalTables and normalize-space(totalTables)!=''">
614
           <tr><td class="{$citationfirstColStyle}">
615
            Total Tables:</td><td class="{$secondColStyle}">
616
            <xsl:value-of select="totalTables"/></td></tr>
617
      </xsl:if>
618

    
619
      <xsl:if test="edition and normalize-space(edition)!=''">
620
           <tr><td class="{$citationfirstColStyle}">
621
            Edition:</td><td class="{$secondColStyle}">
622
            <xsl:value-of select="edition"/></td></tr>
623
      </xsl:if>
624

    
625
      <xsl:if test="originalPublication and normalize-space(originalPublication)!=''">
626
           <tr><td class="{$citationfirstColStyle}">
627
            Supplemental Info for Original Publication:</td><td class="{$secondColStyle}">
628
            <xsl:value-of select="originalPublication"/></td></tr>
629
      </xsl:if>
630

    
631
      <xsl:if test="reprintEdition and normalize-space(reprintEdition)!=''">
632
           <tr><td class="{$citationfirstColStyle}">
633
            Reprint Edition:</td><td class="{$secondColStyle}">
634
            <xsl:value-of select="reprintEdition"/></td></tr>
635
      </xsl:if>
636

    
637
      <xsl:if test="reviewedItem and normalize-space(reviewedItem)!=''">
638
           <tr><td class="{$citationfirstColStyle}">
639
            Review Item:</td><td class="{$secondColStyle}">
640
            <xsl:value-of select="reviewedItem"/></td></tr>
641
      </xsl:if>
642

    
643
      <xsl:if test="ISBN and normalize-space(ISBN)!=''">
644
           <tr><td class="{$citationfirstColStyle}">
645
            ISBN:</td><td class="{$secondColStyle}">
646
            <xsl:value-of select="ISBN"/></td></tr>
647
      </xsl:if>
648

    
649
      <xsl:if test="ISSN and normalize-space(ISSN)!=''">
650
           <tr><td class="{$citationfirstColStyle}">
651
            ISSN:</td><td class="{$secondColStyle}">
652
            <xsl:value-of select="ISSN"/></td></tr>
653
      </xsl:if>
654
  </xsl:template>
655

    
656
  <xsl:template name="citationaudioVisual">
657
    <xsl:param name="citationfirstColStyle"/>
658
    <xsl:param name="citationsubHeaderStyle"/>
659
    <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>Media Citation:</xsl:text></td></tr>
660
      <tr><td class="{$citationfirstColStyle}">
661
            Publisher:</td><td class="{$secondColStyle}">
662
            &#160;
663
      </td></tr>
664
       <xsl:for-each select="publisher">
665
         <tr><td colspan="2">
666
              <xsl:call-template name="party">
667
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
668
              </xsl:call-template>
669
         </td></tr>
670
      </xsl:for-each>
671

    
672
      <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
673
           <tr><td class="{$citationfirstColStyle}">
674
            Publication Place:</td><td class="{$secondColStyle}">
675
            &#160;</td></tr>
676
            <xsl:for-each select="publicationPlace">
677
                <tr><td class="{$citationfirstColStyle}">
678
                    &#160;</td>
679
                    <td class="{$secondColStyle}">
680
                    <xsl:value-of select="."/>
681
                </td></tr>
682
            </xsl:for-each>
683
      </xsl:if>
684

    
685
      <xsl:if test="performer and normalize-space(performer)!=''">
686
            <tr><td class="{$citationfirstColStyle}">
687
            Performer:</td><td class="{$secondColStyle}">
688
            &#160;</td></tr>
689
            <xsl:for-each select="performer">
690
                <tr><td colspan="2">
691
                   <xsl:call-template name="party">
692
                     <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
693
                   </xsl:call-template>
694
                </td></tr>
695
            </xsl:for-each>
696
      </xsl:if>
697

    
698
      <xsl:if test="ISBN and normalize-space(ISBN)!=''">
699
           <tr><td class="{$citationfirstColStyle}">
700
            ISBN:</td><td class="{$secondColStyle}">
701
            <xsl:value-of select="ISBN"/></td></tr>
702
      </xsl:if>
703
  </xsl:template>
704

    
705
  <xsl:template name="citationpresentation">
706
    <xsl:param name="citationfirstColStyle"/>
707
    <xsl:param name="citationsubHeaderStyle"/>
708
    <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>Presentation:</xsl:text></td></tr>
709
      <xsl:if test="conferenceName and normalize-space(conferenceName)!=''">
710
         <tr><td class="{$citationfirstColStyle}">
711
         Conference Name:</td><td class="{$secondColStyle}">
712
         <xsl:value-of select="conferenceName"/></td></tr>
713
       </xsl:if>
714

    
715
       <xsl:if test="conferenceDate and normalize-space(conferenceDate)!=''">
716
         <tr><td class="{$citationfirstColStyle}">
717
         Date:</td><td class="{$secondColStyle}">
718
         <xsl:value-of select="conferenceDate"/></td></tr>
719
       </xsl:if>
720

    
721
         <tr><td class="{$citationfirstColStyle}">
722
         Location:</td><td class="{$secondColStyle}">
723
         &#160;</td></tr>
724
         <tr><td colspan="2">
725
           <xsl:for-each select="conferenceLocation">
726
            <xsl:call-template name="party">
727
             <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
728
            </xsl:call-template>
729
           </xsl:for-each>
730
          </td>
731
        </tr>
732
  </xsl:template>
733

    
734

    
735
 </xsl:stylesheet>