Project

General

Profile

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: tao $'
10
  *     '$Date: 2003-06-26 18:29:36 -0700 (Thu, 26 Jun 2003) $'
11
  * '$Revision: 1696 $'
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
    <xsl:output method="html" encoding="iso-8859-1"/>
36
    
37
    <xsl:template name="citation">
38
      <xsl:param name="citationfirstColStyle"/>
39
      <xsl:param name="citationsubHeaderStyle"/>
40
      <table xsl:use-attribute-sets="cellspacing" class="tabledefault" width="100%">
41
        <xsl:choose>
42
         <xsl:when test="references!=''">
43
          <xsl:variable name="ref_id" select="references"/>
44
          <xsl:variable name="references" select="$ids[@id=$ref_id]" />
45
          <xsl:for-each select="$references">
46
            <xsl:call-template name="citationCommon">
47
             <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
48
             <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
49
            </xsl:call-template>
50
          </xsl:for-each>
51
        </xsl:when>
52
        <xsl:otherwise>
53
          <xsl:call-template name="citationCommon">
54
            <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
55
            <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
56
          </xsl:call-template>
57
        </xsl:otherwise>
58
      </xsl:choose>
59
      </table>
60
  </xsl:template>
61

    
62
  <xsl:template name="citationCommon">
63
    <xsl:param name="citationfirstColStyle"/>
64
    <xsl:param name="citationsubHeaderStyle"/>
65
    <tr><td colspan="2">
66
        <xsl:call-template name="resource">
67
          <xsl:with-param name="resfirstColStyle" select="$citationfirstColStyle"/>
68
          <xsl:with-param name="ressubHeaderStyle" select="$citationsubHeaderStyle"/>
69
          <xsl:with-param name="creator">Author(s):</xsl:with-param>
70
        </xsl:call-template>
71
       </td>
72
    </tr>
73
    
74
    <xsl:for-each select="article">
75
       <xsl:call-template name="citationarticle">
76
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
77
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
78
       </xsl:call-template>
79
    </xsl:for-each>
80
    
81
    <xsl:for-each select="book">
82
       <xsl:call-template name="citationbook">
83
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
84
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
85
       </xsl:call-template>
86
    </xsl:for-each>
87
    
88
    <xsl:for-each select="chapter">
89
       <xsl:call-template name="citationchapter">
90
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
91
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
92
       </xsl:call-template>
93
    </xsl:for-each>
94
    
95
    <xsl:for-each select="editedBook">
96
       <xsl:call-template name="citationeditedBook">
97
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
98
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
99
       </xsl:call-template>
100
    </xsl:for-each>
101
    
102
    <xsl:for-each select="manuscript">
103
       <xsl:call-template name="citationmanuscript">
104
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
105
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
106
       </xsl:call-template>
107
    </xsl:for-each>
108
    
109
    <xsl:for-each select="report">
110
       <xsl:call-template name="citationreport">
111
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
112
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
113
       </xsl:call-template>
114
    </xsl:for-each>
115
    
116
    <xsl:for-each select="thesis">
117
       <xsl:call-template name="citationthesis">
118
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
119
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
120
       </xsl:call-template>
121
    </xsl:for-each>
122
    
123
    <xsl:for-each select="conferenceProceedings">
124
       <xsl:call-template name="citationconferenceProceedings">
125
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
126
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
127
       </xsl:call-template>
128
    </xsl:for-each>
129
    
130
    <xsl:for-each select="personalCommunication">
131
       <xsl:call-template name="citationpersonalCommunication">
132
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
133
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
134
       </xsl:call-template>
135
    </xsl:for-each>
136
    
137
    <xsl:for-each select="map">
138
       <xsl:call-template name="citationmap">
139
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
140
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
141
       </xsl:call-template>
142
    </xsl:for-each>
143
    
144
    <xsl:for-each select="generic">
145
       <xsl:call-template name="citationgeneric">
146
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
147
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
148
       </xsl:call-template>
149
    </xsl:for-each>
150
    
151
    <xsl:for-each select="audioVisual">
152
       <xsl:call-template name="citationaudioVisual">
