Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3
	<xsl:param name="publicRead"/>
4
    <xsl:param name="message"/>
5
    <xsl:param name="sessionid"></xsl:param>
6
    <xsl:param name="enableFGDCediting"/>
7
        
8
    <xsl:template name="metadata">
9
        <article id="Metadata">
10
	    	<div class="container">
11
	    		<div class="row-fluid">
12
				    <xsl:apply-templates select="metadata/idinfo"/>
13
			        <br/>
14
			        <xsl:apply-templates
15
			            select="metadata/distinfo/resdesc[starts-with(text(),$docid)]/ancestor::distinfo"/>
16
	        	</div>
17
	        </div>
18
	    </article>
19
        
20
    </xsl:template>
21
    
22
    <xsl:template match="idinfo">
23
                
24
        <!-- don't want to conflict with the eml-physical.xsl template -->
25
        <xsl:for-each select="citation/citeinfo">
26
        	<xsl:call-template name="fgdcBlockCitation"/>
27
        </xsl:for-each>
28
            
29
        <div class="form-horizontal">
30
        	<xsl:for-each select="citation">
31
	        	<xsl:call-template name="fgdcCitation"/>
32
	        </xsl:for-each>
33
            <xsl:apply-templates select="descript"/>
34
            <xsl:apply-templates select="spdom"/>
35
            <xsl:apply-templates select="keywords"/>
36
            
37
        </div>
38
    </xsl:template>
39
    
40
    <!-- for citation information -->
41
    <xsl:template name="fgdcBlockCitation">
42
    
43
    	<div class="well">
44
    		<div class="row-fluid">
45
    			<div class="span10">
46
    				<xsl:for-each select="origin">
47
		        		<xsl:if test="position() &gt; 1">
48
		        			<xsl:if test="last() &gt; 2">, </xsl:if>
49
		        			<xsl:if test="position() = last()"> and</xsl:if>
50
		        			<xsl:text> </xsl:text>
51
		        		</xsl:if>
52
		        		<xsl:value-of select="." />
53
		        		<xsl:if test="position() = last()">.</xsl:if>
54
		        		<xsl:text> </xsl:text>    		
55
		        	</xsl:for-each>
56
		        	
57
		        	<xsl:value-of select="substring(string(pubdate),1,4)"/>
58
		        	<xsl:if test="substring(string(pubdate),1,4) != ''">
59
		        		<xsl:text>. </xsl:text>    				     		
60
		        	</xsl:if>
61
		        	
62
		        	<!-- title -->
63
					<strong>
64
						<xsl:for-each select="./title">
65
			        		<xsl:value-of select="." />
66
			        		<xsl:text> </xsl:text>    				     		
67
				     	</xsl:for-each>				
68
					</strong>
69
					
70
					<!-- show link? -->
71
					<a> 
72
						<xsl:attribute name="href">
73
							<xsl:value-of select="$viewURI"/><xsl:value-of select="$pid"/>
74
						</xsl:attribute> 
75
						(<xsl:value-of select="$pid"/>)
76
					</a>				        		
77
    			</div>
78
    			<div class="span2">
79
    			
80
    				<form method="get" action="{$contextURL}/style/common/ClientViewHelper.jspx" enctype="application/octet-stream">
81
		               <input name="docid" type="hidden" value="{$docid}"/>
82
		               <input name="qformat" type="hidden" value="{$qformat}"/>
83
		               <input name="metadataDocId" type="hidden" value="{$docid}"/>
84
		               <input name="action" value="Download" type="hidden"/>
85
		               <button class="btn" type="submit">
86
		               		<i class="icon-arrow-down"></i> Download Package
87
		               </button>
88
		           </form>
89
           			<!--  
90
   					<a class="btn">
91
   						<xsl:attribute name="href">
92
							<xsl:value-of select="$packageURI"/><xsl:value-of select="$pid"/>
93
						</xsl:attribute>
94
   						<i class="icon-arrow-down"></i> Download Package
95
   					</a>
96
   					-->
97
    			</div>	
98
  
99
    		</div>
100
				
101
		</div>
102

    
103
   </xsl:template>
104
    
105
    
106
    <xsl:template name="fgdcCitation">
107
        <xsl:apply-templates select="citeinfo"/>
108
    </xsl:template>
109
    
110
    <xsl:template match="citeinfo">
111
        <h4>Citation Information</h4>
112
        
113
        <xsl:apply-templates select="title"/>
114
        <xsl:call-template name="docid"/>
115
        <xsl:for-each select="origin">
116
            <xsl:apply-templates select="."/>
117
	    </xsl:for-each> 
118
        <xsl:apply-templates select="pubdate"/>
119
        <xsl:apply-templates select="edition"/>
120
        <xsl:apply-templates select="geoform"/>
121
        <xsl:apply-templates select="pubinfo"/>
