Project

General

Profile

1 7982 leinfelder
<?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
34
35 8005 leinfelder
  <xsl:output method="html" encoding="UTF-8"
36 7982 leinfelder
    doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
37
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
38
    indent="yes" />
39
40
  <xsl:template match="dataset" mode="dataset">
41
      <xsl:choose>
42
         <xsl:when test="references!=''">
43
          <xsl:variable name="ref_id" select="references"/>
44
          <xsl:variable name="references" select="$ids[@id=$ref_id]" />
45
          <xsl:for-each select="$references">
46
             <xsl:call-template name="datasetmixed"/>
47
          </xsl:for-each>
48
       </xsl:when>
49
       <xsl:otherwise>
50
             <xsl:call-template name="datasetmixed"/>
51
       </xsl:otherwise>
52
      </xsl:choose>
53
54
  </xsl:template>
55
56
  <xsl:template name="datasetmixed">
57 7986 leinfelder
58 7982 leinfelder
     <!-- citation -->
59 7986 leinfelder
	<xsl:for-each select=".">
60
		<xsl:call-template name="datasetcitation" />
61
    </xsl:for-each>
62 7982 leinfelder
63 7986 leinfelder
     <h4>General</h4>
64 7982 leinfelder
             <!-- put in the title -->
65
             <xsl:if test="./title">
66
               <xsl:for-each select="./title">
67
                 <xsl:call-template name="resourcetitle">
68
                   <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
69
                   <xsl:with-param name="ressecondColStyle" select="$secondColStyle"/>
70
                 </xsl:call-template>
71
               </xsl:for-each>
72
             </xsl:if>
73
             <!-- put in the short name -->
74
             <xsl:if test="shortName">
75
             <xsl:for-each select="./shortName">
76
             <xsl:call-template name="resourceshortName">
77
               <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
78
               <xsl:with-param name="ressecondColStyle" select="$secondColStyle"/>
79
             </xsl:call-template>
80
             </xsl:for-each>
81
             </xsl:if>
82
             <!-- put in the identifier and system that the ID belongs to -->
83
             <xsl:if test="../@packageId">
84 9352 walker
	             <xsl:for-each select="../@packageId">
85
	             	<xsl:call-template name="identifier">
86
		               <xsl:with-param name="packageID" select="../@packageId"/>
87
		               <xsl:with-param name="system" select="../@system"/>
88
		               <xsl:with-param name="IDfirstColStyle" select="$firstColStyle"/>
89
		               <xsl:with-param name="IDsecondColStyle" select="$secondColStyle"/>
90
		             </xsl:call-template>
91
	             </xsl:for-each>
92 7982 leinfelder
             </xsl:if>
93
             <!-- put in the alternate identifiers -->
94 10355 mecum
             <xsl:if test="alternateIdentifier">
95 7982 leinfelder
             <xsl:for-each select="alternateIdentifier">
96
               <xsl:call-template name="resourcealternateIdentifier">
97 10356 mecum
                   <xsl:with-param name="system" select="./@system"/>
98
                   <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
99 7982 leinfelder
                 <xsl:with-param name="ressecondColStyle" select="$secondColStyle"/>
100
               </xsl:call-template>
101
             </xsl:for-each>
102
             </xsl:if>
103
             <!-- put in the text of the abstract-->
104
             <xsl:if test="./abstract">
105
             <xsl:for-each select="./abstract">
106
               <xsl:call-template name="resourceabstract">
107
                 <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
108
                 <xsl:with-param name="ressecondColStyle" select="$secondColStyle"/>
109
               </xsl:call-template>
110
             </xsl:for-each>
111
             </xsl:if>
112
             <!-- put in the purpose of the dataset-->
113
             <xsl:if test="./purpose">
114
             <xsl:for-each select="./purpose">
115
               <xsl:call-template name="datasetpurpose">
116
                 <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
117
                 <xsl:with-param name="ressecondColStyle" select="$secondColStyle"/>
118
               </xsl:call-template>
119
             </xsl:for-each>
120
             </xsl:if>
121
             <!-- put in the keyword sets -->
122
             <xsl:if test="keywordSet">
123 7986 leinfelder
             	<div class="row-fluid">
124
					<div class="control-group">
125
						<label class="control-label">
126 8003 leinfelder
							<xsl:text>Keywords</xsl:text>
127 7986 leinfelder
						</label>
128 7987 leinfelder
						<div class="controls controls-well">
129 7986 leinfelder
							<xsl:for-each select="keywordSet">
130
								<xsl:call-template name="resourcekeywordSet" >
131
									<xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
132
									<xsl:with-param name="ressecondColStyle" select="$secondColStyle"/>
133
								</xsl:call-template>
134
							</xsl:for-each>
135
						</div>
