Project

General

Profile

1
<?xml version="1.0"?>
2
<!--
3
  *  '$RCSfile$'
4
  *      Authors: Matt Jones
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-01 18:32:06 -0700 (Tue, 01 Jul 2003) $'
11
  * '$Revision: 1715 $'
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-dataset.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
  <xsl:import href="eml-access-2.0.0.xsl"/>
34
  <xsl:import href="eml-additionalmetadata-2.0.0.xsl"/>
35
  <xsl:import href="eml-attribute-2.0.0.xsl"/>
36
  <xsl:import href="eml-attribute-enumeratedDomain-2.0.0.xsl"/>
37
  <xsl:import href="eml-constraint-2.0.0.xsl"/>
38
  <xsl:import href="eml-coverage-2.0.0.xsl"/>
39
  <xsl:import href="eml-dataset-2.0.0.xsl"/>
40
  <xsl:import href="eml-datatable-2.0.0.xsl"/>
41
  <xsl:import href="eml-distribution-2.0.0.xsl"/>
42
  <xsl:import href="eml-entity-2.0.0.xsl"/>
43
  <xsl:import href="eml-identifier-2.0.0.xsl"/>
44
  <xsl:import href="eml-literature-2.0.0.xsl"/>
45
  <xsl:import href="eml-method-2.0.0.xsl"/>
46
  <xsl:import href="eml-otherentity-2.0.0.xsl"/>
47
  <xsl:import href="eml-party-2.0.0.xsl"/>
48
  <xsl:import href="eml-physical-2.0.0.xsl"/>
49
  <xsl:import href="eml-project-2.0.0.xsl"/>
50
  <xsl:import href="eml-protocol-2.0.0.xsl"/>
51
  <xsl:import href="eml-resource-2.0.0.xsl"/>
52
  <xsl:import href="eml-settings-2.0.0.xsl"/>
53
  <xsl:import href="eml-software-2.0.0.xsl"/>
54
  <xsl:import href="eml-spatialraster-2.0.0.xsl"/>
55
  <xsl:import href="eml-spatialvector-2.0.0.xsl"/>
56
  <xsl:import href="eml-storedprocedure-2.0.0.xsl"/>
57
  <xsl:import href="eml-text-2.0.0.xsl"/>
58
  <xsl:import href="eml-view-2.0.0.xsl"/>
59
  
60
  <xsl:output method="html" encoding="iso-8859-1"/>
61
  <!-- global variables to store id node set in case to be referenced-->
62
  <xsl:variable name="ids" select="//*[@id!='']"/>
63
  
64
  <xsl:template match="/">
65
    <html>
66
      <head>
67
        <link rel="stylesheet" type="text/css" 
68
              href="{$stylePath}/{$qformat}.css" />
69
      </head>
70
      <body>
71
        <table xsl:use-attribute-sets="cellspacing" width="100%">
72
         <tr><td>
73
          <table xsl:use-attribute-sets="cellspacing" width="100%" >
74
          <tr>
75
            <td rowspan="2"><img src="@web-base-url@/images/KNBLogo.gif"/></td>
76
            <td colspan="7"><div class="title">Biocomplexity Data Search</div>
77
            </td>
78
          </tr>
79
          <tr>
80
            <td><a href="@web-base-url@" class="toollink"> KNB </a></td>
81
            <td><a href="@web-base-url@/data.html" class="toollink"> 
82
                Data </a></td>
83
            <td><a href="@web-base-url@/people.html" class="toollink"> 
84
                People </a></td>
85
            <td><a href="@web-base-url@/informatics" class="toollink"> 
86
                Informatics </a></td>
87
            <td><a href="@web-base-url@/biodiversity" class="toollink"> 
88
                Biodiversity </a></td>
89
            <td><a href="@web-base-url@/education" class="toollink"> 
90
                Education </a></td>
91
            <td><a href="@web-base-url@/software" class="toollink"> 
92
                Software </a></td>
93
         </tr>
94
         <tr>
95
          <td align="right" valign="top" colspan="7">
96
            <form action="@html-path@/servlet/metacat" method="POST">
97
             Data Search: <input type="text" name="anyfield" size="10" />
98
             <input type="hidden" name="action" value="query" />   
99
             <input type="hidden" name="qformat" value="knb" />
100
             <input type="hidden" name="operator" value="UNION" />
101
             
102
             <input type="hidden" name="returnfield"
103
              value="creator/individualName/surName" />
104
             <input type="hidden" name="returnfield"
105
              value="creator/organizationName" />
106
             <input type="hidden" name="returnfield" 
107
              value="originator/individualName/surName" />
108
             <input type="hidden" name="returnfield" 
109
              value="originator/individualName/givenName" />
110
             <input type="hidden" name="returnfield" 
111
              value="originator/organizationName" />
112
             <input type="hidden" name="returnfield" 