122
        <xsl:apply-templates select="othercit"/>
123
    </xsl:template>
124
    
125
    <xsl:template match="descript">
126
        <h4>Description</h4>
127
        <xsl:apply-templates select="abstract"/>
128
        <xsl:apply-templates select="purpose"/>
129
    </xsl:template>
130
    
131
    <xsl:template match="spdom">
132
        <xsl:apply-templates select="bounding"/>
133
    </xsl:template>
134
    
135
    <xsl:template match="keywords">
136
	    <xsl:apply-templates select="theme"/>
137
	    <xsl:apply-templates select="place"/>
138
    </xsl:template>
139
    
140
    <xsl:template match="theme">
141
        <div class="control-group">
142
			<label class="control-label">Theme Keywords</label>
143
        	<div class="controls controls-well">
144
	            <xsl:apply-templates select="themekey[position()!=last()]">
145
	                <xsl:with-param name="lastPlace">f</xsl:with-param>
146
	            </xsl:apply-templates>
147
	            <xsl:apply-templates select="themekey[position()=last()]">
148
	                <xsl:with-param name="lastPlace">t</xsl:with-param>
149
	            </xsl:apply-templates>
150
        	</div>
151
        </div>	
152
    </xsl:template>
153
    
154
    <xsl:template match="place">
155
        <div class="control-group">
156
			<label class="control-label">Place Keywords</label>
157
        	<div class="controls controls-well">
158
	            <xsl:apply-templates select="placekey[position()!=last()]">
159
	                <xsl:with-param name="lastPlace">f</xsl:with-param>
160
	            </xsl:apply-templates>
161
	            <xsl:apply-templates select="placekey[position()=last()]">
162
	                <xsl:with-param name="lastPlace">t</xsl:with-param>
163
	            </xsl:apply-templates>
164
        	</div>
165
        </div>	
166
    </xsl:template>
167
    
168
    <xsl:template match="themekey">
169
        <xsl:param name="lastPlace"/>
170
        <xsl:value-of select="."/>
171
        <xsl:if test="$lastPlace = 'f'">, </xsl:if>
172
    </xsl:template>
173
    
174
    <xsl:template match="placekey">
175
        <xsl:param name="lastPlace"/>
176
        <xsl:value-of select="."/>
177
        <xsl:if test="$lastPlace = 'f'">, </xsl:if>
178
    </xsl:template>
179
    
180
    <xsl:template match="bounding">
181
        <div class="control-group">
182
			<label class="control-label">Bounding Coordinates</label>
183
        	<div class="controls controls-well">
184
	            <div class="control-group">
185
					<label class="control-label">West</label>
186
	                <div class="controls">
187
                       	<xsl:value-of select="westbc"/>
188
	                </div>
189
				</div> 
190
	            <div class="control-group">
191
					<label class="control-label">East</label>
192
                    <div class="controls">
193
                        <xsl:value-of select="eastbc"/>
194
                    </div>
195
				</div>
196
				<div class="control-group">
197
					<label class="control-label">North</label>
198
                    <div class="controls">
199
                        <xsl:value-of select="northbc"/>
200
                    </div>
201
               	</div>
202
	            <div class="control-group">
203
					<label class="control-label">South</label>
204
                    <div class="controls">
205
                        <xsl:value-of select="southbc"/>
206
                    </div>
207
	            </div>
208
	        </div> 
209
        </div>
210
    </xsl:template>
211
    
212
    <xsl:template match="abstract">
213
        <div class="control-group">
214
			<label class="control-label">Abstract</label>
215
	        <div class="controls controls-well">
216
	            <xsl:value-of select="."/>
217
	        </div>
218
	   	</div> 
219
    </xsl:template>
220
    
221
    <xsl:template match="purpose">
222
        <div class="control-group">
223
			<label class="control-label">Purpose</label>
224
	        <div class="controls controls-well">
225
	            <xsl:value-of select="."/>
226
	        </div>
227
        </div>
228
    </xsl:template>
229
    
230
    <xsl:template match="title">
231
        <div class="control-group">
232
			<label class="control-label">Title</label>
233
	        <div class="controls controls-well">
234
	            <xsl:value-of select="."/>
235
	        </div>
236
        </div>
237
    </xsl:template>
238
    
239
     <xsl:template name="docid">
240
        <div class="control-group">
241
			<label class="control-label">Identifier</label>
242
	        <div class="controls controls-well">
243
	            <xsl:value-of select="$pid"/>
244
	        </div>
245
        </div>
246
    </xsl:template>
247
    
248
    <xsl:template match="origin">
249
        <div class="control-group">
250
			<label class="control-label">Originator</label>
251
	        <div class="controls controls-well">
252
	            <xsl:value-of select="."/>
253
	        </div>
254
       	</div>