136
					</div>
137
				</div>
138 7982 leinfelder
             </xsl:if>
139 10374 walker
140
141
		     <!-- add in additionalInfo -->
142
		     <div class="control-group">
143
		         <xsl:if test="additionalInfo">
144
		           <label class="control-label"><xsl:text>Additional Info</xsl:text></label>
145
		           <xsl:for-each select="additionalInfo">
146
		       			<div class="controls controls-well">
147
			              <xsl:call-template name="text">
148
			                <xsl:with-param name="textfirstColStyle" select="$firstColStyle"/>
149
			              </xsl:call-template>
150
		          		</div>
151
		           </xsl:for-each>
152
		         </xsl:if>
153
		     </div>
154 7982 leinfelder
155
             <!-- put in the publication date -->
156
             <xsl:if test="./pubDate">
157
               <xsl:for-each select="pubDate">
158
                <xsl:call-template name="resourcepubDate" >
159
                  <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
160
                 </xsl:call-template>
161
               </xsl:for-each>
162
             </xsl:if>
163
164
             <!-- put in the language -->
165
             <xsl:if test="./language">
166
               <xsl:for-each select="language">
167
                 <xsl:call-template name="resourcelanguage" >
168
                   <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
169
                  </xsl:call-template>
170
               </xsl:for-each>
171
             </xsl:if>
172
173
             <!-- put in the series -->
174
             <xsl:if test="./series">
175
               <xsl:for-each select="series">
176
                 <xsl:call-template name="resourceseries" >
177
                   <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
178
                 </xsl:call-template>
179
               </xsl:for-each>
180
             </xsl:if>
181 7986 leinfelder
182
183
184 7982 leinfelder
           <!-- create a second easy access table listing the data entities -->
185
           <xsl:if test="dataTable|spatialRaster|spatialVector|storedProcedure|view|otherEntity">
186 7986 leinfelder
			<xsl:if test="$withEntityLinks='1' or $displaymodule = 'printall'">
187 7982 leinfelder
	             <xsl:call-template name="datasetentity"/>
188 7986 leinfelder
			</xsl:if>
189 7982 leinfelder
           </xsl:if>
190 7986 leinfelder
191
192
193 7988 leinfelder
     <h4>People and Associated Parties</h4>
194 7982 leinfelder
195 7989 leinfelder
       <!-- add in the creators -->
196 7982 leinfelder
       <xsl:if test="creator">
197 7988 leinfelder
         <div class="control-group">
198
         	<label class="control-label">
199
         		Data Set Creators
200
         	</label>
201
         	<div class="controls controls-well">
202
		         <xsl:for-each select="creator">
203 8871 leinfelder
204
		         	<xsl:variable name="absolutePath" >
205
			         	<xsl:for-each select="ancestor-or-self::*">
206
			         		<xsl:text>/</xsl:text>
207
			         		<xsl:value-of select="local-name()" />
208
			         	</xsl:for-each>
209
			         </xsl:variable>
210
					<xsl:variable name="index" select="position()" />
211
		         	<div>
212 9487 leinfelder
		         		<!--
213 9403 leinfelder
		         		<div class="annotation-target">
214
			         		<xsl:attribute name="resource">#xpointer(<xsl:value-of select="$absolutePath"/>[<xsl:value-of select="$index"/>])</xsl:attribute>
215
			         		<xsl:attribute name="type">party</xsl:attribute>
216
			         		PARTY
217 9487 leinfelder
			         	</div>
218
			         	-->
219 8875 walker
		               <xsl:call-template name="party">
220
		                 <xsl:with-param name="partyfirstColStyle" select="$firstColStyle"/>
221
		                 <xsl:with-param name="partysecondColStyle" select="$secondColStyle"/>
222
		               </xsl:call-template>
223 8871 leinfelder
		         	</div>
224 7988 leinfelder
		         </xsl:for-each>
225
         	</div>
226
         </div>
227 7982 leinfelder
       </xsl:if>
228
229 7989 leinfelder
       <!-- add in the contacts -->
230 7982 leinfelder
       <xsl:if test="contact">
231 7989 leinfelder
         <div class="control-group">
232
         	<label class="control-label">Data Set Contacts</label>
233
         	<div class="controls controls-well">
234
	         	<xsl:for-each select="contact">
235 8871 leinfelder
	         		<xsl:variable name="absolutePath" >
236
			         	<xsl:for-each select="ancestor-or-self::*">
237
			         		<xsl:text>/</xsl:text>
238
			         		<xsl:value-of select="local-name()" />
239
			         	</xsl:for-each>
240
			         </xsl:variable>
241
					<xsl:variable name="index" select="position()" />
242
		         	<div>
243 9487 leinfelder
		         		<!--
