Project

General

Profile

1 553 tao
<?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$'
10
  *     '$Date$'
11
  * '$Revision$'
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 1680 tao
  <xsl:import href="eml-access-2.0.0.xsl"/>
34 1689 tao
  <xsl:import href="eml-additionalmetadata-2.0.0.xsl"/>
35 1680 tao
  <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 553 tao
  <xsl:import href="eml-dataset-2.0.0.xsl"/>
40 1680 tao
  <xsl:import href="eml-datatable-2.0.0.xsl"/>
41
  <xsl:import href="eml-distribution-2.0.0.xsl"/>
42 1632 tao
  <xsl:import href="eml-entity-2.0.0.xsl"/>
43 1680 tao
  <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 1632 tao
  <xsl:import href="eml-physical-2.0.0.xsl"/>
49 1680 tao
  <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 553 tao
  <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 1709 tao
        <table xsl:use-attribute-sets="cellspacing" width="100%">
72
         <tr><td>
73 1696 tao
          <table xsl:use-attribute-sets="cellspacing" width="100%" >
74 1680 tao
          <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 1709 tao
       </td>
133
       </tr>
134 553 tao
        <xsl:apply-templates select="*[local-name()='eml']"/>
135 1709 tao
      </table>
136 553 tao
      </body>
137
    </html>
138
   </xsl:template>
139
140
   <xsl:template match="*[local-name()='eml']">
141 1709 tao
     <tr><td>
142 1632 tao
       <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 1709 tao
     </td></tr>
155
156 1686 tao
       <!-- Additinal metadata-->
157
       <xsl:choose>
158 1689 tao
               <xsl:when test="$displaymodule='additionalmetadata'">
159
                   <xsl:for-each select="additionalMetadata">
160
                     <xsl:if test="$additionalmetadataindex=position()">
161 1709 tao
                        <tr><td>
162
                            <xsl:call-template name="additionalmetadata"/>
163
                         </td></tr>
164 1689 tao
                     </xsl:if>
165 1686 tao
                  </xsl:for-each>
166
               </xsl:when>
167
               <xsl:otherwise>
168 1689 tao
                 <xsl:if test="$displaymodule='dataset'">
169 1686 tao
                   <xsl:for-each select="additionalMetadata">
170 1709 tao
                      <tr><td>
171
                          <xsl:call-template name="additionalmetadataURL">
172
                             <xsl:with-param name="index" select="position()"/>
173
                          </xsl:call-template>
174
                      </td></tr>
175 1689 tao
                   </xsl:for-each>
176
                 </xsl:if>
177 1686 tao
              </xsl:otherwise>
178 1696 tao
     </xsl:choose>
179
     <!-- xml format-->
180
     <xsl:if test="$displaymodule='dataset'">
181 1709 tao
       <tr><td>
182
          <xsl:call-template name="xml"/>
183
        </td></tr>
184 1696 tao
     </xsl:if>
185 553 tao
   </xsl:template>
186
187 1632 tao
   <!--********************************************************
188
                             dataset part
189
       ********************************************************-->
190
191
   <xsl:template name="emldataset">
192 1696 tao
      <table xsl:use-attribute-sets="cellspacing"  class="tabledefault" width="100%">
193 553 tao
          <xsl:if test="$displaymodule='dataset'">
194 1632 tao
             <xsl:call-template name="datasetpart"/>
195 553 tao
          </xsl:if>
196 1632 tao
          <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 1683 tao
          <xsl:if test="$displaymodule='attributedomain'">
203
             <xsl:call-template name="datasetattributedomain"/>
204
          </xsl:if>
205 1689 tao
          <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 1683 tao
          <xsl:if test="$displaymodule='inlinedata'">
212 1735 tao
             <xsl:call-template name="emlinlinedata"/>
213 1683 tao
          </xsl:if>
214
      </table>
215 553 tao
   </xsl:template>
216
217 1709 tao
   <!--*************** Data set diaplay *************-->
218 1632 tao
   <xsl:template name="datasetpart">
219 1689 tao
      <tr><td colspan="2" width="100%">
220
         <right>
221 1661 tao
            <h3>Data Set Description</h3>
222 1689 tao
         </right>
223 1632 tao
      </td></tr>
224 1689 tao
       <xsl:call-template name="identifier">
225 1632 tao
                <xsl:with-param name="packageID" select="../@packageId"/>
226
                <xsl:with-param name="system" select="../@system"/>
