Project

General

Profile

1 553 tao
<?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$'
10
  *     '$Date$'
11
  * '$Revision$'
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-2.0.0.xsl"/>
35
36
37
    <xsl:output method="html" encoding="iso-8859-1"/>
38
39
    <xsl:template name="citation">
40
      <xsl:param name="citationfirstColStyle"/>
41
      <xsl:param name="citationsubHeaderStyle"/>
42
      <table class="tabledefault" width="100%">
43
        <xsl:choose>
44
         <xsl:when test="references!=''">
45
          <xsl:variable name="ref_id" select="references"/>
46
          <xsl:variable name="references" select="$ids[@id=$ref_id]" />
47
          <xsl:for-each select="$references">
48
            <xsl:call-template name="citationCommon">
49
             <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
50
             <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
51
            </xsl:call-template>
52
          </xsl:for-each>
53
        </xsl:when>
54
        <xsl:otherwise>
55
          <xsl:call-template name="citationCommon">
56
            <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
57
            <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
58
          </xsl:call-template>
59
        </xsl:otherwise>
60
      </xsl:choose>
61
      </table>
62
  </xsl:template>
63
64
  <xsl:template name="citationCommon">
65
    <xsl:param name="citationfirstColStyle"/>
66
    <xsl:param name="citationsubHeaderStyle"/>
67
    <xsl:call-template name="resource">
68
      <xsl:with-param name="resfirstColStyle" select="$citationfirstColStyle"/>
69
      <xsl:with-param name="ressubHeaderStyle" select="$citationsubHeaderStyle"/>
70
      <xsl:with-param name="creator" select="Author(s):"/>
71
    </xsl:call-template>
72
73
    <xsl:for-each select="article">
74
       <xsl:call-template name="citationarticle">
75
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
76
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
77
       </xsl:call-template>
78
    </xsl:for-each>
79
80
    <xsl:for-each select="book">
81
       <xsl:call-template name="citationbook">
82
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
83
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
84
       </xsl:call-template>
85
    </xsl:for-each>
86
87
    <xsl:for-each select="chapter">
88
       <xsl:call-template name="citationchapter">
89
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
90
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
91
       </xsl:call-template>
92
    </xsl:for-each>
93
94
    <xsl:for-each select="editedBook">
95
       <xsl:call-template name="citationeditedBook">
96
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
97
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
98
       </xsl:call-template>
99
    </xsl:for-each>
100
101
    <xsl:for-each select="manuscript">
102
       <xsl:call-template name="citationmanuscript">
103
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
104
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
105
       </xsl:call-template>
106
    </xsl:for-each>
107
108
    <xsl:for-each select="report">
109
       <xsl:call-template name="citationreport">
110
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
111
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
112
       </xsl:call-template>
113
    </xsl:for-each>
114
115
    <xsl:for-each select="thesis">
116
       <xsl:call-template name="citationthesis">
117
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
118
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
119
       </xsl:call-template>
120
    </xsl:for-each>
121
122
    <xsl:for-each select="conferenceProceedings">
123
       <xsl:call-template name="citationconferenceProceedings">
124
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
125
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
126
       </xsl:call-template>
127
    </xsl:for-each>
128
129
    <xsl:for-each select="personalCommunication">
130
       <xsl:call-template name="citationpersonalCommunication">
131
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
132
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
133
       </xsl:call-template>
134
    </xsl:for-each>
135
136
    <xsl:for-each select="map">
137
       <xsl:call-template name="citationmap">
138
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
139
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
140
       </xsl:call-template>
141
    </xsl:for-each>
142
143
    <xsl:for-each select="generic">
144
       <xsl:call-template name="citationgeneric">
145
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
146
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
147
       </xsl:call-template>
148
    </xsl:for-each>
149
150
    <xsl:for-each select="audioVisual">
151
       <xsl:call-template name="citationaudioVisual">
152
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
153
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
154
       </xsl:call-template>
155
    </xsl:for-each>
156
157
    <xsl:for-each select="presentation">
158
       <xsl:call-template name="citationpresentation">
159
          <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
160
          <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
161
       </xsl:call-template>
162
    </xsl:for-each>