113
              value="title" />
114
             <input type="hidden" name="returnfield" 
115
              value="keyword" />
116
             <input type="hidden" name="returndoctype"
117
              value="eml://ecoinformatics.org/eml-2.0.0" />
118
             <input type="hidden" name="returndoctype"
119
              value="-//NCEAS//eml-dataset-2.0//EN" />
120
             <input type="hidden" name="returndoctype"
121
              value="-//NCEAS//resource//EN" />
122
             <input type="hidden" name="returndoctype"
123
              value="-//NCEAS//eml-dataset//EN" />
124
              <input type="hidden" name="returndoctype"
125
              value="-//ecoinformatics.org//eml-dataset-2.0.0beta6//EN" />
126
              <input type="hidden" name="returndoctype"
127
              value="-//ecoinformatics.org//eml-dataset-2.0.0beta4//EN" />
128
           </form>
129
          </td>
130
        </tr>  
131
       </table>
132
       </td>
133
       </tr>
134
        <xsl:apply-templates select="*[local-name()='eml']"/>
135
      </table>
136
      </body>
137
    </html>
138
   </xsl:template>
139
   
140
   <xsl:template match="*[local-name()='eml']">
141
     <tr><td>
142
       <xsl:for-each select="dataset">
143
         <xsl:call-template name="emldataset"/>
144
       </xsl:for-each>
145
       <xsl:for-each select="citation">
146
         <xsl:call-template name="emlcitation"/>
147
       </xsl:for-each>
148
       <xsl:for-each select="software">
149
         <xsl:call-template name="emlsoftware"/>
150
       </xsl:for-each>
151
       <xsl:for-each select="protocol">
152
         <xsl:call-template name="emlprotocol"/>
153
       </xsl:for-each>
154
     </td></tr>
155
     
156
       <!-- Additinal metadata-->
157
       <xsl:choose>
158
               <xsl:when test="$displaymodule='additionalmetadata'">
159
                   <xsl:for-each select="additionalMetadata"> 
160
                     <xsl:if test="$additionalmetadataindex=position()">
161
                        <tr><td>
162
                            <xsl:call-template name="additionalmetadata"/>
163
                         </td></tr>
164
                     </xsl:if>
165
                  </xsl:for-each>
166
               </xsl:when>
167
               <xsl:otherwise>
168
                 <xsl:if test="$displaymodule='dataset'">
169
                   <xsl:for-each select="additionalMetadata">
170
                      <tr><td>
171
                          <xsl:call-template name="additionalmetadataURL">
172
                             <xsl:with-param name="index" select="position()"/>
173
                          </xsl:call-template>
174
                      </td></tr>
175
                   </xsl:for-each>
176
                 </xsl:if>
177
              </xsl:otherwise>
178
     </xsl:choose>
179
     <!-- xml format-->
180
     <xsl:if test="$displaymodule='dataset'">
181
       <tr><td>
182
          <xsl:call-template name="xml"/> 
183
        </td></tr>             
184
     </xsl:if>
185
   </xsl:template>
186
   
187
   <!--********************************************************
188
                             dataset part
189
       ********************************************************-->
190
   
191
   <xsl:template name="emldataset">
192
      <table xsl:use-attribute-sets="cellspacing"  class="tabledefault" width="100%">
193
          <xsl:if test="$displaymodule='dataset'">
194
             <xsl:call-template name="datasetpart"/>  
195
          </xsl:if>
196
          <xsl:if test="$displaymodule='entity'">
197
             <xsl:call-template name="entitypart"/>
198
          </xsl:if>
199
          <xsl:if test="$displaymodule='attribute'">
200
             <xsl:call-template name="attributepart"/>
201
          </xsl:if>
202
          <xsl:if test="$displaymodule='attributedomain'">
203
             <xsl:call-template name="datasetattributedomain"/>
204
          </xsl:if>
205
          <xsl:if test="$displaymodule='attributecoverage'">
206
             <xsl:call-template name="datasetattributecoverage"/>
207
          </xsl:if>
208
          <xsl:if test="$displaymodule='attributemethod'">
209
             <xsl:call-template name="datasetattributemethod"/>
210
          </xsl:if>
211
          <xsl:if test="$displaymodule='inlinedata'">
212
             <xsl:call-template name="datasetinlinedata"/>
213
          </xsl:if>
214
      </table>
215
   </xsl:template>
216
   
217
   <!--*************** Data set diaplay *************-->
218
   <xsl:template name="datasetpart">
219
      <tr><td colspan="2" width="100%">
220
         <right>
221
            <h3>Data Set Description</h3>
222
         </right>
223
      </td></tr>
224
       <xsl:call-template name="identifier">
225
                <xsl:with-param name="packageID" select="../@packageId"/>
226
                <xsl:with-param name="system" select="../@system"/>