153
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
154
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
155
       </xsl:call-template>
156
    </xsl:for-each>
157
    
158
    <xsl:for-each select="presentation">
159
       <xsl:call-template name="citationpresentation">
160
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
161
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
162
       </xsl:call-template>
163
    </xsl:for-each>
164
    
165
    <tr><td colspan="2">
166
        <xsl:for-each select="access">
167
          <xsl:call-template name="access">
168
            <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
169
            <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
170
         </xsl:call-template>
171
        </xsl:for-each>
172
      </td>
173
   </tr>
174
  </xsl:template>
175

    
176

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

    
222
  
223
  
224
  <xsl:template name="citationbook">
225
    <xsl:param name="citationfirstColStyle"/>
226
    <xsl:param name="citationsubHeaderStyle"/>
227
    <xsl:param name="notshow" />
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="{$citationfirstColStyle}">
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
    
290
   </xsl:template>
291

    
292
   
293
   
294
   <xsl:template name="citationchapter">
295
      <xsl:param name="citationfirstColStyle"/>
296
      <xsl:param name="citationsubHeaderStyle"/>
297
       <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>CHAPTER:</xsl:text></td></tr>
298
        <xsl:if test="chapterNumber and normalize-space(chapterNumber)!=''">
299
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
300
            Chapter Number:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
301
            <xsl:value-of select="chapterNumber"/></td></tr>
302
        </xsl:if>
303
        
304
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
305
        Book Editor:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
306
        &#160;</td></tr>
307
        <xsl:for-each select="editor">
308
          <tr><td colspan="2">
309
            <xsl:call-template name="party">
310
              <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
311
            </xsl:call-template>
312
          </td></tr>
313
        </xsl:for-each>
314
        
315
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
316
        Book Title:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
317
        <xsl:value-of select="bookTitle"/></td></tr>
318

    
319
        <xsl:if test="pageRange and normalize-space(pageRange)!=''">
320
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
321
            Page Range:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
322
            <xsl:value-of select="pageRange"/></td></tr>
323
        </xsl:if>
324
        
325
        <xsl:call-template name="citationbook">
326
          <xsl:with-param name="notshow" select="yes"/>
327
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
328
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
329
        </xsl:call-template>
330
   </xsl:template>
331

    
332
   
333
   
334
   <xsl:template name="citationeditedBook">
335
      <xsl:param name="citationfirstColStyle"/>
336
      <xsl:param name="citationsubHeaderStyle"/>
337
       <xsl:call-template name="citationbook">
338
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
339
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
340
        </xsl:call-template>
341
   </xsl:template>
342
   
343
   
344
   
345
   <xsl:template name="citationmanuscript">
346
     <xsl:param name="citationfirstColStyle"/>
347
     <xsl:param name="citationsubHeaderStyle"/>
348
       <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>MANUSCRIPT:</xsl:text></td></tr>
349
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
350
            Institution:
351
            </td>
352
            <td width="{$secondColWidth}" class="{$secondColStyle}">
353
              &#160;
354
            </td>
355
       </tr>
356
       <xsl:for-each select="institution">
357
        <tr><td colspan="2">
358
              <xsl:call-template name="party">
359
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
360
              </xsl:call-template>
361
           </td>
362
        </tr>
363
       </xsl:for-each>
364
       
365
       <xsl:if test="totalPages and normalize-space(totalPages)!=''">
366
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
367
            Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
368
            <xsl:value-of select="totalPages"/></td></tr>
369
       </xsl:if>
370
   </xsl:template>
371
   
372
   
373
   
374
   <xsl:template name="citationreport">
375
     <xsl:param name="citationfirstColStyle"/>
376
     <xsl:param name="citationsubHeaderStyle"/>
377
     <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>REPORT:</xsl:text></td></tr>
378
       <xsl:if test="reportNumber and normalize-space(reportNumber)!=''">
379
          <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
380
            Report Number:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
381
          <xsl:value-of select="reportNumber"/></td></tr>
382
       </xsl:if>
383
       
384
       <xsl:if test="publisher and normalize-space(publisher)!=''">
385
          <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