163
164
    <tr><td colspan="2">
165
        <xsl:for-each select="access">
166
          <xsl:call-template name="access">
167
            <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
168
            <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
169
         </xsl:call-template>
170
        </xsl:for-each>
171
      </td>
172
   </tr>
173
  </xsl:template>
174
175
176
  <xsl:template name="citationarticle">
177
     <xsl:param name="citationfirstColStyle"/>
178
     <xsl:param name="citationsubHeaderStyle"/>
179
     <xsl:for-each select="article">
180
        <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>ARTICLE:</xsl:text></td></tr>
181
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
182
            Journal:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
183
            <xsl:value-of select="journal"/></td></tr>
184
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
185
            Volume:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
186
            <xsl:value-of select="volume"/></td></tr>
187
        <xsl:if test="issue and normalize-space(issue)!=''">
188
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
189
            Issue:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
190
            <xsl:value-of select="issue"/></td></tr>
191
        </xsl:if>
192
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
193
            Page Range:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
194
            <xsl:value-of select="pageRange"/></td></tr>
195
        <xsl:if test="publisher and normalize-space(publisher)!=''">
196
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
197
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
198
            &#160;</td></tr>
199
           <xsl:for-each select="publisher">
200
            <tr><td colspan="2">
201
              <xsl:call-template name="partry">
202
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
203
                <xsl:with-param name="partysubHeaderStyle" select="$citationsubHeaderStyle"/>
204
              </xsl:call-template>
205
            </td></tr>
206
          </xsl:for-each>
207
        </xsl:if>
208
         <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
209
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
210
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
211
            <xsl:value-of select="publicationPlace"/></td></tr>
212
        </xsl:if>
213
        <xsl:if test="ISSN and normalize-space(ISSN)!=''">
214
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
215
            ISSN:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
216
            <xsl:value-of select="ISSN"/></td></tr>
217
        </xsl:if>
218
    </xsl:for-each>
219
  </xsl:template>
220
221
222
223
  <xsl:template name="citationbook">
224
    <xsl:param name="citationfirstColStyle"/>
225
    <xsl:param name="citationsubHeaderStyle"/>
226
    <xsl:param name="notshow" />
227
    <xsl:for-each select="book">
228
        <xsl:if test="$notshow =''">
229
          <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>BOOK:</xsl:text></td></tr>
230
        </xsl:if>
231
        <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
232
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
233
            &#160;</td></tr>
234
        <xsl:for-each select="publisher">
235
         <tr><td colspan="2">
236
              <xsl:call-template name="partry">
237
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
238
              </xsl:call-template>
239
         </td></tr>
240
        </xsl:for-each>
241
242
        <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
243
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
244
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
245
            <xsl:value-of select="publicationPlace"/></td></tr>
246
        </xsl:if>
247
248
        <xsl:if test="edition and normalize-space(edition)!=''">
249
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
250
            Edition:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
251
            <xsl:value-of select="edition"/></td></tr>
252
        </xsl:if>
253
254
        <xsl:if test="volume and normalize-space(volume)!=''">
255
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
256
            Volume:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
257
            <xsl:value-of select="volume"/></td></tr>
258
        </xsl:if>
259
260
         <xsl:if test="numberOfVolumes and normalize-space(numberOfVolumes)!=''">
261
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
262
            Number of Volumes:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
263
            <xsl:value-of select="numberOfVolumes"/></td></tr>
264
        </xsl:if>
265
266
        <xsl:if test="totalPages and normalize-space(totalPages)!=''">
267
           <tr><td width="{$firstColWidth}" class="{$citaionfirstColStyle}">
268
            Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
269
            <xsl:value-of select="totalPages"/></td></tr>
270
        </xsl:if>
271
272
        <xsl:if test="totalFigures and normalize-space(totalFigures)!=''">
273
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
274
            Total Figures:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
275
            <xsl:value-of select="totalFigures"/></td></tr>
276
        </xsl:if>
277
278
        <xsl:if test="totalTables and normalize-space(totalTables)!=''">
279
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
280
            Total Tables:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
281
            <xsl:value-of select="totalTables"/></td></tr>
282
        </xsl:if>