227
      </xsl:call-template>
228
      <tr>
229
           <td colspan="2" width="100%">
230
              <xsl:apply-templates select="." mode="dataset"/>
231
           </td>
232
      </tr>  
233
   </xsl:template>
234
   
235
   <!--************ Entity diplay *****************-->
236
   <xsl:template name="entitypart">
237
       <xsl:choose>
238
               <xsl:when test="references!=''">
239
                  <xsl:variable name="ref_id" select="references"/>
240
                  <xsl:variable name="references" select="$ids[@id=$ref_id]" />
241
                  <xsl:for-each select="$references">
242
                     <xsl:call-template name="entitypartcommon"/>
243
                  </xsl:for-each>
244
               </xsl:when>
245
               <xsl:otherwise>
246
                  <xsl:call-template name="entitypartcommon"/>
247
              </xsl:otherwise>
248
         </xsl:choose>
249
    </xsl:template>
250
   
251
   
252
    <xsl:template name="entitypartcommon">
253
      <tr><td colspan="2" width="100%" >
254
         <right>
255
            <h3>Entity Description</h3>
256
          </right>
257
      </td></tr>
258
      <xsl:call-template name="identifier">
259
                <xsl:with-param name="packageID" select="../@packageId"/>
260
                <xsl:with-param name="system" select="../@system"/>
261
      </xsl:call-template>
262
      <tr>
263
           <td width="100%" colspan="2">
264
              <!-- find the subtree to process -->
265
             <xsl:call-template name="chooseentity"/>
266
           </td>
267
      </tr>  
268
   </xsl:template>
269
   
270
   <!--************ Attribute display *****************-->
271
    <xsl:template name="attributepart">
272
      <tr><td width="100%">
273
         <right>
274
            <h3>Attributes Description</h3>
275
         </right>
276
      </td></tr>
277
      <tr>
278
           <td width="100%">
279
              <!-- find the subtree to process -->
280
            <xsl:if test="$entitytype='dataTable'">
281
              <xsl:for-each select="dataTable">
282
                  <xsl:if test="position()=$entityindex">
283
                      <xsl:for-each select="attributeList">
284
                         <xsl:call-template name="attributelist">
285
                            <xsl:with-param name="docid" select="$docid"/>
286
                            <xsl:with-param name="entitytype" select="$entitytype"/>
287
                            <xsl:with-param name="entityindex" select="$entityindex"/>
288
                         </xsl:call-template>
289
                      </xsl:for-each>
290
                  </xsl:if>
291
              </xsl:for-each>
292
            </xsl:if>
293
          </td>
294
      </tr>  
295
   </xsl:template>
296
   
297
   <!--************************Attribute Domain display module************************-->
298
   <xsl:template name="datasetattributedomain">
299
      <tr><td>
300
         <right>
301
            <h3>Attribute Domain</h3>
302
         </right>
303
      </td></tr>
304
      <tr>
305
           <td width="100%">
306
             <!-- find the subtree to process -->
307
             <xsl:call-template name="chooseentity"/>
308
          </td>
309
      </tr>  
310
   </xsl:template>
311
   
312
   
313
   <!--************************Attribute Method display module************************-->
314
   <xsl:template name="datasetattributemethod">
315
      <tr><td>
316
         <right>
317
            <h3>Attribute Method</h3>
318
         </right>
319
      </td></tr>
320
      <tr>
321
           <td width="100%">
322
             <!-- find the subtree to process -->
323
             <xsl:call-template name="chooseentity"/>
324
          </td>
325
      </tr>  
326
   </xsl:template>
327
   
328
   
329
   <!--************************Attribute Coverage display module************************-->
330
   <xsl:template name="datasetattributecoverage">
331
     <tr><td>
332
         <right>
333
            <h3>Attribute Coverage</h3>
334
         </right>
335
      </td></tr>
336
      <tr>
337
           <td width="100%">
338
             <!-- find the subtree to process -->
339
             <xsl:call-template name="chooseentity"/>
340
          </td>
341
      </tr>  
342
   </xsl:template>
343
   
344
   
345
   <xsl:template name="chooseentity">
346
           <xsl:if test="$entitytype='dataTable'">
347
              <xsl:for-each select="dataTable">
348
                  <xsl:if test="position()=$entityindex">
349
                         <xsl:choose>
350
                           <xsl:when test="references!=''">
351
                              <xsl:variable name="ref_id" select="references"/>
352
                              <xsl:variable name="references" select="$ids[@id=$ref_id]" />
353
                                <xsl:for-each select="$references">
354
                                    <xsl:choose>
355
                                       <xsl:when test="$displaymodule='entity'">
356
                                          <xsl:call-template name="dataTable">
357
                                              <xsl:with-param name="datatablefirstColStyle" select="$firstColStyle"/>