386
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
387
            &#160;</td></tr>
388
          <xsl:for-each select="publisher">
389
           <tr><td colspan="2">
390
              <xsl:call-template name="partry">
391
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
392
                
393
              </xsl:call-template>
394
           </td></tr>
395
          </xsl:for-each>
396
       </xsl:if>
397
       
398
       <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
399
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
400
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
401
            <xsl:value-of select="publicationPlace"/></td></tr>
402
       </xsl:if>
403
       
404
       <xsl:if test="totalPages and normalize-space(totalPages)!=''">
405
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
406
            Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
407
            <xsl:value-of select="totalPages"/></td></tr>
408
       </xsl:if>
409
   </xsl:template>
410

    
411
   
412
   <xsl:template name="citationthesis">
413
     <xsl:param name="citationfirstColStyle"/>
414
     <xsl:param name="citationsubHeaderStyle"/>
415
     <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>THESIS:</xsl:text></td></tr>
416
        <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
417
        Degree:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
418
        <xsl:value-of select="degree"/></td></tr>
419
        
420
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
421
        Degree Institution:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
422
        &#160;</td></tr>
423
        <xsl:for-each select="institution">
424
          <tr><td colspan="2">
425
              <xsl:call-template name="partry">
426
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
427
                <xsl:with-param name="partysubHeaderStyle" select="$citationsubHeaderStyle"/>
428
              </xsl:call-template>
429
          </td></tr>
430
        </xsl:for-each>
431
       
432
       <xsl:if test="totalPages and normalize-space(totalPages)!=''">
433
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
434
         Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
435
         <xsl:value-of select="totalPages"/></td></tr>
436
       </xsl:if>
437
   </xsl:template>
438
   
439
   <xsl:template name="citationconferenceProceedings">
440
     <xsl:param name="citationfirstColStyle"/>
441
     <xsl:param name="citationsubHeaderStyle"/>
442
     <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>CONFERENCE PROCEEDINGS:</xsl:text></td></tr>
443
      <xsl:if test="conferenceName and normalize-space(conferenceName)!=''">
444
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
445
         Conference Name:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
446
         <xsl:value-of select="conferenceName"/></td></tr>
447
       </xsl:if>
448
       
449
       <xsl:if test="conferenceDate and normalize-space(conferenceDate)!=''">
450
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
451
         Date:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
452
         <xsl:value-of select="conferenceDate"/></td></tr>
453
       </xsl:if>
454
       
455
       <xsl:if test="conferenceLocation and normalize-space(conferenceLocation)!=''">
456
        <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
457
         Location:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
458
         &#160;</td></tr>
459
         <tr><td colspan="2">
460
           <xsl:for-each select="conferenceLocation">
461
            <xsl:call-template name="party">
462
             <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
463
            </xsl:call-template>
464
           </xsl:for-each>
465
          </td>
466
        </tr>
467
       </xsl:if>
468
       
469
       <xsl:call-template name="citationchapter">
470
          <xsl:with-param name="notshow" select="yes"/>
471
          <xsl:with-param name="citationfirstColStyle" select="$citationfirstColStyle"/>
472
          <xsl:with-param name="citationsubHeaderStyle" select="$citationsubHeaderStyle"/>
473
       </xsl:call-template>
474
  </xsl:template>
475

    
476
  <xsl:template name="citationpersonalCommunication">
477
    <xsl:param name="citationfirstColStyle"/>
478
    <xsl:param name="citationsubHeaderStyle"/>
479
    <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>PERSONAL COMMUNICATION:</xsl:text></td></tr>
480
     <xsl:if test="publisher and normalize-space(publisher)!=''">
481
          <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
482
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
483
            &#160;</td></tr>
484
          <xsl:for-each select="publisher">
485
           <tr><td colspan="2">
486
              <xsl:call-template name="partry">
487
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
488
               </xsl:call-template>
489
           </td></tr>
490
          </xsl:for-each>
491
       </xsl:if>
492
       
493
       
494
       <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
495
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
496
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
497
            <xsl:value-of select="publicationPlace"/></td></tr>
498
       </xsl:if>
499
       