227 1689 tao
      </xsl:call-template>
228 1632 tao
      <tr>
229 1689 tao
           <td colspan="2" width="100%">
230 1632 tao
              <xsl:apply-templates select="." mode="dataset"/>
231
           </td>
232
      </tr>
233
   </xsl:template>
234
235 1709 tao
   <!--************ Entity diplay *****************-->
236 1695 tao
   <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 1689 tao
      <tr><td colspan="2" width="100%" >
254
         <right>
255 1661 tao
            <h3>Entity Description</h3>
256 1689 tao
          </right>
257 1632 tao
      </td></tr>
258 1689 tao
      <xsl:call-template name="identifier">
259 1632 tao
                <xsl:with-param name="packageID" select="../@packageId"/>
260
                <xsl:with-param name="system" select="../@system"/>
261 1689 tao
      </xsl:call-template>
262 1632 tao
      <tr>
263 1689 tao
           <td width="100%" colspan="2">
264 1695 tao
              <!-- find the subtree to process -->
265
             <xsl:call-template name="chooseentity"/>
266
           </td>
267 1632 tao
      </tr>
268
   </xsl:template>
269
270 1709 tao
   <!--************ Attribute display *****************-->
271 1632 tao
    <xsl:template name="attributepart">
272 1689 tao
      <tr><td width="100%">
273
         <right>
274 1661 tao
            <h3>Attributes Description</h3>
275 1689 tao
         </right>
276 1632 tao
      </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 1709 tao
   <!--************************Attribute Domain display module************************-->
298 1683 tao
   <xsl:template name="datasetattributedomain">
299
      <tr><td>
300 1689 tao
         <right>
301 1715 tao
            <h3>Attribute Domain</h3>
302 1689 tao
         </right>
303 1683 tao
      </td></tr>
304
      <tr>
305
           <td width="100%">
306 1695 tao
             <!-- find the subtree to process -->
307
             <xsl:call-template name="chooseentity"/>
308
          </td>
309
      </tr>
310
   </xsl:template>
311
312
313 1709 tao
   <!--************************Attribute Method display module************************-->
314 1695 tao
   <xsl:template name="datasetattributemethod">
315
      <tr><td>
316
         <right>
317 1715 tao
            <h3>Attribute Method</h3>
318 1695 tao
         </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 1709 tao
   <!--************************Attribute Coverage display module************************-->
330 1695 tao
   <xsl:template name="datasetattributecoverage">
331
     <tr><td>
332
         <right>
333 1715 tao
            <h3>Attribute Coverage</h3>
334 1695 tao
         </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 1683 tao
              <xsl:for-each select="dataTable">
348
                  <xsl:if test="position()=$entityindex">
349 1695 tao
                         <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 1683 tao
                                </xsl:for-each>
369 1695 tao
                           </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 1683 tao
                  </xsl:if>
388
              </xsl:for-each>
389
            </xsl:if>
390 1695 tao
            <xsl:if test="$entitytype='spatialRaster'">
391 1689 tao
              <xsl:for-each select="spatialRaster">
392
                  <xsl:if test="position()=$entityindex">
393 1695 tao
                         <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 1689 tao
                                </xsl:for-each>
413 1695 tao
                           </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 1689 tao
                  </xsl:if>
432
              </xsl:for-each>
433
            </xsl:if>
434 1695 tao
            <xsl:if test="$entitytype='spatialVector'">
435 1689 tao
              <xsl:for-each select="spatialVector">
436
                  <xsl:if test="position()=$entityindex">
437 1695 tao
                         <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 1689 tao
                                </xsl:for-each>
457 1695 tao
                           </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 1689 tao
                  </xsl:if>
476
              </xsl:for-each>
477
            </xsl:if>
478 1695 tao
            <xsl:if test="$entitytype='storedProcedure'">
479 1689 tao
              <xsl:for-each select="storedProcedure">
480
                  <xsl:if test="position()=$entityindex">
481 1695 tao
                         <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 1689 tao
                                </xsl:for-each>
501 1695 tao
                           </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 1689 tao
                  </xsl:if>
520
              </xsl:for-each>
521
            </xsl:if>
522 1695 tao
            <xsl:if test="$entitytype='view'">
523 1689 tao
              <xsl:for-each select="view">
524
                  <xsl:if test="position()=$entityindex">
525 1695 tao
                         <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 1689 tao
                                </xsl:for-each>