358
                                              <xsl:with-param name="datatablesubHeaderStyle" select="$subHeaderStyle"/>  
359
                                              <xsl:with-param name="docid" select="$docid"/>
360
                                              <xsl:with-param name="entitytype" select="$entitytype"/>
361
                                              <xsl:with-param name="entityindex" select="$entityindex"/>
362
                                          </xsl:call-template>
363
                                       </xsl:when>
364
                                       <xsl:otherwise>
365
                                          <xsl:call-template name="chooseattributelist"/>
366
                                       </xsl:otherwise>
367
                                    </xsl:choose>
368
                                </xsl:for-each>
369
                           </xsl:when>
370
                           <xsl:otherwise>
371
                             <xsl:choose>
372
                                       <xsl:when test="$displaymodule='entity'">
373
                                          <xsl:call-template name="dataTable">
374
                                              <xsl:with-param name="datatablefirstColStyle" select="$firstColStyle"/>
375
                                              <xsl:with-param name="datatablesubHeaderStyle" select="$subHeaderStyle"/>  
376
                                              <xsl:with-param name="docid" select="$docid"/>
377
                                              <xsl:with-param name="entitytype" select="$entitytype"/>
378
                                              <xsl:with-param name="entityindex" select="$entityindex"/>
379
                                          </xsl:call-template>
380
                                       </xsl:when>
381
                                       <xsl:otherwise>
382
                                          <xsl:call-template name="chooseattributelist"/>
383
                                       </xsl:otherwise>
384
                             </xsl:choose>   
385
                         </xsl:otherwise>
386
                      </xsl:choose>
387
                  </xsl:if>
388
              </xsl:for-each>
389
            </xsl:if>
390
            <xsl:if test="$entitytype='spatialRaster'">
391
              <xsl:for-each select="spatialRaster">
392
                  <xsl:if test="position()=$entityindex">
393
                         <xsl:choose>
394
                           <xsl:when test="references!=''">
395
                              <xsl:variable name="ref_id" select="references"/>
396
                              <xsl:variable name="references" select="$ids[@id=$ref_id]" />
397
                                <xsl:for-each select="$references">
398
                                    <xsl:choose>
399
                                       <xsl:when test="$displaymodule='entity'">
400
                                          <xsl:call-template name="spatialRaster">
401
                                              <xsl:with-param name="spatialrasterfirstColStyle" select="$firstColStyle"/>
402
                                              <xsl:with-param name="spatialrastersubHeaderStyle" select="$subHeaderStyle"/>  
403
                                              <xsl:with-param name="docid" select="$docid"/>
404
                                              <xsl:with-param name="entitytype" select="$entitytype"/>
405
                                              <xsl:with-param name="entityindex" select="$entityindex"/>
406
                                          </xsl:call-template>
407
                                       </xsl:when>
408
                                       <xsl:otherwise>
409
                                          <xsl:call-template name="chooseattributelist"/>
410
                                       </xsl:otherwise>
411
                                    </xsl:choose>
412
                                </xsl:for-each>
413
                           </xsl:when>
414
                           <xsl:otherwise>
415
                             <xsl:choose>
416
                                       <xsl:when test="$displaymodule='entity'">
417
                                          <xsl:call-template name="spatialRaster">
418
                                              <xsl:with-param name="spatialrasterfirstColStyle" select="$firstColStyle"/>
419
                                              <xsl:with-param name="spatialrastersubHeaderStyle" select="$subHeaderStyle"/>  
420
                                              <xsl:with-param name="docid" select="$docid"/>
421
                                              <xsl:with-param name="entitytype" select="$entitytype"/>
422
                                              <xsl:with-param name="entityindex" select="$entityindex"/>
423
                                          </xsl:call-template>
424
                                       </xsl:when>
425
                                       <xsl:otherwise>
426
                                          <xsl:call-template name="chooseattributelist"/>
427
                                       </xsl:otherwise>
428
                             </xsl:choose>   
429
                         </xsl:otherwise>
430
                      </xsl:choose>
431
                  </xsl:if>
432
              </xsl:for-each>
433
            </xsl:if>
434
            <xsl:if test="$entitytype='spatialVector'">
435
              <xsl:for-each select="spatialVector">
436
                  <xsl:if test="position()=$entityindex">
437
                         <xsl:choose>
438
                           <xsl:when test="references!=''">
439
                              <xsl:variable name="ref_id" select="references"/>
440
                              <xsl:variable name="references" select="$ids[@id=$ref_id]" />
441
                                <xsl:for-each select="$references">
442
                                    <xsl:choose>
443
                                       <xsl:when test="$displaymodule='entity'">
444
                                          <xsl:call-template name="spatialVector">
445
                                             <xsl:with-param name="spatialvectorfirstColStyle" select="$firstColStyle"/>
446
                                              <xsl:with-param name="spatialvectorsubHeaderStyle" select="$subHeaderStyle"/>  