500
       <xsl:if test="communicationType and normalize-space(communicationType)!=''">
501
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
502
            Communication Type:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
503
            <xsl:value-of select="communicationType"/></td></tr>
504
       </xsl:if>
505
       
506
      <xsl:if test="recipient and normalize-space(recipient)!=''">
507
          <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
508
            Recipient:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
509
            &#160;</td></tr>
510
          <xsl:for-each select="recipient">
511
           <tr><td colspan="2">
512
              <xsl:call-template name="partry">
513
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
514
              </xsl:call-template>
515
           </td></tr>
516
          </xsl:for-each>
517
      </xsl:if>
518
  </xsl:template>
519
  
520
  
521
  <xsl:template name="citationmap">
522
    <xsl:param name="citationfirstColStyle"/>
523
    <xsl:param name="citationsubHeaderStyle"/>
524
    <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>MAP:</xsl:text></td></tr>
525
      <xsl:if test="publisher and normalize-space(publisher)!=''">
526
          <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
527
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
528
            &#160;</td></tr>
529
          <xsl:for-each select="publisher">
530
           <tr><td colspan="2">
531
              <xsl:call-template name="partry">
532
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
533
               </xsl:call-template>
534
           </td></tr>
535
          </xsl:for-each>
536
       </xsl:if>
537
       
538
       <xsl:if test="edition and normalize-space(edition)!=''">
539
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
540
            Edition:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
541
            <xsl:value-of select="edition"/></td></tr>
542
       </xsl:if>
543
       
544
       <xsl:if test="geographicCoverage and normalize-space(geographicCoverage)!=''">
545
          <xsl:for-each select="geographicCoverage">
546
            <xsl:call-template name="geographicCoverage">
547
            </xsl:call-template>
548
          </xsl:for-each>
549
       </xsl:if>
550

    
551
       <xsl:if test="scale and normalize-space(scale)!=''">
552
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
553
            Scale:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
554
            <xsl:value-of select="scale"/></td></tr>
555
       </xsl:if>
556
 </xsl:template>
557
  
558
  
559
  <xsl:template name="citationgeneric">
560
    <xsl:param name="citationfirstColStyle"/>
561
    <xsl:param name="citationsubHeaderStyle"/>
562
    <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>Generic Citation:</xsl:text></td></tr>
563
    <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
564
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
565
            &#160;
566
      </td></tr>
567
      <xsl:for-each select="publisher">
568
         <tr><td colspan="2">
569
              <xsl:call-template name="partry">
570
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
571
              </xsl:call-template>
572
         </td></tr>
573
      </xsl:for-each>
574
      
575
      <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
576
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
577
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
578
            <xsl:value-of select="publicationPlace"/></td></tr>
579
      </xsl:if>
580
      
581
      <xsl:if test="referenceType and normalize-space(referenceType)!=''">
582
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
583
            Reference Type:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
584
            <xsl:value-of select="referenceType"/></td></tr>
585
      </xsl:if>
586
  
587
      <xsl:if test="volume and normalize-space(volume)!=''">
588
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
589
            Volume:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
590
            <xsl:value-of select="volume"/></td></tr>
591
      </xsl:if>
592
        
593
      <xsl:if test="numberOfVolumes and normalize-space(numberOfVolumes)!=''">
594
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
595
            Number of Volumes:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
596
            <xsl:value-of select="numberOfVolumes"/></td></tr>
597
      </xsl:if>
598
        
599
      <xsl:if test="totalPages and normalize-space(totalPages)!=''">
600
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
601
            Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
602
            <xsl:value-of select="totalPages"/></td></tr>
603
      </xsl:if>
604
        
605
      <xsl:if test="totalFigures and normalize-space(totalFigures)!=''">
606
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
607
            Total Figures:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
608
            <xsl:value-of select="totalFigures"/></td></tr>
609
      </xsl:if>
610
        
611
      <xsl:if test="totalTables and normalize-space(totalTables)!=''">
612
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
613
            Total Tables:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
614
            <xsl:value-of select="totalTables"/></td></tr>
615
      </xsl:if>
616
      
