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: 2017-09-07 15:15:33 -0700 (Thu, 07 Sep 2017) $'
11
  * '$Revision: 10407 $'
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
  <xsl:output method="html" encoding="UTF-8"
36
    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
	
58
     <!-- citation -->
59
	<xsl:for-each select=".">
60
		<xsl:call-template name="datasetcitation" />
61
    </xsl:for-each>		
62
     
63
     <h4>General</h4>
64
             <!-- 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
	             <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
             </xsl:if>
93
             <!-- put in the alternate identifiers -->
94
             <xsl:if test="alternateIdentifier">
95
             <xsl:for-each select="alternateIdentifier">
96
               <xsl:call-template name="resourcealternateIdentifier">
97
                   <xsl:with-param name="system" select="./@system"/>
98
                   <xsl:with-param name="resfirstColStyle" select="$firstColStyle"/>
99
                 <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
             	<div class="row-fluid">
124
					<div class="control-group">
125
						<label class="control-label">
126
							<xsl:text>Keywords</xsl:text>
127
						</label>	
128
						<div class="controls controls-well">
129
							<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
             </xsl:if>
139
             
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

    
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
             
182
         
183
         
184
           <!-- create a second easy access table listing the data entities -->
185
           <xsl:if test="dataTable|spatialRaster|spatialVector|storedProcedure|view|otherEntity">
186
			<xsl:if test="$withEntityLinks='1' or $displaymodule = 'printall'">
187
	             <xsl:call-template name="datasetentity"/>
188
			</xsl:if>
189
           </xsl:if>
190
           
191

    
192
     
193
     <h4>People and Associated Parties</h4>
194

    
195
       <!-- add in the creators -->
196
       <xsl:if test="creator">
197
         <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
		         
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
		         		<!--
213
		         		<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
			         	</div>
218
			         	-->	
219
		               <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
		         	</div>      
224
		         </xsl:for-each>
225
         	</div>
226
         </div>
227
       </xsl:if>
228

    
229
       <!-- add in the contacts -->
230
       <xsl:if test="contact">
231
         <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
	         		<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
		         		<!--
244
		         		<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
			         	-->
250
	               <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
	               </div>
255
		             
256
	         	</xsl:for-each>
257
	         </div>	
258
         </div>
259
       </xsl:if>
260

    
261
       <!-- add in the associatedParty  -->
262
       <xsl:if test="associatedParty">
263
         <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
					<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
		         		<!--
276
		         		<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
			         	-->
282
					<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
					</div>	
287
		         </xsl:for-each>
288
	         </div>	
289
         </div>
290
		         
291
       </xsl:if>
292

    
293
       <!-- add in the metadataProviders using a two column table -->
294
       <xsl:if test="metadataProvider">
295
		<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
					<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
		         		<!--
308
		         		<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
			         	-->
314
	               <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
					</div>	
319
				</xsl:for-each>
320
		   </div>
321
		</div>      
322
       </xsl:if>
323

    
324
       <!-- add in the publishers using a two column table -->
325
       <xsl:if test="publisher">
326
         <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
		         	<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
		         		<!--
339
		         		<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
			         	-->
345
	               <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
					</div>		
350
		         </xsl:for-each>
351
	         </div>
352
         </div>
353
       </xsl:if>
354

    
355
     <!-- add in the coverage info -->
356
     <!--  <h4>Context</h4> -->
357
     
358
     <!-- add in the geographic coverage info -->
359
     <div class="row-fluid">  
360
           <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
       </div>
369
       <!-- add in the temporal coverage info -->
370
       <div class="row-fluid">
371
           <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
       </div>
380
       <!-- add in the taxonomic coverage info -->
381
       <div class="row-fluid">
382
           <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
       </div>
391

    
392
     <!-- 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
     <!-- add in the method info -->
404

    
405
     <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

    
416
     <h4>Data Set Usage Rights</h4>
417

    
418
       <!-- add in the intellectiual rights info -->
419
     <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

    
430
       <!-- add in the access control info -->
431
     <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
     
442
  </xsl:template>
443

    
444
  <xsl:template name="datasetresource">
445
     <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
  </xsl:template>
452

    
453

    
454
  <xsl:template name="datasetpurpose">
455
    <xsl:for-each select="purpose">
456
      <div class="control-group">
457
      	<label class="control-label"><xsl:text>Purpose</xsl:text></label>
458
       	<div  class="controls">
459
            &#160;
460
              <xsl:call-template name="text">
461
                <xsl:with-param name="textfirstColStyle" select="$firstColStyle"/>
462
              </xsl:call-template>
463
          </div>
464
       </div>
465
     </xsl:for-each>
466
  </xsl:template>
467

    
468
  <xsl:template name="datasetmaintenance">
469
    <xsl:for-each select="maintenance">
470
      <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
  </xsl:template>
485

    
486
  <xsl:template name="mantenancedescription">
487
   <xsl:for-each select="description">
488
     <div class="control-group">
489
      	<label class="control-label">Description</label>
490
        <div class="controls">
491
            <xsl:call-template name="text">
492
               <xsl:with-param name="textfirstColStyle" select="$firstColStyle"/>
493
             </xsl:call-template>
494
          </div>
495
     </div>
496
    </xsl:for-each>
497
  </xsl:template>