447
                                              <xsl:with-param name="docid" select="$docid"/>
448
                                              <xsl:with-param name="entitytype" select="$entitytype"/>
449
                                              <xsl:with-param name="entityindex" select="$entityindex"/>
450
                                          </xsl:call-template>
451
                                       </xsl:when>
452
                                       <xsl:otherwise>
453
                                          <xsl:call-template name="chooseattributelist"/>
454
                                       </xsl:otherwise>
455
                                    </xsl:choose>
456
                                </xsl:for-each>
457
                           </xsl:when>
458
                           <xsl:otherwise>
459
                             <xsl:choose>
460
                                       <xsl:when test="$displaymodule='entity'">
461
                                          <xsl:call-template name="spatialVector">
462
                                              <xsl:with-param name="spatialvectorfirstColStyle" select="$firstColStyle"/>
463
                                              <xsl:with-param name="spatialvectorsubHeaderStyle" select="$subHeaderStyle"/>  
464
                                              <xsl:with-param name="docid" select="$docid"/>
465
                                              <xsl:with-param name="entitytype" select="$entitytype"/>
466
                                              <xsl:with-param name="entityindex" select="$entityindex"/>
467
                                          </xsl:call-template>
468
                                       </xsl:when>
469
                                       <xsl:otherwise>
470
                                          <xsl:call-template name="chooseattributelist"/>
471
                                       </xsl:otherwise>
472
                             </xsl:choose>   
473
                         </xsl:otherwise>
474
                      </xsl:choose>
475
                  </xsl:if>
476
              </xsl:for-each>
477
            </xsl:if>
478
            <xsl:if test="$entitytype='storedProcedure'">
479
              <xsl:for-each select="storedProcedure">
480
                  <xsl:if test="position()=$entityindex">
481
                         <xsl:choose>
482
                           <xsl:when test="references!=''">
483
                              <xsl:variable name="ref_id" select="references"/>
484
                              <xsl:variable name="references" select="$ids[@id=$ref_id]" />
485
                                <xsl:for-each select="$references">
486
                                    <xsl:choose>
487
                                       <xsl:when test="$displaymodule='entity'">
488
                                          <xsl:call-template name="storedProcedure">
489
                                             <xsl:with-param name="storedprocedurefirstColStyle" select="$firstColStyle"/>
490
                                             <xsl:with-param name="storedproceduresubHeaderStyle" select="$subHeaderStyle"/>  
491
                                             <xsl:with-param name="docid" select="$docid"/>
492
                                             <xsl:with-param name="entitytype" select="$entitytype"/>
493
                                             <xsl:with-param name="entityindex" select="$entityindex"/>
494
                                          </xsl:call-template>
495
                                       </xsl:when>
496
                                       <xsl:otherwise>
497
                                          <xsl:call-template name="chooseattributelist"/>
498
                                       </xsl:otherwise>
499
                                    </xsl:choose>
500
                                </xsl:for-each>
501
                           </xsl:when>
502
                           <xsl:otherwise>
503
                             <xsl:choose>
504
                                       <xsl:when test="$displaymodule='entity'">
505
                                          <xsl:call-template name="storedProcedure">
506
                                             <xsl:with-param name="storedprocedurefirstColStyle" select="$firstColStyle"/>
507
                                             <xsl:with-param name="storedproceduresubHeaderStyle" select="$subHeaderStyle"/>  
508
                                             <xsl:with-param name="docid" select="$docid"/>
509
                                             <xsl:with-param name="entitytype" select="$entitytype"/>
510
                                             <xsl:with-param name="entityindex" select="$entityindex"/>
511
                                          </xsl:call-template>
512
                                       </xsl:when>
513
                                       <xsl:otherwise>
514
                                          <xsl:call-template name="chooseattributelist"/>
515
                                       </xsl:otherwise>
516
                             </xsl:choose>   
517
                         </xsl:otherwise>
518
                      </xsl:choose>
519
                  </xsl:if>
520
              </xsl:for-each>
521
            </xsl:if>
522
            <xsl:if test="$entitytype='view'">
523
              <xsl:for-each select="view">
524
                  <xsl:if test="position()=$entityindex">
525
                         <xsl:choose>
526
                           <xsl:when test="references!=''">
527
                              <xsl:variable name="ref_id" select="references"/>
528
                              <xsl:variable name="references" select="$ids[@id=$ref_id]" />
529
                                <xsl:for-each select="$references">
530
                                    <xsl:choose>
531
                                       <xsl:when test="$displaymodule='entity'">
532
                                          <xsl:call-template name="view">
533
                                             <xsl:with-param name="viewfirstColStyle" select="$firstColStyle"/>
534
                                             <xsl:with-param name="viewsubHeaderStyle" select="$subHeaderStyle"/>  
