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-30 13:23:17 -0700 (Mon, 30 Jun 2003) $'
11
  * '$Revision: 1702 $'
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
    <xsl:if test="access and normalize-space(access)!=''">
166
      <tr><td colspan="2">
167
        <xsl:for-each select="access">
168
          <xsl:call-template name="access">
169
            <xsl:with-param name="accessfirstColStyle" select="$citationfirstColStyle"/>
170
            <xsl:with-param name="accesssubHeaderStyle" select="$citationsubHeaderStyle"/>
171
         </xsl:call-template>
172
        </xsl:for-each>
173
      </td>
174
     </tr>
175
   </xsl:if>
176
  </xsl:template>
177

    
178

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

    
224
  
225
  
226
  <xsl:template name="citationbook">
227
    <xsl:param name="citationfirstColStyle"/>
228
    <xsl:param name="citationsubHeaderStyle"/>
229
    <xsl:param name="notshow" />
230
       <xsl:if test="$notshow =''">
231
          <tr><td colspan="2" class="{$citationsubHeaderStyle}"><xsl:text>BOOK:</xsl:text></td></tr>
232
        </xsl:if>
233
        <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
234
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
235
            &#160;</td></tr>
236
        <xsl:for-each select="publisher">
237
         <tr><td colspan="2">
238
              <xsl:call-template name="party">
239
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
240
              </xsl:call-template>
241
         </td></tr>
242
        </xsl:for-each>
243
        
244
        <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
245
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
246
            Publication Place:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
252
            Edition:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
258
            Volume:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
264
            Number of Volumes:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
270
            Total Pages:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
276
            Total Figures:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
282
            Total Tables:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
288
            ISBN:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
302
            Chapter Number:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
303
            <xsl:value-of select="chapterNumber"/></td></tr>
304
        </xsl:if>
305
        
306
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
307
        Book Editor:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
318
        Book Title:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
319
        <xsl:value-of select="bookTitle"/></td></tr>
320

    
321
        <xsl:if test="pageRange and normalize-space(pageRange)!=''">
322
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
323
            Page Range:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
352
            Institution:
353
            </td>
354
            <td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
369
            Total Pages:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
382
            Report Number:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
388
            Publisher:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
402
            Publication Place:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
408
            Total Pages:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
419
        Degree:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
420
        <xsl:value-of select="degree"/></td></tr>
421
        
422
       <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
423
        Degree Institution:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
436
         Total Pages:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
447
         Conference Name:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
453
         Date:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
459
         Location:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
484
            Publisher:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
498
            Publication Place:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
504
            Communication Type:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
510
            Recipient:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
529
            Publisher:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
542
            Edition:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
555
            Scale:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
566
            Publisher:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
579
            Publication Place:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
585
            Reference Type:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
591
            Volume:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
597
            Number of Volumes:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
603
            Total Pages:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
609
            Total Figures:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
615
            Total Tables:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
621
            Edition:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
627
            Supplemental Info for Original Publication:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
633
            Reprint Edition:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
639
            Review Item:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
645
            ISBN:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
651
            ISSN:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
661
            Publisher:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
674
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
675
            &#160;</td></tr>
676
            <xsl:for-each select="publicationPlace">
677
                <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
678
                    &#160;</td>
679
                    <td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
687
            Performer:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
700
            ISBN:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
711
         Conference Name:</td><td width="{$secondColWidth}" 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 width="{$firstColWidth}" class="{$citationfirstColStyle}">
717
         Date:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
718
         <xsl:value-of select="conferenceDate"/></td></tr>
719
       </xsl:if>
720
       
721
         <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
722
         Location:</td><td width="{$secondColWidth}" 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>
(15-15/30)