244 9403 leinfelder
		         		<div class="annotation-target">
245
			         		<xsl:attribute name="resource">#xpointer(<xsl:value-of select="$absolutePath"/>[<xsl:value-of select="$index"/>])</xsl:attribute>
246
			         		<xsl:attribute name="type">party</xsl:attribute>
247
			         		PARTY
248
			         	</div>
249 9487 leinfelder
			         	-->
250 8875 walker
	               <xsl:call-template name="party">
251
	                 <xsl:with-param name="partyfirstColStyle" select="$firstColStyle"/>
252
	                 <xsl:with-param name="partysecondColStyle" select="$secondColStyle"/>
253
	               </xsl:call-template>
254 8871 leinfelder
	               </div>
255 7989 leinfelder
256
	         	</xsl:for-each>
257
	         </div>
258
         </div>
259 7982 leinfelder
       </xsl:if>
260
261 7989 leinfelder
       <!-- add in the associatedParty  -->
262 7982 leinfelder
       <xsl:if test="associatedParty">
263 7989 leinfelder
         <div class="control-group">
264
         	<label class="control-label">Associated Parties</label>
265
         	<div class="controls controls-well">
266
				<xsl:for-each select="associatedParty">
267 8871 leinfelder
					<xsl:variable name="absolutePath" >
268
			         	<xsl:for-each select="ancestor-or-self::*">
269
			         		<xsl:text>/</xsl:text>
270
			         		<xsl:value-of select="local-name()" />
271
			         	</xsl:for-each>
272
			         </xsl:variable>
273
					<xsl:variable name="index" select="position()" />
274
		         	<div>
275 9487 leinfelder
		         		<!--
276 9403 leinfelder
		         		<div class="annotation-target">
277
			         		<xsl:attribute name="resource">#xpointer(<xsl:value-of select="$absolutePath"/>[<xsl:value-of select="$index"/>])</xsl:attribute>
278
			         		<xsl:attribute name="type">party</xsl:attribute>
279
			         		PARTY
280
			         	</div>
281 9487 leinfelder
			         	-->
282 8875 walker
					<xsl:call-template name="party">
283
						<xsl:with-param name="partyfirstColStyle" select="$firstColStyle"/>
284
						<xsl:with-param name="partysecondColStyle" select="$secondColStyle"/>
285
					</xsl:call-template>
286 8871 leinfelder
					</div>
287 7989 leinfelder
		         </xsl:for-each>
288
	         </div>
289
         </div>
290
291 7982 leinfelder
       </xsl:if>
292
293
       <!-- add in the metadataProviders using a two column table -->
294
       <xsl:if test="metadataProvider">
295 7989 leinfelder
		<div class="control-group">
296
         	<label class="control-label">Metadata Providers</label>
297
         	<div class="controls controls-well">
298
				<xsl:for-each select="metadataProvider">
299 8871 leinfelder
					<xsl:variable name="absolutePath" >
300
			         	<xsl:for-each select="ancestor-or-self::*">
301
			         		<xsl:text>/</xsl:text>
302
			         		<xsl:value-of select="local-name()" />
303
			         	</xsl:for-each>
304
			         </xsl:variable>
305
					<xsl:variable name="index" select="position()" />
306
		         	<div>
307 9487 leinfelder
		         		<!--
308 9403 leinfelder
		         		<div class="annotation-target">
309
			         		<xsl:attribute name="resource">#xpointer(<xsl:value-of select="$absolutePath"/>[<xsl:value-of select="$index"/>])</xsl:attribute>
310
			         		<xsl:attribute name="type">party</xsl:attribute>
311
			         		PARTY
312
			         	</div>
313 9487 leinfelder
			         	-->
314 8875 walker
	               <xsl:call-template name="party">
315
	                 <xsl:with-param name="partyfirstColStyle" select="$firstColStyle"/>
316
	                 <xsl:with-param name="partysecondColStyle" select="$secondColStyle"/>
317
	               </xsl:call-template>
318 8871 leinfelder
					</div>
319 7989 leinfelder
				</xsl:for-each>
320
		   </div>
321
		</div>
322 7982 leinfelder
       </xsl:if>
323
324
       <!-- add in the publishers using a two column table -->
325
       <xsl:if test="publisher">
326 7989 leinfelder
         <div class="control-group">
327
         	<label class="control-label">Data Set Publishers</label>
328
         	<div class="controls controls-well">
329
		         <xsl:for-each select="publisher">
330 8871 leinfelder
		         	<xsl:variable name="absolutePath" >
331
			         	<xsl:for-each select="ancestor-or-self::*">
332
			         		<xsl:text>/</xsl:text>
333
			         		<xsl:value-of select="local-name()" />
334
			         	</xsl:for-each>
335
			         </xsl:variable>