283
284
        <xsl:if test="ISBN and normalize-space(ISBN)!=''">
285
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
286
            ISBN:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
287
            <xsl:value-of select="ISBN"/></td></tr>
288
        </xsl:if>
289
     </xsl:for-each>
290
   </xsl:template>
291
292
293
294
   <xsl:template name="citationchapter">
295
      <xsl:param name="citationfirstColStyle"/>
296
      <xsl:param name="citationsubHeaderStyle"/>
297
      <xsl:for-each select="chapter">
298
        <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>CHAPTER:</xsl:text></td></tr>
299
        <xsl:if test="chapterNumber and normalize-space(chapterNumber)!=''">
300
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
301
            Chapter Number:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
302
            <xsl:value-of select="chapterNumber"/></td></tr>
303
        </xsl:if>
304
305
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
306
        Book Editor:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
307
        &#160;</td></tr>
308
        <xsl:for-each select="editor">
309
          <tr><td colspan="2">
310
            <xsl:call-template name="party">
311
              <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
312
            </xsl:call-template>
313
          </td></tr>
314
        </xsl:for-each>
315
316
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
317
        Book Title:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
318
        <xsl:value-of select="bookTitle"/></td></tr>
319
320
        <xsl:if test="pageRange and normalize-space(pageRange)!=''">
321
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
322
            Page Range:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
323
            <xsl:value-of select="pageRange"/></td></tr>
324
        </xsl:if>
325
326
        <xsl:call-template name="citationbook">
327
          <xsl:with-param name="notshow" select="yes"/>
328
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
329
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
330
        </xsl:call-template>
331
      </xsl:for-each>
332
   </xsl:template>
333
334
335
336
   <xsl:template name="citationeditedBook">
337
      <xsl:param name="citationfirstColStyle"/>
338
      <xsl:param name="citationsubHeaderStyle"/>
339
      <xsl:for-each select="editedBook">
340
        <xsl:call-template name="citationbook">
341
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
342
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
343
        </xsl:call-template>
344
      </xsl:for-each>
345
   </xsl:template>
346
347
348
349
   <xsl:template name="citationmanuscript">
350
     <xsl:param name="citationfirstColStyle"/>
351
     <xsl:param name="citationsubHeaderStyle"/>
352
     <xsl:for-each select="manuscript">
353
       <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>MANUSCRIPT:</xsl:text></td></tr>
354
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
355
            Institution:
356
            </td>
357
            <td width="{$secondColWidth}" class="{$secondColStyle}">
358
              &#160;
359
            </td>
360
       </tr>
361
       <xsl:for-each select="institution">
362
        <tr><td colspan="2">
363
              <xsl:call-template name="party">
364
                <xsl:with-para name="partyfirstColStyle" select="$citationfirstColStyle"/>
365
              </xsl:call-template>
366
           </td>
367
        </tr>
368
       </xsl:for-each>
369
370
       <xsl:if test="totalPages and normalize-space(totalPages)!=''">
371
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
372
            Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
373
            <xsl:value-of select="totalPages"/></td></tr>
374
       </xsl:if>
375
     </xsl:for-each>
376
   </xsl:template>
377
378
379
380
   <xsl:template name="citationreport">
381
     <xsl:param name="citationfirstColStyle"/>
382
     <xsl:param name="citationsubHeaderStyle"/>
383
     <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>REPORT:</xsl:text></td></tr>
384
     <xsl:for-each select="report">
385
386
       <xsl:if test="reportNumber and normalize-space(reportNumber)!=''">
387
          <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
388
            Report Number:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
389
          <xsl:value-of select="reportNumber"/></td></tr>
390
       </xsl:if>
391
392
       <xsl:if test="publisher and normalize-space(publisher)!=''">
393
          <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
394
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
395
            &#160;</td></tr>
396
          <xsl:for-each select="publisher">
397
           <tr><td colspan="2">
398
              <xsl:call-template name="partry">
399
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
400
401
              </xsl:call-template>
402
           </td></tr>
403
          </xsl:for-each>
404
       </xsl:if>
405
406
       <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
407
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
408
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
409
            <xsl:value-of select="publicationPlace"/></td></tr>