255
    </xsl:template>
256
    
257
    <xsl:template match="pubdate">
258
        <div class="control-group">
259
			<label class="control-label">Publication Date</label>
260
	        <div class="controls controls-well">
261
	            <!-- <xsl:call-template name="long_date">-->
262
	            <xsl:call-template name="date_as_is">
263
	                <xsl:with-param name="date">
264
	                    <xsl:value-of select="."/>
265
	                </xsl:with-param>
266
	            </xsl:call-template>
267
	        </div>
268
        </div>
269
    </xsl:template>
270
    
271
    <xsl:template match="edition">
272
        <div class="control-group">
273
			<label class="control-label">Edition</label>
274
	        <div class="controls controls-well">
275
	            <xsl:value-of select="."/>
276
	        </div>
277
        </div>
278
    </xsl:template>
279
    
280
    <xsl:template match="geoform">
281
        <div class="control-group">
282
			<label class="control-label">Geospatial Data Presentation Form</label>
283
	        <div class="controls controls-well">
284
	            <xsl:value-of select="."/>
285
	        </div>
286
        </div>
287
    </xsl:template>
288
    
289
    <xsl:template match="othercit">
290
        <div class="control-group">
291
			<label class="control-label">Other Citation Details</label>
292
	        <div class="controls controls-well">
293
	            <xsl:value-of select="."/>
294
	        </div>
295
        </div>
296
    </xsl:template>
297
    
298
    <xsl:template match="pubinfo">
299
        <div class="control-group">
300
			<label class="control-label">Publication Information</label>
301
	        <div class="controls controls-well">
302
	            <xsl:apply-templates select="pubplace"/>
303
	            <xsl:apply-templates select="publish"/>
304
	        </div>
305
        </div>
306
    </xsl:template>
307
    
308
    <xsl:template match="pubplace">
309
        <div class="control-group">
310
			<label class="control-label">Publication Place</label>
311
	        <div class="controls">
312
	            <xsl:value-of select="."/>
313
	        </div>
314
        </div>
315
    </xsl:template>
316
    
317
    <xsl:template match="publish">
318
        <div class="control-group">
319
			<label class="control-label">Publisher</label>
320
	        <div class="controls">
321
	            <xsl:value-of select="."/>
322
	        </div>
323
        </div>
324
    </xsl:template>
325
    
326
    <xsl:template match="distinfo">
327
    	<h4>Data Package Information</h4>
328
        <div class="form-horizontal">
329
            <xsl:apply-templates select="resdesc"/>
330
            <xsl:apply-templates select="stdorder/digform/digtopt/onlinopt/computer/networka"/>
331
        </div>
332
    </xsl:template>
333
    
334
    <xsl:template match="resdesc">
335
        <div class="control-group">
336
			<label class="control-label">Metadata</label>
337
        	<div class="controls controls-well">
338
        		
339
				<!-- download -->
340
				<form method="get" action="{$contextURL}/style/common/ClientViewHelper.jspx" class="form-inline">
341
					<xsl:value-of select="../custom"/> (<xsl:value-of select="."/>)
342
					<input name="action" value="Download" type="submit"/>
343
					<input name="docid" type="hidden" value="{.}"/>
344
					<input name="qformat" type="hidden" value="{$qformat}"/>
345
					<input name="metadataDocId" type="hidden" value="{.}"/>
346
				</form>
347

    
348
				<xsl:if test="$enableFGDCediting = 'true' and not($sessionid = '')">
349
	
350
					<!-- update -->
351
		       		<form method="post" action="{$contextURL}/style/common/ClientViewHelper.jspx"
352
	                     enctype="multipart/form-data" class="form-inline">
353
	                   <input name="action" value="Update Metadata" type="hidden"/>
354
	                   <input name="docid" type="hidden" value="{.}"/>
355
	                   <input name="qformat" type="hidden" value="{$qformat}"/>
356
	                   <input name="metadataDocId" type="hidden" value="{.}"/>
357
	                   <input name="updateFile" type="file"/>
358
	                   <input name="submit" value="Update" type="submit"/>
359
					</form>
360
				
361
					<!-- set access -->
362
					<form method="get" action="{$contextURL}/style/common/ClientViewHelper.jspx" class="form-inline">
363
		                   <xsl:choose>
364
		                       <xsl:when test="$publicRead = 'true'">
365
		                           <input name="publicAccess" type="checkbox" checked=''/> Public read     
366
		                       </xsl:when>
367
		                       <xsl:otherwise>
368
		                           <input name="publicAccess" type="checkbox"/> Public read                         
369
		                       </xsl:otherwise>
370
		                   </xsl:choose>
371
		                   <input name="docid" type="hidden" value="{.}"/>
372
		                   <input name="qformat" type="hidden" value="{$qformat}"/>