535
                                             <xsl:with-param name="docid" select="$docid"/>
536
                                             <xsl:with-param name="entitytype" select="$entitytype"/>
537
                                             <xsl:with-param name="entityindex" select="$entityindex"/>
538
                                          </xsl:call-template>
539
                                       </xsl:when>
540
                                       <xsl:otherwise>
541
                                          <xsl:call-template name="chooseattributelist"/>
542
                                       </xsl:otherwise>
543
                                    </xsl:choose>
544
                                </xsl:for-each>
545
                           </xsl:when>
546
                           <xsl:otherwise>
547
                             <xsl:choose>
548
                                       <xsl:when test="$displaymodule='entity'">
549
                                          <xsl:call-template name="view">
550
                                             <xsl:with-param name="viewfirstColStyle" select="$firstColStyle"/>
551
                                             <xsl:with-param name="viewsubHeaderStyle" select="$subHeaderStyle"/>  
552
                                             <xsl:with-param name="docid" select="$docid"/>
553
                                             <xsl:with-param name="entitytype" select="$entitytype"/>
554
                                             <xsl:with-param name="entityindex" select="$entityindex"/>
555
                                          </xsl:call-template>
556
                                       </xsl:when>
557
                                       <xsl:otherwise>
558
                                          <xsl:call-template name="chooseattributelist"/>
559
                                       </xsl:otherwise>
560
                             </xsl:choose>   
561
                         </xsl:otherwise>
562
                      </xsl:choose>
563
                  </xsl:if>
564
              </xsl:for-each>
565
            </xsl:if>
566
            <xsl:if test="$entitytype='otherEntity'">
567
              <xsl:for-each select="otherEntity">
568
                  <xsl:if test="position()=$entityindex">
569
                         <xsl:choose>
570
                           <xsl:when test="references!=''">
571
                              <xsl:variable name="ref_id" select="references"/>
572
                              <xsl:variable name="references" select="$ids[@id=$ref_id]" />
573
                                <xsl:for-each select="$references">
574
                                    <xsl:choose>
575
                                       <xsl:when test="$displaymodule='entity'">
576
                                          <xsl:call-template name="otherEntity">
577
                                             <xsl:with-param name="otherentityfirstColStyle" select="$firstColStyle"/>
578
                                             <xsl:with-param name="otherentitysubHeaderStyle" select="$subHeaderStyle"/>  
579
                                             <xsl:with-param name="docid" select="$docid"/>
580
                                             <xsl:with-param name="entitytype" select="$entitytype"/>
581
                                             <xsl:with-param name="entityindex" select="$entityindex"/>
582
                                          </xsl:call-template>
583
                                       </xsl:when>
584
                                       <xsl:otherwise>
585
                                          <xsl:call-template name="chooseattributelist"/>
586
                                       </xsl:otherwise>
587
                                    </xsl:choose>
588
                                </xsl:for-each>
589
                           </xsl:when>
590
                           <xsl:otherwise>
591
                             <xsl:choose>
592
                                       <xsl:when test="$displaymodule='entity'">
593
                                          <xsl:call-template name="otherEntity">
594
                                             <xsl:with-param name="otherentityfirstColStyle" select="$firstColStyle"/>
595
                                             <xsl:with-param name="otherentitysubHeaderStyle" select="$subHeaderStyle"/>  
596
                                             <xsl:with-param name="docid" select="$docid"/>
597
                                             <xsl:with-param name="entitytype" select="$entitytype"/>
598
                                             <xsl:with-param name="entityindex" select="$entityindex"/>
599
                                          </xsl:call-template>
600
                                       </xsl:when>
601
                                       <xsl:otherwise>
602
                                          <xsl:call-template name="chooseattributelist"/>
603
                                       </xsl:otherwise>
604
                             </xsl:choose>   
605
                         </xsl:otherwise>
606
                      </xsl:choose>
607
                  </xsl:if>
608
              </xsl:for-each>
609
            </xsl:if>
610
   </xsl:template>
611
   
612
   <xsl:template name="chooseattributelist">
613
       <xsl:for-each select="attributeList">
614
          <xsl:choose>
615
               <xsl:when test="references!=''">
616
                  <xsl:variable name="ref_id" select="references"/>
617
                  <xsl:variable name="references" select="$ids[@id=$ref_id]" />
618
                  <xsl:for-each select="$references">
619
                     <xsl:call-template name="chooseattribute"/>
620
                 </xsl:for-each>
621
               </xsl:when>
622
               <xsl:otherwise>
623
                   <xsl:call-template name="chooseattribute"/>
624
              </xsl:otherwise>
625
         </xsl:choose>
626
      </xsl:for-each>
627
   </xsl:template>
628
   
629
   <xsl:template name="chooseattribute">
630
       <xsl:for-each select="attribute">
631
          <xsl:if test="position()=$attributeindex">