410
       </xsl:if>
411
412
       <xsl:if test="totalPages and normalize-space(totalPages)!=''">
413
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
414
            Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
415
            <xsl:value-of select="totalPages"/></td></tr>
416
       </xsl:if>
417
418
     </xsl:for-each>
419
   </xsl:template>
420
421
422
   <xsl:template name="citationthesis">
423
     <xsl:param name="citationfirstColStyle"/>
424
     <xsl:param name="citationsubHeaderStyle"/>
425
     <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>THESIS:</xsl:text></td></tr>
426
     <xsl:for-each select="thesis">
427
        <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
428
        Degree:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
429
        <xsl:value-of select="degree"/></td></tr>
430
431
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
432
        Degree Institution:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
433
        &#160;</td></tr>
434
        <xsl:for-each select="institution">
435
          <tr><td colspan="2">
436
              <xsl:call-template name="partry">
437
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
438
                <xsl:with-param name="partysubHeaderStyle" select="$citationsubHeaderStyle"/>
439
              </xsl:call-template>
440
          </td></tr>
441
        </xsl:for-each>
442
443
       <xsl:if test="totalPages and normalize-space(totalPages)!=''">
444
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
445
         Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
446
         <xsl:value-of select="totalPages"/></td></tr>
447
       </xsl:if>
448
     </xsl:for-each>
449
   </xsl:template>
450
451
   <xsl:template name="citationconferenceProceedings">
452
     <xsl:param name="citationfirstColStyle"/>
453
     <xsl:param name="citationsubHeaderStyle"/>
454
     <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>CONFERENCE PROCEEDINGS:</xsl:text></td></tr>
455
     <xsl:for-each select="conferenceProceedings">
456
       <xsl:if test="conferenceName and normalize-space(conferenceName)!=''">
457
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
458
         Conference Name:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
459
         <xsl:value-of select="conferenceName"/></td></tr>
460
       </xsl:if>
461
462
       <xsl:if test="conferenceDate and normalize-space(conferenceDate)!=''">
463
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
464
         Date:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
465
         <xsl:value-of select="conferenceDate"/></td></tr>
466
       </xsl:if>
467
468
       <xsl:if test="conferenceLocation and normalize-space(conferenceLocation)!=''">
469
        <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
470
         Location:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
471
         &#160;</td></tr>
472
         <tr><td colspan="2">
473
           <xsl:for-each select="conferenceLocation">
474
            <xsl:call-template name="party">
475
             <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
476
            </xsl:call-template>
477
           </xsl:for-each>
478
          </td>
479
        </tr>
480
       </xsl:if>
481
482
       <xsl:call-template name="citationchapter">
483
          <xsl:with-param name="notshow" select="yes"/>
484
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
485
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
486
       </xsl:call-template>
487
     </xsl:for-each>
488
   </xsl:template>
489
490
  <xsl:template name="citationpersonalCommunication">
491
    <xsl:param name="citationfirstColStyle"/>
492
    <xsl:param name="citationsubHeaderStyle"/>
493
    <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>PERSONAL COMMUNICATION:</xsl:text></td></tr>
494
     <xsl:for-each select="personalCommunication">
495
      <xsl:if test="publisher and normalize-space(publisher)!=''">
496
          <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
497
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
498
            &#160;</td></tr>
499
          <xsl:for-each select="publisher">
500
           <tr><td colspan="2">
501
              <xsl:call-template name="partry">
502
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
503
               </xsl:call-template>
504
           </td></tr>
505
          </xsl:for-each>
506
       </xsl:if>
507
508
509
       <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
510
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
511
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
512
            <xsl:value-of select="publicationPlace"/></td></tr>
513
       </xsl:if>
514
515
       <xsl:if test="communicationType and normalize-space(communicationType)!=''">
516
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
517
            Communication Type:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
518
            <xsl:value-of select="communicationType"/></td></tr>
519
       </xsl:if>
520
521
      <xsl:if test="recipient and normalize-space(recipient)!=''">
522
          <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
523
            Recipient:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
524
            &#160;</td></tr>
525
          <xsl:for-each select="recipient">
