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

    
173

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

    
219
  
220
  
221
  <xsl:template name="citationbook">
222
    <xsl:param name="citationfirstColStyle"/>
223
    <xsl:param name="citationsubHeaderStyle"/>
224
    <xsl:param name="notshow" />
225
    <xsl:for-each select="book">
226
        <xsl:if test="$notshow =''">
227
          <tr class="{$citationsubHeaderStyle}"><td colspan="2"><xsl:text>BOOK:</xsl:text></td></tr>
228
        </xsl:if>
229
        <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
230
            Publisher:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
231
            &#160;</td></tr>
232
        <xsl:for-each select="publisher">
233
         <tr><td colspan="2">
234
              <xsl:call-template name="partry">
235
                <xsl:with-param name="partyfirstColStyle" select="$citationfirstColStyle"/>
236
              </xsl:call-template>
237
         </td></tr>
238
        </xsl:for-each>
239
        
240
        <xsl:if test="publicationPlace and normalize-space(publicationPlace)!=''">
241
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
242
            Publication Place:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
243
            <xsl:value-of select="publicationPlace"/></td></tr>
244
        </xsl:if>
245
        
246
        <xsl:if test="edition and normalize-space(edition)!=''">
247
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
248
            Edition:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
249
            <xsl:value-of select="edition"/></td></tr>
250
        </xsl:if>
251
        
252
        <xsl:if test="volume and normalize-space(volume)!=''">
253
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
254
            Volume:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
255
            <xsl:value-of select="volume"/></td></tr>
256
        </xsl:if>
257
        
258
         <xsl:if test="numberOfVolumes and normalize-space(numberOfVolumes)!=''">
259
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
260
            Number of Volumes:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
261
            <xsl:value-of select="numberOfVolumes"/></td></tr>
262
        </xsl:if>
263
        
264
        <xsl:if test="totalPages and normalize-space(totalPages)!=''">
265
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
266
            Total Pages:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
267
            <xsl:value-of select="totalPages"/></td></tr>
268
        </xsl:if>
269
        
270
        <xsl:if test="totalFigures and normalize-space(totalFigures)!=''">
271
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
272
            Total Figures:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
273
            <xsl:value-of select="totalFigures"/></td></tr>
274
        </xsl:if>
275
        
276
        <xsl:if test="totalTables and normalize-space(totalTables)!=''">
277
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
278
            Total Tables:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
279
            <xsl:value-of select="totalTables"/></td></tr>
280
        </xsl:if>
281
        
282
        <xsl:if test="ISBN and normalize-space(ISBN)!=''">
283
           <tr><td width="{$firstColWidth}" class="{$citationfirstColStyle}">
284
            ISBN:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
285
            <xsl:value-of select="ISBN"/></td></tr>
286
        </xsl:if>
287
     </xsl:for-each>
288
   </xsl:template>
289

    
290
   
291
   
292
   <xsl:template name="citationchapter">
293
      <xsl:param name="citationfirstColStyle"/>
294
      <xsl:param name="citationsubHeaderStyle"/>
295
      <xsl:for-each select="chapter">
296
        <tr class="{$citationsubHeaderStyle}"><td colspan="2"><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:for-each>
330
   </xsl:template>
331

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

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

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

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

    
756
 </xsl:stylesheet>
(15-15/28)