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-07-17 17:48:51 -0700 (Thu, 17 Jul 2003) $'
11
  * '$Revision: 1735 $'
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}">
235
           <xsl:for-each select="publisher">
236
             <xsl:call-template name="party">
237
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
238
              </xsl:call-template>
239
          </xsl:for-each>
240
        </td></tr>
241
        <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
242
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
243
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
244
            <xsl:value-of select="publicationPlace"/></td></tr>
245
        </xsl:if>
246
        
247
        <xsl:if test="edition and normalize-space(edition)!=''">
248
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
249
            Edition:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
250
            <xsl:value-of select="edition"/></td></tr>
251
        </xsl:if>
252
        
253
        <xsl:if test="volume and normalize-space(volume)!=''">
254
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
255
            Volume:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
256
            <xsl:value-of select="volume"/></td></tr>
257
        </xsl:if>
258
        
259
         <xsl:if test="numberOfVolumes and normalize-space(numberOfVolumes)!=''">
260
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
261
            Number of Volumes:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
262
            <xsl:value-of select="numberOfVolumes"/></td></tr>
263
        </xsl:if>
264
        
265
        <xsl:if test="totalPages and normalize-space(totalPages)!=''">
266
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
267
            Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
268
            <xsl:value-of select="totalPages"/></td></tr>
269
        </xsl:if>
270
        
271
        <xsl:if test="totalFigures and normalize-space(totalFigures)!=''">
272
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
273
            Total Figures:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
274
            <xsl:value-of select="totalFigures"/></td></tr>
275
        </xsl:if>
276
        
277
        <xsl:if test="totalTables and normalize-space(totalTables)!=''">
278
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
279
            Total Tables:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
280
            <xsl:value-of select="totalTables"/></td></tr>
281
        </xsl:if>
282
        
283
        <xsl:if test="ISBN and normalize-space(ISBN)!=''">
284
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
285
            ISBN:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
286
            <xsl:value-of select="ISBN"/></td></tr>
287
        </xsl:if>
288
    
289
   </xsl:template>
290

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

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

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

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

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

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

    
732
 </xsl:stylesheet>
(15-15/30)