336
					<xsl:variable name="index" select="position()" />
337
		         	<div>
338 9487 leinfelder
		         		<!--
339 9403 leinfelder
		         		<div class="annotation-target">
340
			         		<xsl:attribute name="resource">#xpointer(<xsl:value-of select="$absolutePath"/>[<xsl:value-of select="$index"/>])</xsl:attribute>
341
			         		<xsl:attribute name="type">party</xsl:attribute>
342
			         		PARTY
343
			         	</div>
344 9487 leinfelder
			         	-->
345 8875 walker
	               <xsl:call-template name="party">
346
	                 <xsl:with-param name="partyfirstColStyle" select="$firstColStyle"/>
347
	                 <xsl:with-param name="partysecondColStyle" select="$secondColStyle"/>
348
	               </xsl:call-template>
349 8871 leinfelder
					</div>
350 7989 leinfelder
		         </xsl:for-each>
351
	         </div>
352
         </div>
353 7982 leinfelder
       </xsl:if>
354
355 7990 leinfelder
     <!-- add in the coverage info -->
356 7991 leinfelder
     <!--  <h4>Context</h4> -->
357 7990 leinfelder
358
     <!-- add in the geographic coverage info -->
359
     <div class="row-fluid">
360 7982 leinfelder
           <xsl:if test="./coverage/geographicCoverage">
361
             <xsl:for-each select="./coverage/geographicCoverage">
362
               <xsl:call-template name="geographicCoverage">
363
                 <xsl:with-param name="firstColStyle" select="$firstColStyle"/>
364
                 <xsl:with-param name="secondColStyle" select="$secondColStyle"/>
365
               </xsl:call-template>
366
             </xsl:for-each>
367
           </xsl:if>
368 7990 leinfelder
       </div>
369 7982 leinfelder
       <!-- add in the temporal coverage info -->
370 7990 leinfelder
       <div class="row-fluid">
371 7982 leinfelder
           <xsl:if test="./coverage/temporalCoverage">
372
             <xsl:for-each select="./coverage/temporalCoverage">
373
               <xsl:call-template name="temporalCoverage">
374
                 <xsl:with-param name="firstColStyle" select="$firstColStyle"/>
375
                 <xsl:with-param name="secondColStyle" select="$secondColStyle"/>
376
               </xsl:call-template>
377
             </xsl:for-each>
378
           </xsl:if>
379 7990 leinfelder
       </div>
380 7982 leinfelder
       <!-- add in the taxonomic coverage info -->
381 7990 leinfelder
       <div class="row-fluid">
382 7982 leinfelder
           <xsl:if test="./coverage/taxonomicCoverage">
383
             <xsl:for-each select="./coverage/taxonomicCoverage">
384
               <xsl:call-template name="taxonomicCoverage">
385
                 <xsl:with-param name="firstColStyle" select="$firstColStyle"/>
386
                 <xsl:with-param name="secondColStyle" select="$secondColStyle"/>
387
               </xsl:call-template>
388
             </xsl:for-each>
389
           </xsl:if>
390 7990 leinfelder
       </div>
391 7982 leinfelder
392 9561 cjones
     <!-- add in the project  info -->
393
394
     <div id="dataset-project" class="row-fluid">
395
         <xsl:if test="./project">
396
           <xsl:call-template name="datasetproject">
397
             <xsl:with-param name="firstColStyle" select="$firstColStyle"/>
398
             <xsl:with-param name="secondColStyle" select="$secondColStyle"/>
399
           </xsl:call-template>
400
         </xsl:if>
401
     </div>
402
403 7982 leinfelder
     <!-- add in the method info -->
404
405 7990 leinfelder
     <div class="row-fluid">
406
         <xsl:if test="./methods">
407
           <xsl:for-each select="./methods">
408
             <xsl:call-template name="datasetmethod">
409
               <xsl:with-param name="methodfirstColStyle" select="$firstColStyle"/>
410
               <xsl:with-param name="methodsecondColStyle" select="$secondColStyle"/>
411
             </xsl:call-template>
412
           </xsl:for-each>
413
         </xsl:if>
414
     </div>
415 7982 leinfelder
416 7990 leinfelder
     <h4>Data Set Usage Rights</h4>
417 7982 leinfelder
418
       <!-- add in the intellectiual rights info -->
419 7990 leinfelder
     <div class="row-fluid">
420
         <xsl:if test="intellectualRights">
421
           <xsl:for-each select="intellectualRights">
422
             <xsl:call-template name="resourceintellectualRights">
423
               <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
424
               <xsl:with-param name="ressecondColStyle" select="$secondColStyle"/>
425
             </xsl:call-template>
426
           </xsl:for-each>
427
         </xsl:if>
428
     </div>