498

    
499
   <xsl:template name="datasetchangehistory">
500
   <xsl:if test="changeHistory">
501
     <div class="control-group">
502
      	<label class="control-label">History</label>
503
          <div class="controls">
504
              <xsl:for-each select="changeHistory">
505
                <xsl:call-template name="historydetails"/>
506
              </xsl:for-each>
507
          </div>
508
     </div>
509
     </xsl:if>
510
   </xsl:template>
511

    
512
   <xsl:template name="historydetails">
513
        <div class="control-group">
514
	      	<label class="control-label">scope</label>
515
	        <div class="controls">
516
	            <xsl:value-of select="changeScope"/>
517
	        </div>
518
        </div>
519
        <div class="control-group">
520
	      	<label class="control-label">old value</label>
521
	        <div class="controls">
522
	            <xsl:value-of select="oldValue"/>
523
        	</div>
524
       	</div>
525
        <div class="control-group">
526
      		<label class="control-label">change date</label>
527
            <div class="controls">
528
	            <xsl:value-of select="changeDate"/>
529
	        </div>
530
	    </div>
531
        <xsl:if test="comment and normalize-space(comment)!=''">
532
			<div class="control-group">
533
      			<label class="control-label">comment</label>
534
      			<div class="controls">
535
		            <xsl:value-of select="comment"/>
536
				</div>
537
			</div>
538
        </xsl:if>
539
  </xsl:template>
540

    
541
  <xsl:template name="datasetcontact">
542
    <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
  </xsl:template>
553

    
554
  <xsl:template name="datasetpublisher">
555
   <xsl:for-each select="publisher">
556
     <div class="control-group">
557
      	<label class="control-label"><xsl:text>Publisher</xsl:text></label>
558
     	<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
   </xsl:for-each>
565
  </xsl:template>
566

    
567
  <xsl:template name="datasetpubplace">
568
    <xsl:for-each select="pubPlace">
569
      <div class="control-group">
570
      	<label class="control-label">Publish Place</label>
571
        <div class="controls">
572
          <xsl:value-of select="."/>
573
		</div>
574
      </div>
575
   </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
    <h4><xsl:text>Project Information</xsl:text></h4>
588
    <xsl:for-each select="project">
589
     <div class="row-fluid">
590
       <xsl:call-template name="project">
591
         <xsl:with-param name="projectfirstColStyle" select="$firstColStyle"/>
592
       </xsl:call-template>
593
     </div>
594
    </xsl:for-each>
595
  </xsl:template>
596

    
597
   <xsl:template name="datasetaccess">
598
    <xsl:for-each select="access">
599
      <div class="row-fluid">
600
        <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
      </div>
605
    </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
			<h4>
611
				<xsl:text>Data Table, Image, and Other Data Details</xsl:text>
612
			</h4>
613
		</xsl:if>
614
		
615
		
616
		<!--  <xsl:call-template name="xml" /> -->
617
			
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
						<div class="control-group entity">
668
							<div class="controls controls-well entitydetails">
669
								<label class="control-label">
670
									<xsl:text>Data Table</xsl:text>
671
								</label>
672
								<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
							</div>
677
						</div>
678
					</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
						<div class="control-group entity">
684
							<div class="controls controls-well entitydetails">
685
								<label class="control-label">
686
									<xsl:text>Spatial Raster</xsl:text>
687
								</label>
688
								<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
							</div>
693
						</div>
694
					</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
						<div class="control-group entity">
700
							<div class="controls controls-well entitydetails">
701
								<label class="control-label">
702
									<xsl:text>Spatial Vector</xsl:text>
703
								</label>
704
								<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
							</div>
709
						</div>
710
					</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
						<div class="control-group entity">
716
							<div class="controls controls-well entitydetails">
717
								<label class="control-label">
718
									<xsl:text>Stored Procedure</xsl:text>
719
								</label>
720
								<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
							</div>
725
						</div>
726
					</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
						<div class="control-group entity">
732
							<div class="controls controls-well entitydetails">
733
								<label class="control-label">
734
									<xsl:text>View</xsl:text>
735
								</label>
736
								<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
							</div>
741
						</div>
742
					</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
						<div class="control-group entity">
748
							<div class="controls controls-well entitydetails">
749
								<label class="control-label">
750
									<xsl:text>Other Entity</xsl:text>
751
								</label>
752
								<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
							</div>
757
						</div>
758
					</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
					<div class="control-group">
774
						<label class="control-label">
775
							View Metadata
776
						</label>
777
						<div class="controls controls-well">
778
							<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
								<xsl:value-of select="./physical/objectName"/>
783
							</a>
784
						</div>
785
					</div>
786
				</xsl:for-each>
787
			</xsl:when>
788
			<xsl:otherwise>
789
				<div class="control-group">
790
					<label class="control-label">
791
						<xsl:value-of select="$showtype"/>
792
					</label>
793
					<div class="controls controls-well"> 
794
						<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
											<xsl:attribute name="href">
810
												<xsl:value-of select="$tripleURI"/><xsl:value-of select="$dataDocID"/>
811
											</xsl:attribute>
812
										</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
								Download File <i class="icon-download" alt="download"></i>
819
								</a>
820
							</xsl:when>
821
						</xsl:choose>)
822
					</div>
823
				</div>
824
			</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>
(7-7/27)