373
		                   <input name="metadataDocId" type="hidden" value="{.}"/>
374
		                   <input name="contentStandard" type="hidden" value="FGDC"/>
375
		                   <input name="action" value="Set Access" type="submit"/>		                   
376
					</form>
377
				
378
					<!-- delete -->
379
		           	<form method="get" action="{$contextURL}/style/common/ClientViewHelper.jspx"
380
		                     enctype="text/html" class="form-inline">
381
		                   <input name="action" value="Delete" type="submit"/>
382
		                   <input name="docid" type="hidden" value="{.}"/>
383
		                   <input name="qformat" type="hidden" value="{$qformat}"/>
384
		                   <input name="metadataDocId" type="hidden" value="{.}"/>
385
					</form>
386
				</xsl:if>
387
			</div>
388
		</div>
389
   </xsl:template>
390
   
391
   <xsl:template match="networka">
392
   		<xsl:apply-templates select="networkr"/>
393
   </xsl:template>
394
   
395
   <xsl:template match="networkr">
396
	<xsl:if test="not(./ancestor::digform/digtinfo/formcont = '')">
397
       <div class="control-group">
398
			<label class="control-label">Data</label>
399
       		<div class="controls controls-well">
400
		        <!-- download -->
401
	           <form method="get" action="{$contextURL}/style/common/ClientViewHelper.jspx" enctype="application/octet-stream" class="form-inline">
402
		        	<xsl:value-of select="./ancestor::digform/digtinfo/formcont"/> (<xsl:value-of select="."/>)
403
					<input name="action" value="Download" type="submit"/>
404
					<input name="docid" type="hidden" value="{.}"/>
405
					<input name="qformat" type="hidden" value="{$qformat}"/>
406
					<input name="metadataDocId" type="hidden" value="{$docid}"/>
407
	           </form>
408
		       	<!-- update -->
409
				<xsl:if test="$enableFGDCediting = 'true' and not($sessionid = '')">
410
		               <form method="post" action="{$contextURL}/style/common/ClientViewHelper.jspx"
411
		                     enctype="multipart/form-data" class="form-inline">
412
		                   <input name="action" value="Update Data" type="hidden"/>
413
		                   <input name="docid" type="hidden" value="{.}"/>
414
		                   <input name="qformat" type="hidden" value="{$qformat}"/>
415
		                   <input name="metadataDocId" type="hidden" value="{$docid}"/>
416
		                   <input name="updateFile" type="file"/>
417
		                   <input name="submit" value="Update" type="submit"/>                    
418
		               </form>
419
		               <!-- delete -->
420
						<form method="get" action="{$contextURL}/style/common/ClientViewHelper.jspx"
421
		                     enctype="text/html" class="form-inline">
422
		                   <input name="action" value="Delete" type="submit"/>
423
		                   <input name="docid" type="hidden" value="{.}"/>
424
		                   <input name="qformat" type="hidden" value="{$qformat}"/>
425
		                   <input name="metadataDocId" type="hidden" value="{$docid}"/>
426
		               </form>	
427
				</xsl:if>                        
428
			</div>
429
		</div>	
430
	</xsl:if>
431
			
432
   </xsl:template>
433
   
434
   <xsl:template name="date_as_is">
435
       <xsl:param name="date"/>
436
       <xsl:value-of select="$date"/>
437
   </xsl:template>
438
   
439
   <xsl:template name="long_date">
440
       <xsl:param name="date"/>
441
       <!-- Day -->
442
       <xsl:value-of select="number(substring($date, 7, 2))"/>
443
       <xsl:text> </xsl:text>
444
       <!-- Month -->
445
       <xsl:variable name="month" select="number(substring($date, 5, 2))"/>
446
       <xsl:choose>
447
           <xsl:when test="$month=1">January</xsl:when>
448
           <xsl:when test="$month=2">February</xsl:when>
449
           <xsl:when test="$month=3">March</xsl:when>
450
           <xsl:when test="$month=4">April</xsl:when>
451
           <xsl:when test="$month=5">May</xsl:when>
452
           <xsl:when test="$month=6">June</xsl:when>
453
           <xsl:when test="$month=7">July</xsl:when>
454
           <xsl:when test="$month=8">August</xsl:when>
455
           <xsl:when test="$month=9">September</xsl:when>
456
           <xsl:when test="$month=10">October</xsl:when>
457
           <xsl:when test="$month=11">November</xsl:when>
458
           <xsl:when test="$month=12">December</xsl:when>
459
           <xsl:otherwise>INVALID MONTH</xsl:otherwise>
460
       </xsl:choose>
461
       <xsl:text> </xsl:text>
462
       <!-- Year -->
463
        <xsl:value-of select="substring($date, 1, 4)"/>
464
    </xsl:template>
465
    
466
</xsl:stylesheet>
    (1-1/1)