526
           <tr><td colspan="2">
527
              <xsl:call-template name="partry">
528
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
529
              </xsl:call-template>
530
           </td></tr>
531
          </xsl:for-each>
532
      </xsl:if>
533
    </xsl:for-each>
534
  </xsl:template>
535
536
537
  <xsl:template name="citationmap">
538
    <xsl:param name="citationfirstColStyle"/>
539
    <xsl:param name="citationsubHeaderStyle"/>
540
    <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>MAP:</xsl:text></td></tr>
541
     <xsl:for-each select="map">
542
      <xsl:if test="publisher and normalize-space(publisher)!=''">
543
          <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
544
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
545
            &#160;</td></tr>
546
          <xsl:for-each select="publisher">
547
           <tr><td colspan="2">
548
              <xsl:call-template name="partry">
549
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
550
               </xsl:call-template>
551
           </td></tr>
552
          </xsl:for-each>
553
       </xsl:if>
554
555
       <xsl:if test="edition and normalize-space(edition)!=''">
556
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
557
            Edition:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
558
            <xsl:value-of select="edition"/></td></tr>
559
       </xsl:if>
560
561
       <xsl:if test="geographicCoverage and normalize-space(geographicCoverage)!=''">
562
          <xsl:for-each select="geographicCoverage">
563
            <xsl:call-template name="geographicCoverage">
564
            </xsl:call-template>
565
          </xsl:for-each>
566
       </xsl:if>
567
568
       <xsl:if test="scale and normalize-space(scale)!=''">
569
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
570
            Scale:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
571
            <xsl:value-of select="scale"/></td></tr>
572
       </xsl:if>
573
574
     </xsl:for-each>
575
  </xsl:template>
576
577
578
  <xsl:template name="citationgeneric">
579
    <xsl:param name="citationfirstColStyle"/>
580
    <xsl:param name="citationsubHeaderStyle"/>
581
    <tr class="{$ciationsubHeaderStyle}"><td colspan="2"><xsl:text>Generic Citation:</xsl:text></td></tr>
582
    <xsl:for-each select="generic">
583
      <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
584
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
585
            &#160;
586
      </td></tr>
587
      <xsl:for-each select="publisher">
588
         <tr><td colspan="2">
589
              <xsl:call-template name="partry">
590
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
591
              </xsl:call-template>
592
         </td></tr>
593
      </xsl:for-each>
594
595
      <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
596
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
597
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
598
            <xsl:value-of select="publicationPlace"/></td></tr>
599
      </xsl:if>
600
601
      <xsl:if test="referenceType and normalize-space(referenceType)!=''">
602
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
603
            Reference Type:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
604
            <xsl:value-of select="referenceType"/></td></tr>
605
      </xsl:if>
606
607
      <xsl:if test="volume and normalize-space(volume)!=''">
608
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
609
            Volume:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
610
            <xsl:value-of select="volume"/></td></tr>
611
      </xsl:if>
612
613
      <xsl:if test="numberOfVolumes and normalize-space(numberOfVolumes)!=''">
614
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
615
            Number of Volumes:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
616
            <xsl:value-of select="numberOfVolumes"/></td></tr>
617
      </xsl:if>
618
619
      <xsl:if test="totalPages and normalize-space(totalPages)!=''">
620
           <tr><td width="{$firstColWidth}" class="{$citaionfirstColStyle}">
621
            Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
622
            <xsl:value-of select="totalPages"/></td></tr>
623
      </xsl:if>
624
625
      <xsl:if test="totalFigures and normalize-space(totalFigures)!=''">
626
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
627
            Total Figures:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
628
            <xsl:value-of select="totalFigures"/></td></tr>
629
      </xsl:if>
630
631
      <xsl:if test="totalTables and normalize-space(totalTables)!=''">
632
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
633
            Total Tables:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
634
            <xsl:value-of select="totalTables"/></td></tr>
635
      </xsl:if>
636
637
      <xsl:if test="edition and normalize-space(edition)!=''">
638
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
639
            Edition:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
640
            <xsl:value-of select="edition"/></td></tr>
641
      </xsl:if>