632
            <xsl:if test="$displaymodule='attributedomain'">
633
              <xsl:for-each select="measurementScale/*/*">
634
                <xsl:call-template name="nonNumericDomain">
635
                    <xsl:with-param name="nondomainfirstColStyle" select="$firstColStyle"/>
636
                 </xsl:call-template>
637
              </xsl:for-each>
638
           </xsl:if>
639
           <xsl:if test="$displaymodule='attributecoverage'">
640
              <xsl:for-each select="coverage">
641
                <xsl:call-template name="coverage">
642
                </xsl:call-template>
643
              </xsl:for-each>
644
           </xsl:if>
645
           <xsl:if test="$displaymodule='attributemethod'">
646
              <xsl:for-each select="method">
647
                <xsl:call-template name="method">
648
                    <xsl:with-param name="methodfirstColStyle" select="$firstColStyle"/>
649
                    <xsl:with-param name="methodsubHeaderStyle" select="$firstColStyle"/>
650
                 </xsl:call-template>
651
              </xsl:for-each>
652
           </xsl:if>
653
         </xsl:if>
654
       </xsl:for-each>
655
   </xsl:template>
656
   
657
   
658
   
659
   <!--*************************Distribution Inline Data display module*****************-->
660
   <xsl:template name="datasetinlinedata">
661
      <tr><td>
662
         <right>
663
            <h3>Inline Data</h3>
664
         </right>
665
      </td></tr>
666
      <tr>
667
           <td width="100%">
668
            <xsl:if test="$distributionlevel='toplevel'">
669
               <xsl:for-each select="distribution">
670
                  <xsl:if test="position=$distributionindex">
671
                     <xsl:choose>
672
                       <xsl:when test="references!=''">
673
                          <xsl:variable name="ref_id1" select="references"/>
674
                          <xsl:variable name="references1" select="$ids[@id=$ref_id1]" />
675
                          <xsl:for-each select="$references1">
676
                              <xsl:for-each select="inline">
677
                                  <xsl:value-of select="."/>
678
                              </xsl:for-each>
679
                          </xsl:for-each>
680
                       </xsl:when>
681
                       <xsl:otherwise>
682
                           <xsl:for-each select="inline">
683
                                  <xsl:value-of select="."/>
684
                           </xsl:for-each>
685
                       </xsl:otherwise>
686
                     </xsl:choose>
687
                  </xsl:if>
688
               </xsl:for-each>
689
            </xsl:if>
690
            <xsl:if test="$distributionlevel='entitylevel'">
691
              <xsl:if test="$entitytype='dataTable'">
692
                <xsl:for-each select="dataTable">
693
                  <xsl:if test="position()=$entityindex">
694
                      <xsl:choose>
695
                       <xsl:when test="references!=''">
696
                          <xsl:variable name="ref_id2" select="references"/>
697
                          <xsl:variable name="references2" select="$ids[@id=$ref_id2]" />
698
                          <xsl:for-each select="$references2">
699
                             <xsl:call-template name="choosephysical"/>
700
                          </xsl:for-each>
701
                       </xsl:when>
702
                       <xsl:otherwise>
703
                           <xsl:call-template name="choosephysical"/>
704
                       </xsl:otherwise>
705
                     </xsl:choose>
706
                  </xsl:if>
707
                </xsl:for-each>
708
              </xsl:if>
709
            </xsl:if>
710
          </td>
711
      </tr>  
712
   </xsl:template>
713
   
714
   <xsl:template name="choosephysical">
715
      <xsl:for-each select="physical">
716
         <xsl:if test="position()=$physicalindex">
717
            <xsl:choose>
718
               <xsl:when test="references!=''">
719
                  <xsl:variable name="ref_id" select="references"/>
720
                  <xsl:variable name="references" select="$ids[@id=$ref_id]" />
721
                  <xsl:for-each select="$references">
722
                     <xsl:call-template name="choosedistribution"/>
723
                  </xsl:for-each>
724
               </xsl:when>
725
               <xsl:otherwise>
726
                  <xsl:call-template name="choosedistribution"/>
727
              </xsl:otherwise>
728
           </xsl:choose>
729
        </xsl:if>
730
      </xsl:for-each>
731
   </xsl:template>
732
   
733
   <xsl:template name="choosedistribution">
734
      <xsl:for-each select="distribution">
735
         <xsl:if test="$distributionindex=position()">
736
            <xsl:choose>
737
               <xsl:when test="references!=''">
738
                  <xsl:variable name="ref_id" select="references"/>
739
                  <xsl:variable name="references" select="$ids[@id=$ref_id]" />
740
                  <xsl:for-each select="$references">
741
                     <xsl:for-each select="inline">
742
                        <xsl:value-of select="."/>
743
                      </xsl:for-each>
744
                  </xsl:for-each>
745
               </xsl:when>