429 7982 leinfelder
430
       <!-- add in the access control info -->
431 7990 leinfelder
     <div class="row-fluid">
432
         <xsl:if test="access">
433
           <xsl:for-each select="access">
434
             <xsl:call-template name="access">
435
               <xsl:with-param name="accessfirstColStyle" select="$firstColStyle"/>
436
               <xsl:with-param name="accesssecondColStyle" select="$secondColStyle"/>
437
             </xsl:call-template>
438
           </xsl:for-each>
439
         </xsl:if>
440
     </div>
441 10372 walker
442 7982 leinfelder
  </xsl:template>
443
444
  <xsl:template name="datasetresource">
445 7990 leinfelder
     <div class="row-fluid">
446
        <xsl:call-template name="resource">
447
          <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
448
          <xsl:with-param name="ressubHeaderStyle" select="$subHeaderStyle"/>
449
        </xsl:call-template>
450
     </div>
451 7982 leinfelder
  </xsl:template>
452
453
454
  <xsl:template name="datasetpurpose">
455
    <xsl:for-each select="purpose">
456 7990 leinfelder
      <div class="control-group">
457
      	<label class="control-label"><xsl:text>Purpose</xsl:text></label>
458
       	<div  class="controls">
459 7982 leinfelder
            &#160;
460
              <xsl:call-template name="text">
461
                <xsl:with-param name="textfirstColStyle" select="$firstColStyle"/>
462
              </xsl:call-template>
463 7990 leinfelder
          </div>
464
       </div>
465 7982 leinfelder
     </xsl:for-each>
466
  </xsl:template>
467
468
  <xsl:template name="datasetmaintenance">
469
    <xsl:for-each select="maintenance">
470 7990 leinfelder
      <div class="control-group">
471
      	<label class="control-label"><xsl:text>Maintenance</xsl:text></label>
472
      	<div class="controls">
473
		     <xsl:call-template name="mantenancedescription"/>
474
		      <div class="control-group">
475
      			<label class="control-label">Frequency</label>
476
		        <div class="controls" >
477
		           <xsl:value-of select="maintenanceUpdateFrequency"/>
478
		        </div>
479
		     </div>
480
		     <xsl:call-template name="datasetchangehistory"/>
481
		   </div>
482
		</div>
483
   	</xsl:for-each>
484 7982 leinfelder
  </xsl:template>
485
486
  <xsl:template name="mantenancedescription">
487
   <xsl:for-each select="description">
488 7990 leinfelder
     <div class="control-group">
489
      	<label class="control-label">Description</label>
490
        <div class="controls">
491 7982 leinfelder
            <xsl:call-template name="text">
492
               <xsl:with-param name="textfirstColStyle" select="$firstColStyle"/>
493
             </xsl:call-template>
494 7990 leinfelder
          </div>
495
     </div>
496 7982 leinfelder
    </xsl:for-each>
497
  </xsl:template>
498
499
   <xsl:template name="datasetchangehistory">
500
   <xsl:if test="changeHistory">
501 7990 leinfelder
     <div class="control-group">
502
      	<label class="control-label">History</label>
503
          <div class="controls">
504 7982 leinfelder
              <xsl:for-each select="changeHistory">
505
                <xsl:call-template name="historydetails"/>
506
              </xsl:for-each>
507 7990 leinfelder
          </div>
508
     </div>
509 7982 leinfelder
     </xsl:if>
510
   </xsl:template>
511
512
   <xsl:template name="historydetails">
513 7990 leinfelder
        <div class="control-group">
514 8008 leinfelder
	      	<label class="control-label">scope</label>
515 7990 leinfelder
	        <div class="controls">
516
	            <xsl:value-of select="changeScope"/>
517
	        </div>
518
        </div>
519
        <div class="control-group">
520 8008 leinfelder
	      	<label class="control-label">old value</label>
521 7990 leinfelder
	        <div class="controls">
522
	            <xsl:value-of select="oldValue"/>
523
        	</div>
524
       	</div>
525
        <div class="control-group">
526 8008 leinfelder
      		<label class="control-label">change date</label>
527 7990 leinfelder
            <div class="controls">
528
	            <xsl:value-of select="changeDate"/>
529
	        </div>
530
	    </div>
531 7982 leinfelder
        <xsl:if test="comment and normalize-space(comment)!=''">
532 7990 leinfelder
			<div class="control-group">
533 8008 leinfelder
      			<label class="control-label">comment</label>
534 7990 leinfelder
      			<div class="controls">
535
		            <xsl:value-of select="comment"/>
536
				</div>
537
			</div>
538 7982 leinfelder
        </xsl:if>
539
  </xsl:template>
540
541
  <xsl:template name="datasetcontact">
542 7990 leinfelder
    <div class="control-group">