642
643
      <xsl:if test="originalPublication and normalize-space(originalPublication)!=''">
644
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
645
            Supplemental Info for Original Publication:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
646
            <xsl:value-of select="originalPublication"/></td></tr>
647
      </xsl:if>
648
649
      <xsl:if test="reprintEdition and normalize-space(reprintEdition)!=''">
650
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
651
            Reprint Edition:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
652
            <xsl:value-of select="reprintEdition"/></td></tr>
653
      </xsl:if>
654
655
      <xsl:if test="reviewedItem and normalize-space(reviewedItem)!=''">
656
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
657
            Review Item:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
658
            <xsl:value-of select="reviewedItem"/></td></tr>
659
      </xsl:if>
660
661
      <xsl:if test="ISBN and normalize-space(ISBN)!=''">
662
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
663
            ISBN:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
664
            <xsl:value-of select="ISBN"/></td></tr>
665
      </xsl:if>
666
667
      <xsl:if test="ISSN and normalize-space(ISSN)!=''">
668
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
669
            ISSN:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
670
            <xsl:value-of select="ISSN"/></td></tr>
671
      </xsl:if>
672
    </xsl:for-each>
673
  </xsl:template>
674
675
  <xsl:template name="citationaudioVisual">
676
    <xsl:param name="citationfirstColStyle"/>
677
    <xsl:param name="citationsubHeaderStyle"/>
678
    <tr class="{$ciationsubHeaderStyle}"><td colspan="2"><xsl:text>Media Citation:</xsl:text></td></tr>
679
    <xsl:for-each select="audioVisual">
680
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
681
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
682
            &#160;
683
      </td></tr>
684
       <xsl:for-each select="publisher">
685
         <tr><td colspan="2">
686
              <xsl:call-template name="partry">
687
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
688
              </xsl:call-template>
689
         </td></tr>
690
      </xsl:for-each>
691
692
      <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
693
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
694
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
695
            &#160;</td></tr>
696
            <xsl:for-each select="publicationPlace">
697
                <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
698
                    &#160;</td>
699
                    <td width="{$secondColWidth}" class="{$secondColStyle}">
700
                    <xsl:value-of select="."/>
701
                </td></tr>
702
            </xsl:for-each>
703
      </xsl:if>
704
705
      <xsl:if test="performer and normalize-space(performer)!=''">
706
            <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
707
            Performer:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
708
            &#160;</td></tr>
709
            <xsl:for-each select="performer">
710
                <tr><td colspan="2">
711
                   <xsl:call-template name="partry">
712
                     <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
713
                   </xsl:call-template>
714
                </td></tr>
715
            </xsl:for-each>
716
      </xsl:if>
717
718
      <xsl:if test="ISBN and normalize-space(ISBN)!=''">
719
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
720
            ISBN:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
721
            <xsl:value-of select="ISBN"/></td></tr>
722
      </xsl:if>
723
    </xsl:for-each>
724
  </xsl:template>
725
726
  <xsl:template name="citationpresentation">
727
    <xsl:param name="citationfirstColStyle"/>
728
    <xsl:param name="citationsubHeaderStyle"/>
729
    <tr class="{$ciationsubHeaderStyle}"><td colspan="2"><xsl:text>Presentation:</xsl:text></td></tr>
730
    <xsl:for-each select="presentation">
731
       <xsl:if test="conferenceName and normalize-space(conferenceName)!=''">
732
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
733
         Conference Name:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
734
         <xsl:value-of select="conferenceName"/></td></tr>
735
       </xsl:if>
736
737
       <xsl:if test="conferenceDate and normalize-space(conferenceDate)!=''">
738
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
739
         Date:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
740
         <xsl:value-of select="conferenceDate"/></td></tr>
741
       </xsl:if>
742
743
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
744
         Location:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
745
         &#160;</td></tr>
746
         <tr><td colspan="2">
747
           <xsl:for-each select="conferenceLocation">
748
            <xsl:call-template name="party">
749
             <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
750
            </xsl:call-template>
751
           </xsl:for-each>
752
          </td>
753
        </tr>
754
     </xsl:for-each>
755
  </xsl:template>
756
757
758
 </xsl:stylesheet>