617
      <xsl:if test="edition and normalize-space(edition)!=''">
618
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
619
            Edition:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
620
            <xsl:value-of select="edition"/></td></tr>
621
      </xsl:if>
622
      
623
      <xsl:if test="originalPublication and normalize-space(originalPublication)!=''">
624
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
625
            Supplemental Info for Original Publication:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
626
            <xsl:value-of select="originalPublication"/></td></tr>
627
      </xsl:if>
628
      
629
      <xsl:if test="reprintEdition and normalize-space(reprintEdition)!=''">
630
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
631
            Reprint Edition:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
632
            <xsl:value-of select="reprintEdition"/></td></tr>
633
      </xsl:if>
634
      
635
      <xsl:if test="reviewedItem and normalize-space(reviewedItem)!=''">
636
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
637
            Review Item:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
638
            <xsl:value-of select="reviewedItem"/></td></tr>
639
      </xsl:if>
640
        
641
      <xsl:if test="ISBN and normalize-space(ISBN)!=''">
642
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
643
            ISBN:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
644
            <xsl:value-of select="ISBN"/></td></tr>
645
      </xsl:if>
646
      
647
      <xsl:if test="ISSN and normalize-space(ISSN)!=''">
648
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
649
            ISSN:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
650
            <xsl:value-of select="ISSN"/></td></tr>
651
      </xsl:if>
652
  </xsl:template>
653
  
654
  <xsl:template name="citationaudioVisual">
655
    <xsl:param name="citationfirstColStyle"/>
656
    <xsl:param name="citationsubHeaderStyle"/>
657
    <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>Media Citation:</xsl:text></td></tr>
658
      <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
659
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
660
            &#160;
661
      </td></tr>
662
       <xsl:for-each select="publisher">
663
         <tr><td colspan="2">
664
              <xsl:call-template name="partry">
665
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
666
              </xsl:call-template>
667
         </td></tr>
668
      </xsl:for-each>
669
      
670
      <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
671
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
672
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
673
            &#160;</td></tr>
674
            <xsl:for-each select="publicationPlace">
675
                <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
676
                    &#160;</td>
677
                    <td width="{$secondColWidth}" class="{$secondColStyle}">
678
                    <xsl:value-of select="."/>
679
                </td></tr>
680
            </xsl:for-each>
681
      </xsl:if>
682
      
683
      <xsl:if test="performer and normalize-space(performer)!=''">
684
            <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
685
            Performer:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
686
            &#160;</td></tr>
687
            <xsl:for-each select="performer">
688
                <tr><td colspan="2">
689
                   <xsl:call-template name="partry">
690
                     <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
691
                   </xsl:call-template>
692
                </td></tr>
693
            </xsl:for-each>
694
      </xsl:if>
695
      
696
      <xsl:if test="ISBN and normalize-space(ISBN)!=''">
697
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
698
            ISBN:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
699
            <xsl:value-of select="ISBN"/></td></tr>
700
      </xsl:if>
701
  </xsl:template>
702
  
703
  <xsl:template name="citationpresentation">
704
    <xsl:param name="citationfirstColStyle"/>
705
    <xsl:param name="citationsubHeaderStyle"/>
706
    <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>Presentation:</xsl:text></td></tr>
707
      <xsl:if test="conferenceName and normalize-space(conferenceName)!=''">
708
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
709
         Conference Name:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
710
         <xsl:value-of select="conferenceName"/></td></tr>
711
       </xsl:if>
712
       
713
       <xsl:if test="conferenceDate and normalize-space(conferenceDate)!=''">
714
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
715
         Date:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
716
         <xsl:value-of select="conferenceDate"/></td></tr>
717
       </xsl:if>
718
       
719
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
720
         Location:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
721
         &#160;</td></tr>
722
         <tr><td colspan="2">
723
           <xsl:for-each select="conferenceLocation">
724
            <xsl:call-template name="party">
725
             <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
726
            </xsl:call-template>
727
           </xsl:for-each>
728
          </td>
729
        </tr>
730
  </xsl:template>
731
  
732

    
733
 </xsl:stylesheet>
(16-16/34)