545 1695 tao
                           </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 1689 tao
                  </xsl:if>
564
              </xsl:for-each>
565
            </xsl:if>
566 1695 tao
            <xsl:if test="$entitytype='otherEntity'">
567 1689 tao
              <xsl:for-each select="otherEntity">
568
                  <xsl:if test="position()=$entityindex">
569 1695 tao
                         <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 1689 tao
                                </xsl:for-each>
589 1695 tao
                           </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 1689 tao
                  </xsl:if>
608
              </xsl:for-each>
609
            </xsl:if>
610 1683 tao
   </xsl:template>
611 1632 tao
612 1695 tao
   <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 1632 tao
629 1695 tao
   <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 1689 tao
   </xsl:template>
656 1632 tao
657 1680 tao
658
659 1709 tao
   <!--*************************Distribution Inline Data display module*****************-->
660 1735 tao
   <xsl:template name="emlinlinedata">
661 1683 tao
      <tr><td>
662 1689 tao
         <right>
663 1683 tao
            <h3>Inline Data</h3>
664 1689 tao
         </right>
665 1683 tao
      </td></tr>
666
      <tr>
667
           <td width="100%">
668
            <xsl:if test="$distributionlevel='toplevel'">
669
               <xsl:for-each select="distribution">
670 1735 tao
                  <xsl:if test="position()=$distributionindex">
671 1683 tao
                     <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 1735 tao
              <xsl:if test="$entitytype='spatialRaster'">
710
                <xsl:for-each select="spatialRaster">
711
                  <xsl:if test="position()=$entityindex">
712
                      <xsl:choose>
713
                       <xsl:when test="references!=''">
714
                          <xsl:variable name="ref_id2" select="references"/>
715
                          <xsl:variable name="references2" select="$ids[@id=$ref_id2]" />
716
                          <xsl:for-each select="$references2">
717
                             <xsl:call-template name="choosephysical"/>
718
                          </xsl:for-each>
719
                       </xsl:when>
720
                       <xsl:otherwise>
721
                           <xsl:call-template name="choosephysical"/>
722
                       </xsl:otherwise>
723
                     </xsl:choose>
724
                  </xsl:if>
725
                </xsl:for-each>
726
              </xsl:if>
727
              <xsl:if test="$entitytype='spatialVector'">
728
                <xsl:for-each select="spatialVector">
729
                  <xsl:if test="position()=$entityindex">
730
                      <xsl:choose>
731
                       <xsl:when test="references!=''">
732
                          <xsl:variable name="ref_id2" select="references"/>
733
                          <xsl:variable name="references2" select="$ids[@id=$ref_id2]" />
734
                          <xsl:for-each select="$references2">
735
                             <xsl:call-template name="choosephysical"/>
736
                          </xsl:for-each>
737
                       </xsl:when>
738
                       <xsl:otherwise>
739
                           <xsl:call-template name="choosephysical"/>
740
                       </xsl:otherwise>
741
                     </xsl:choose>
742
                  </xsl:if>
743
                </xsl:for-each>
744
              </xsl:if>
745
              <xsl:if test="$entitytype='storedProcedure'">
746
                <xsl:for-each select="storedProcedure">
747
                  <xsl:if test="position()=$entityindex">
748
                      <xsl:choose>
749
                       <xsl:when test="references!=''">
750
                          <xsl:variable name="ref_id2" select="references"/>
751
                          <xsl:variable name="references2" select="$ids[@id=$ref_id2]" />
752
                          <xsl:for-each select="$references2">
753
                             <xsl:call-template name="choosephysical"/>
754
                          </xsl:for-each>
755
                       </xsl:when>
756
                       <xsl:otherwise>
757
                           <xsl:call-template name="choosephysical"/>
758
                       </xsl:otherwise>
759
                     </xsl:choose>
760
                  </xsl:if>
761
                </xsl:for-each>
762
              </xsl:if>
763
              <xsl:if test="$entitytype='view'">
764
                <xsl:for-each select="view">
765
                  <xsl:if test="position()=$entityindex">
766
                      <xsl:choose>
767
                       <xsl:when test="references!=''">
768
                          <xsl:variable name="ref_id2" select="references"/>
769
                          <xsl:variable name="references2" select="$ids[@id=$ref_id2]" />
770
                          <xsl:for-each select="$references2">
771
                             <xsl:call-template name="choosephysical"/>