746
               <xsl:otherwise>
747
                  <xsl:for-each select="inline">
748
                    <xsl:value-of select="."/>
749
                  </xsl:for-each>
750
              </xsl:otherwise>
751
           </xsl:choose>
752
        </xsl:if>
753
      </xsl:for-each>
754
   </xsl:template>
755
   
756
   
757
     <!--********************************************************
758
                     Citation part
759
       ********************************************************-->
760
   <xsl:template name="emlcitation">
761
       
762
        <table xsl:use-attribute-sets="cellspacing" class="tabledefault" width="100%">
763
        <tr>
764
          <td width="100%" colspan="2">
765
             <right>
766
               <h3>Citation Description</h3>
767
             </right>
768
          </td>
769
        </tr>
770
        <xsl:call-template name="identifier">
771
              <xsl:with-param name="packageID" select="../@packageId"/>
772
              <xsl:with-param name="system" select="../@system"/>
773
        </xsl:call-template>
774
        <tr>
775
          <td width="100%" colspan="2">
776
            <xsl:call-template name="citation">
777
               <xsl:with-param name="citationfirstColStyle" select="$firstColStyle"/>
778
               <xsl:with-param name="citationsubHeaderStyle" select="$subHeaderStyle"/>
779
           </xsl:call-template>
780
          </td>
781
        </tr>
782
     </table>
783
   </xsl:template>
784
   
785
   
786
      
787
     <!--********************************************************
788
                    Software part
789
       ********************************************************-->
790
   
791
   <xsl:template name="emlsoftware">
792
     <table xsl:use-attribute-sets="cellspacing" class="tabledefault" width="100%">
793
        <tr>
794
          <td width="100%" colspan="2">
795
             <right>
796
               <h3>Software Description</h3>
797
             </right>
798
          </td>
799
        </tr>
800
        <xsl:call-template name="identifier">
801
              <xsl:with-param name="packageID" select="../@packageId"/>
802
              <xsl:with-param name="system" select="../@system"/>
803
        </xsl:call-template>
804
         <tr>
805
          <td width="100%" colspan="2">
806
            <xsl:call-template name="software">
807
               <xsl:with-param name="softwarefirstColStyle" select="$firstColStyle"/>
808
               <xsl:with-param name="softwaresubHeaderStyle" select="$subHeaderStyle"/>
809
           </xsl:call-template>
810
          </td>
811
        </tr>
812
     </table>
813
   </xsl:template>
814
   
815
     
816
     <!--********************************************************
817
                    Protocal part
818
       ********************************************************-->
819
   
820
   <xsl:template name="emlprotocol">
821
      <table xsl:use-attribute-sets="cellspacing" class="tabledefault" width="100%">
822
        <tr>
823
          <td width="100%" colspan="2">
824
             <right>
825
               <h3>Protocal Description</h3>
826
             </right>
827
          </td>
828
        </tr>
829
        <xsl:call-template name="identifier">
830
              <xsl:with-param name="packageID" select="../@packageId"/>
831
              <xsl:with-param name="system" select="../@system"/>
832
        </xsl:call-template>
833
       <tr>
834
       <td width="100%" colspan="2">
835
            <xsl:call-template name="protocol">
836
               <xsl:with-param name="protocolfirstColStyle" select="$firstColStyle"/>
837
               <xsl:with-param name="protocolsubHeaderStyle" select="$subHeaderStyle"/>
838
           </xsl:call-template>
839
          </td>
840
        </tr>
841
     </table>
842
   </xsl:template>
843
   
844
      <!--********************************************************
845
                   additionalmetadata part
846
       ********************************************************-->
847
   <xsl:template name="additionalmetadataURL">
848
     <xsl:param name="index"/>
849
     <table xsl:use-attribute-sets="cellspacing"  class="default" width="100%">
850
       <tr><td width="100%" class="{$subHeaderStyle}">
851
              <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI"/><xsl:value-of select="$docid"/>&amp;displaymodule=additionalmetadata&amp;additionalmetadataindex=<xsl:value-of select="$index"/></xsl:attribute>
852
              <b>Additional Metadata</b></a>
853
           </td>
854
       </tr>
855
     </table>
856
   </xsl:template>
857
     <!--********************************************************
858
                   download xml part
859
       ********************************************************-->
860
   <xsl:template name="xml">
861
     <xsl:param name="index"/>
862
     <table xsl:use-attribute-sets="cellspacing"  class="default" width="100%">
863
       <tr><td width="100%" class="{$subHeaderStyle}">
864
              <a><xsl:attribute name="href"><xsl:value-of select="$xmlURI"/><xsl:value-of select="$docid"/></xsl:attribute>
865
              <b>Original XML File</b></a>
866
           </td>
867
       </tr>
868
     </table>
869
   </xsl:template>
870
</xsl:stylesheet>
(1-1/30)