543
      	<label class="control-label"><xsl:text>Contact</xsl:text></label>
544
	    <div class="controls">
545
		    <xsl:for-each select="contact">
546
			       <xsl:call-template name="party">
547
		              <xsl:with-param name="partyfirstColStyle" select="$firstColStyle"/>
548
		       </xsl:call-template>
549
	    	</xsl:for-each>
550
	    </div>
551
	</div>
552 7982 leinfelder
  </xsl:template>
553
554
  <xsl:template name="datasetpublisher">
555
   <xsl:for-each select="publisher">
556 7990 leinfelder
     <div class="control-group">
557 8008 leinfelder
      	<label class="control-label"><xsl:text>Publisher</xsl:text></label>
558 7990 leinfelder
     	<div class="controls">
559
	       <xsl:call-template name="party">
560
	              <xsl:with-param name="partyfirstColStyle" select="$firstColStyle"/>
561
	       </xsl:call-template>
562
     	</div>
563
     </div>
564 7982 leinfelder
   </xsl:for-each>
565
  </xsl:template>
566
567
  <xsl:template name="datasetpubplace">
568
    <xsl:for-each select="pubPlace">
569 7990 leinfelder
      <div class="control-group">
570
      	<label class="control-label">Publish Place</label>
571
        <div class="controls">
572 7982 leinfelder
          <xsl:value-of select="."/>
573 7990 leinfelder
		</div>
574
      </div>
575 7982 leinfelder
   </xsl:for-each>
576
  </xsl:template>
577
578
  <xsl:template name="datasetmethod">
579
     <xsl:for-each select=".">
580
        <xsl:call-template name="method">
581
          <xsl:with-param name="methodfirstColStyle" select="$firstColStyle"/>
582
        </xsl:call-template>
583
    </xsl:for-each>
584
  </xsl:template>
585
586
  <xsl:template name="datasetproject">
587 9561 cjones
    <h4><xsl:text>Project Information</xsl:text></h4>
588 7982 leinfelder
    <xsl:for-each select="project">
589 7990 leinfelder
     <div class="row-fluid">
590 7982 leinfelder
       <xsl:call-template name="project">
591
         <xsl:with-param name="projectfirstColStyle" select="$firstColStyle"/>
592
       </xsl:call-template>
593 7990 leinfelder
     </div>
594 7982 leinfelder
    </xsl:for-each>
595
  </xsl:template>
596
597
   <xsl:template name="datasetaccess">
598
    <xsl:for-each select="access">
599 7990 leinfelder
      <div class="row-fluid">
600 7982 leinfelder
        <xsl:call-template name="access">
601
          <xsl:with-param name="accessfirstColStyle" select="$firstColStyle"/>
602
          <xsl:with-param name="accesssubHeaderStyle" select="$subHeaderStyle"/>
603
        </xsl:call-template>
604 7990 leinfelder
      </div>
605 7982 leinfelder
    </xsl:for-each>
606
  </xsl:template>
607
608
	<xsl:template name="datasetentity">
609
		<xsl:if test="dataTable or spatialRaster or spatialVector or storedProcedures or view or otherEntity">
610 7987 leinfelder
			<h4>
611 7990 leinfelder
				<xsl:text>Data Table, Image, and Other Data Details</xsl:text>
612 7987 leinfelder
			</h4>
613 7982 leinfelder
		</xsl:if>
614
615 9518 leinfelder
616
		<!--  <xsl:call-template name="xml" /> -->
617 7982 leinfelder
618
		<xsl:choose>
619
			<xsl:when test="$displaymodule!='printall'">
620
				<xsl:for-each select="dataTable">
621
					<xsl:call-template name="entityurl">
622
						<xsl:with-param name="type">dataTable</xsl:with-param>
623
						<xsl:with-param name="showtype">Data Table</xsl:with-param>
624
						<xsl:with-param name="index" select="position()" />
625
					</xsl:call-template>
626
				</xsl:for-each>
627
				<xsl:for-each select="spatialRaster">
628
					<xsl:call-template name="entityurl">
629
						<xsl:with-param name="type">spatialRaster</xsl:with-param>
630
						<xsl:with-param name="showtype">Spatial Raster</xsl:with-param>
631
						<xsl:with-param name="index" select="position()" />
632
					</xsl:call-template>
633
				</xsl:for-each>
634
				<xsl:for-each select="spatialVector">
635
					<xsl:call-template name="entityurl">
636
						<xsl:with-param name="type">spatialVector</xsl:with-param>
637
						<xsl:with-param name="showtype">Spatial Vector</xsl:with-param>
638
						<xsl:with-param name="index" select="position()" />
639
					</xsl:call-template>
640
				</xsl:for-each>
641
				<xsl:for-each select="storedProcedure">