772
                          </xsl:for-each>
773
                       </xsl:when>
774
                       <xsl:otherwise>
775
                           <xsl:call-template name="choosephysical"/>
776
                       </xsl:otherwise>
777
                     </xsl:choose>
778
                  </xsl:if>
779
                </xsl:for-each>
780
              </xsl:if>
781
              <xsl:if test="$entitytype='otherEntity'">
782
                <xsl:for-each select="otherEntity">
783
                  <xsl:if test="position()=$entityindex">
784
                      <xsl:choose>
785
                       <xsl:when test="references!=''">
786
                          <xsl:variable name="ref_id2" select="references"/>
787
                          <xsl:variable name="references2" select="$ids[@id=$ref_id2]" />
788
                          <xsl:for-each select="$references2">
789
                             <xsl:call-template name="choosephysical"/>
790
                          </xsl:for-each>
791
                       </xsl:when>
792
                       <xsl:otherwise>
793
                           <xsl:call-template name="choosephysical"/>
794
                       </xsl:otherwise>
795
                     </xsl:choose>
796
                  </xsl:if>
797
                </xsl:for-each>
798
              </xsl:if>
799 1683 tao
            </xsl:if>
800
          </td>
801
      </tr>
802
   </xsl:template>
803 1680 tao
804 1683 tao
   <xsl:template name="choosephysical">
805
      <xsl:for-each select="physical">
806 1695 tao
         <xsl:if test="position()=$physicalindex">
807 1683 tao
            <xsl:choose>
808
               <xsl:when test="references!=''">
809
                  <xsl:variable name="ref_id" select="references"/>
810
                  <xsl:variable name="references" select="$ids[@id=$ref_id]" />
811
                  <xsl:for-each select="$references">
812
                     <xsl:call-template name="choosedistribution"/>
813
                  </xsl:for-each>
814
               </xsl:when>
815
               <xsl:otherwise>
816
                  <xsl:call-template name="choosedistribution"/>
817
              </xsl:otherwise>
818
           </xsl:choose>
819 1686 tao
        </xsl:if>
820 1683 tao
      </xsl:for-each>
821
   </xsl:template>
822 1680 tao
823 1683 tao
   <xsl:template name="choosedistribution">
824
      <xsl:for-each select="distribution">
825 1686 tao
         <xsl:if test="$distributionindex=position()">
826 1683 tao
            <xsl:choose>
827
               <xsl:when test="references!=''">
828
                  <xsl:variable name="ref_id" select="references"/>
829
                  <xsl:variable name="references" select="$ids[@id=$ref_id]" />
830
                  <xsl:for-each select="$references">
831
                     <xsl:for-each select="inline">
832
                        <xsl:value-of select="."/>
833
                      </xsl:for-each>
834
                  </xsl:for-each>
835
               </xsl:when>
836
               <xsl:otherwise>
837
                  <xsl:for-each select="inline">
838
                    <xsl:value-of select="."/>
839
                  </xsl:for-each>
840
              </xsl:otherwise>
841
           </xsl:choose>
842 1686 tao
        </xsl:if>
843 1683 tao
      </xsl:for-each>
844
   </xsl:template>
845 1680 tao
846
847 1632 tao
     <!--********************************************************
848
                     Citation part
849
       ********************************************************-->
850
   <xsl:template name="emlcitation">
851 1735 tao
     <xsl:choose>
852
       <xsl:when test="$displaymodule='inlinedata'">
853
          <xsl:call-template name="emlinlinedata"/>
854
       </xsl:when>
855
       <xsl:otherwise>
856 1696 tao
        <table xsl:use-attribute-sets="cellspacing" class="tabledefault" width="100%">
857 1632 tao
        <tr>
858 1689 tao
          <td width="100%" colspan="2">
859
             <right>
860
               <h3>Citation Description</h3>
861
             </right>
862
          </td>
863
        </tr>
864
        <xsl:call-template name="identifier">
865 553 tao
              <xsl:with-param name="packageID" select="../@packageId"/>
866
              <xsl:with-param name="system" select="../@system"/>
867 1689 tao
        </xsl:call-template>
868 1632 tao
        <tr>
869 1689 tao
          <td width="100%" colspan="2">
870 1632 tao
            <xsl:call-template name="citation">
871
               <xsl:with-param name="citationfirstColStyle" select="$firstColStyle"/>
872
               <xsl:with-param name="citationsubHeaderStyle" select="$subHeaderStyle"/>
873
           </xsl:call-template>
874
          </td>
875
        </tr>
876 1735 tao
      </table>
877
     </xsl:otherwise>
878
    </xsl:choose>
879 553 tao
   </xsl:template>
880
881 1632 tao
882
883
     <!--********************************************************
884
                    Software part
885
       ********************************************************-->
886
887
   <xsl:template name="emlsoftware">
888 1735 tao
     <xsl:choose>
889
       <xsl:when test="$displaymodule='inlinedata'">
890
          <xsl:call-template name="emlinlinedata"/>
891
       </xsl:when>
892
       <xsl:otherwise>
893
          <table xsl:use-attribute-sets="cellspacing" class="tabledefault" width="100%">
894
          <tr>
895
            <td width="100%" colspan="2">
896 1689 tao
             <right>
897
               <h3>Software Description</h3>
898
             </right>
899 1735 tao
           </td>
900
          </tr>
901
          <xsl:call-template name="identifier">
902 553 tao
              <xsl:with-param name="packageID" select="../@packageId"/>
903
              <xsl:with-param name="system" select="../@system"/>
904 1735 tao
          </xsl:call-template>
905
          <tr>
906
           <td width="100%" colspan="2">
907 1680 tao
            <xsl:call-template name="software">
908
               <xsl:with-param name="softwarefirstColStyle" select="$firstColStyle"/>
909
               <xsl:with-param name="softwaresubHeaderStyle" select="$subHeaderStyle"/>
910
           </xsl:call-template>
911 1735 tao
           </td>
912
         </tr>
913
       </table>
914
      </xsl:otherwise>
915
     </xsl:choose>
916 553 tao
   </xsl:template>
917
918 1632 tao
919
     <!--********************************************************
920
                    Protocal part
921
       ********************************************************-->
922
923
   <xsl:template name="emlprotocol">
924 1735 tao
    <xsl:choose>
925
       <xsl:when test="$displaymodule='inlinedata'">
926
          <xsl:call-template name="emlinlinedata"/>
927
       </xsl:when>
928
       <xsl:otherwise>
929
        <table xsl:use-attribute-sets="cellspacing" class="tabledefault" width="100%">
930
         <tr>
931 1689 tao
          <td width="100%" colspan="2">
932
             <right>
933
               <h3>Protocal Description</h3>
934
             </right>
935
          </td>
936 1735 tao
         </tr>
937
         <xsl:call-template name="identifier">
938 553 tao
              <xsl:with-param name="packageID" select="../@packageId"/>
939
              <xsl:with-param name="system" select="../@system"/>
940 1735 tao
         </xsl:call-template>
941
         <tr>
942
          <td width="100%" colspan="2">
943 1680 tao
            <xsl:call-template name="protocol">
944
               <xsl:with-param name="protocolfirstColStyle" select="$firstColStyle"/>
945
               <xsl:with-param name="protocolsubHeaderStyle" select="$subHeaderStyle"/>
946
           </xsl:call-template>
947
          </td>
948 1735 tao
         </tr>
949
       </table>
950
      </xsl:otherwise>
951
    </xsl:choose>
952 553 tao
   </xsl:template>
953 1686 tao
954
      <!--********************************************************
955
                   additionalmetadata part
956
       ********************************************************-->
957
   <xsl:template name="additionalmetadataURL">
958
     <xsl:param name="index"/>
959 1696 tao
     <table xsl:use-attribute-sets="cellspacing"  class="default" width="100%">
960 1686 tao
       <tr><td width="100%" class="{$subHeaderStyle}">
961
              <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>
962
              <b>Additional Metadata</b></a>
963
           </td>
964
       </tr>
965
     </table>
966
   </xsl:template>
967 1696 tao
     <!--********************************************************
968
                   download xml part
969
       ********************************************************-->
970
   <xsl:template name="xml">
971
     <xsl:param name="index"/>
972
     <table xsl:use-attribute-sets="cellspacing"  class="default" width="100%">
973
       <tr><td width="100%" class="{$subHeaderStyle}">
974
              <a><xsl:attribute name="href"><xsl:value-of select="$xmlURI"/><xsl:value-of select="$docid"/></xsl:attribute>
975
              <b>Original XML File</b></a>
976
           </td>
977
       </tr>
978
     </table>
979
   </xsl:template>
980 553 tao
</xsl:stylesheet>