642
					<xsl:call-template name="entityurl">
643
						<xsl:with-param name="type">storedProcedure</xsl:with-param>
644
						<xsl:with-param name="showtype">Stored Procedure</xsl:with-param>
645
						<xsl:with-param name="index" select="position()" />
646
					</xsl:call-template>
647
				</xsl:for-each>
648
				<xsl:for-each select="view">
649
					<xsl:call-template name="entityurl">
650
						<xsl:with-param name="type">view</xsl:with-param>
651
						<xsl:with-param name="showtype">View</xsl:with-param>
652
						<xsl:with-param name="index" select="position()" />
653
					</xsl:call-template>
654
				</xsl:for-each>
655
				<xsl:for-each select="otherEntity">
656
					<xsl:call-template name="entityurl">
657
						<xsl:with-param name="type">otherEntity</xsl:with-param>
658
						<xsl:with-param name="showtype">Other Data</xsl:with-param>
659
						<xsl:with-param name="index" select="position()" />
660
					</xsl:call-template>
661
				</xsl:for-each>
662
			</xsl:when>
663
			<xsl:otherwise>
664
				<xsl:for-each select="dataTable">
665
					<xsl:variable name="currentNode" select="position()" />
666
					<xsl:for-each select="../.">
667 9198 walker
						<div class="control-group entity">
668 8875 walker
							<div class="controls controls-well entitydetails">
669 9199 walker
								<label class="control-label">
670
									<xsl:text>Data Table</xsl:text>
671
								</label>
672 7982 leinfelder
								<xsl:call-template name="chooseentity">
673
									<xsl:with-param name="entitytype">dataTable</xsl:with-param>
674
									<xsl:with-param name="entityindex" select="$currentNode" />
675
								</xsl:call-template>
676 7987 leinfelder
							</div>
677
						</div>
678 7982 leinfelder
					</xsl:for-each>
679
				</xsl:for-each>
680
				<xsl:for-each select="spatialRaster">
681
					<xsl:variable name="currentNode" select="position()" />
682
					<xsl:for-each select="../.">
683 9198 walker
						<div class="control-group entity">
684 8875 walker
							<div class="controls controls-well entitydetails">
685 9199 walker
								<label class="control-label">
686
									<xsl:text>Spatial Raster</xsl:text>
687
								</label>
688 7982 leinfelder
								<xsl:call-template name="chooseentity">
689
									<xsl:with-param name="entitytype">spatialRaster</xsl:with-param>
690
									<xsl:with-param name="entityindex" select="$currentNode" />
691
								</xsl:call-template>
692 7990 leinfelder
							</div>
693
						</div>
694 7982 leinfelder
					</xsl:for-each>
695
				</xsl:for-each>
696
				<xsl:for-each select="spatialVector">
697
					<xsl:variable name="currentNode" select="position()" />
698
					<xsl:for-each select="../.">
699 9198 walker
						<div class="control-group entity">
700 8875 walker
							<div class="controls controls-well entitydetails">
701 9199 walker
								<label class="control-label">
702
									<xsl:text>Spatial Vector</xsl:text>
703
								</label>
704 7982 leinfelder
								<xsl:call-template name="chooseentity">
705
									<xsl:with-param name="entitytype">spatialVector</xsl:with-param>
706
									<xsl:with-param name="entityindex" select="$currentNode" />
707
								</xsl:call-template>
708 7990 leinfelder
							</div>
709
						</div>
710 7982 leinfelder
					</xsl:for-each>
711
				</xsl:for-each>
712
				<xsl:for-each select="storedProcedure">
713
					<xsl:variable name="currentNode" select="position()" />
714
					<xsl:for-each select="../.">
715 9198 walker
						<div class="control-group entity">
716 8875 walker
							<div class="controls controls-well entitydetails">
717 9199 walker
								<label class="control-label">
718
									<xsl:text>Stored Procedure</xsl:text>
719
								</label>
720 7982 leinfelder
								<xsl:call-template name="chooseentity">
721
									<xsl:with-param name="entitytype">storedProcedure</xsl:with-param>
722
									<xsl:with-param name="entityindex" select="$currentNode" />
723
								</xsl:call-template>
724 7990 leinfelder
							</div>
725
						</div>
726 7982 leinfelder
					</xsl:for-each>
727
				</xsl:for-each>
728
				<xsl:for-each select="view">
729
					<xsl:variable name="currentNode" select="position()" />
730
					<xsl:for-each select="../.">
731 9198 walker
						<div class="control-group entity">
732 8875 walker
							<div class="controls controls-well entitydetails">
733 9199 walker
								<label class="control-label">
734
									<xsl:text>View</xsl:text>
735
								</label>
736 7982 leinfelder
								<xsl:call-template name="chooseentity">
737
									<xsl:with-param name="entitytype">view</xsl:with-param>
738
									<xsl:with-param name="entityindex" select="$currentNode" />
739
								</xsl:call-template>
740 7990 leinfelder
							</div>
741
						</div>
742 7982 leinfelder
					</xsl:for-each>
743
				</xsl:for-each>
744
				<xsl:for-each select="otherEntity">
745
					<xsl:variable name="currentNode" select="position()" />
746
					<xsl:for-each select="../.">
747 9198 walker
						<div class="control-group entity">
748 8875 walker
							<div class="controls controls-well entitydetails">
749 9199 walker
								<label class="control-label">
750
									<xsl:text>Other Entity</xsl:text>
751
								</label>
752 7982 leinfelder
								<xsl:call-template name="chooseentity">
753
									<xsl:with-param name="entitytype">otherEntity</xsl:with-param>
754
									<xsl:with-param name="entityindex" select="$currentNode" />
755
								</xsl:call-template>
756 7990 leinfelder
							</div>
757
						</div>
758 7982 leinfelder
					</xsl:for-each>
759
				</xsl:for-each>
760
			</xsl:otherwise>
761
		</xsl:choose>
762
	</xsl:template>
763
764
	<xsl:template name="entityurl">
765
		<xsl:param name="showtype" />
766
		<xsl:param name="type" />
767
		<xsl:param name="index" />
768
		<xsl:choose>
769
			<xsl:when test="references!=''">
770
				<xsl:variable name="ref_id" select="references" />
771
				<xsl:variable name="references" select="$ids[@id=$ref_id]" />
772
				<xsl:for-each select="$references">
773 7987 leinfelder
					<div class="control-group">
774
						<label class="control-label">
775 8008 leinfelder
							View Metadata
776 7987 leinfelder
						</label>
777
						<div class="controls controls-well">
778 7982 leinfelder
							<a>
779
								<xsl:attribute name="href">
780
									<xsl:value-of select="$tripleURI" /><xsl:value-of select="$docid" />&amp;displaymodule=entity&amp;entitytype=<xsl:value-of select="$type"/>&amp;entityindex=<xsl:value-of select="$index"/>
781
								</xsl:attribute>
782 7987 leinfelder
								<xsl:value-of select="./physical/objectName"/>
783 7982 leinfelder
							</a>
784 7987 leinfelder
						</div>
785
					</div>
786 7982 leinfelder
				</xsl:for-each>
787
			</xsl:when>
788
			<xsl:otherwise>
789 7987 leinfelder
				<div class="control-group">
790
					<label class="control-label">
791 8008 leinfelder
						<xsl:value-of select="$showtype"/>
792 7987 leinfelder
					</label>
793
					<div class="controls controls-well">
794 7982 leinfelder
						<xsl:value-of select="./entityName"/>
795
						(<a>
796
						<xsl:attribute name="href">
797
						<xsl:value-of select="$tripleURI"/><xsl:value-of select="$docid"/>&amp;displaymodule=entity&amp;entitytype=<xsl:value-of select="$type"/>&amp;entityindex=<xsl:value-of select="$index"/></xsl:attribute>
798
						View Metadata</a>
799
						<xsl:text> </xsl:text>
800
					    <xsl:choose>
801
						    <xsl:when test="./physical/distribution/online/url">
802
						    	|
803
						    	<xsl:variable name="URL" select="./physical/distribution/online/url"/>
804
					            <a>
805
									<xsl:choose>
806
										<xsl:when test="starts-with($URL,'ecogrid')">
807
											<xsl:variable name="URL1" select="substring-after($URL, 'ecogrid://')"/>
808
											<xsl:variable name="dataDocID" select="substring-after($URL1, '/')"/>
809 8076 leinfelder
											<xsl:attribute name="href">
810
												<xsl:value-of select="$tripleURI"/><xsl:value-of select="$dataDocID"/>
811
											</xsl:attribute>
812 7982 leinfelder
										</xsl:when>
813
										<xsl:otherwise>
814
											<xsl:attribute name="href"><xsl:value-of select="$URL"/></xsl:attribute>
815
										</xsl:otherwise>
816
									</xsl:choose>
817
								<xsl:attribute name="target">_blank</xsl:attribute>
818 8076 leinfelder
								Download File <i class="icon-download" alt="download"></i>
819
								</a>
820 7982 leinfelder
							</xsl:when>
821
						</xsl:choose>)
822 7987 leinfelder
					</div>
823
				</div>
824 7982 leinfelder
			</xsl:otherwise>
825
		</xsl:choose>
826
	</xsl:template>
827
828
  <xsl:template match="text()" mode="dataset" />
829
  <xsl:template match="text()" mode="resource" />
830
831
</xsl:stylesheet>