Project

General

Profile

1 8024 leinfelder
<?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 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
21
22
    <xsl:template match="idinfo">
23 8030 leinfelder
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 8024 leinfelder
            <xsl:apply-templates select="descript"/>
34
            <xsl:apply-templates select="spdom"/>
35
            <xsl:apply-templates select="keywords"/>
36 8030 leinfelder
37
        </div>
38 8024 leinfelder
    </xsl:template>
39
40 8030 leinfelder
    <!-- 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 8033 leinfelder
							<xsl:value-of select="$viewURI"/><xsl:value-of select="$pid"/>
74 8030 leinfelder
						</xsl:attribute>
75 8033 leinfelder
						(<xsl:value-of select="$pid"/>)
76 8030 leinfelder
					</a>
77
    			</div>
78
    			<div class="span2">
79 8033 leinfelder
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 8030 leinfelder
   					<a class="btn">
91
   						<xsl:attribute name="href">
92 8033 leinfelder
							<xsl:value-of select="$packageURI"/><xsl:value-of select="$pid"/>
93 8030 leinfelder
						</xsl:attribute>
94
   						<i class="icon-arrow-down"></i> Download Package
95
   					</a>
96 8033 leinfelder
   					-->
97 8030 leinfelder
    			</div>
98
99
    		</div>
100
101
		</div>
102
103
   </xsl:template>
104
105
106
    <xsl:template name="fgdcCitation">
107 8024 leinfelder
        <xsl:apply-templates select="citeinfo"/>
108
    </xsl:template>
109
110
    <xsl:template match="citeinfo">
111 8030 leinfelder
        <h4>Citation Information</h4>
112 8024 leinfelder
113 8030 leinfelder
        <xsl:apply-templates select="title"/>
114
        <xsl:call-template name="docid"/>
115 8024 leinfelder
        <xsl:for-each select="origin">
116 8030 leinfelder
            <xsl:apply-templates select="."/>
117 8024 leinfelder
	    </xsl:for-each>
118 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
124
125
    <xsl:template match="descript">
126 8030 leinfelder
        <h4>Description</h4>
127
        <xsl:apply-templates select="abstract"/>
128
        <xsl:apply-templates select="purpose"/>
129 8024 leinfelder
    </xsl:template>
130
131
    <xsl:template match="spdom">
132 8030 leinfelder
        <xsl:apply-templates select="bounding"/>
133 8024 leinfelder
    </xsl:template>
134
135
    <xsl:template match="keywords">
136 8030 leinfelder
	    <xsl:apply-templates select="theme"/>
137
	    <xsl:apply-templates select="place"/>
138 8024 leinfelder
    </xsl:template>
139
140
    <xsl:template match="theme">
141 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
153
154
    <xsl:template match="place">
155 8030 leinfelder
        <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 8024 leinfelder
    </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 8030 leinfelder
        <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 8024 leinfelder
                        <xsl:value-of select="eastbc"/>
194 8030 leinfelder
                    </div>
195
				</div>
196
				<div class="control-group">
197
					<label class="control-label">North</label>
198
                    <div class="controls">
199 8024 leinfelder
                        <xsl:value-of select="northbc"/>
200 8030 leinfelder
                    </div>
201
               	</div>
202
	            <div class="control-group">
203
					<label class="control-label">South</label>
204
                    <div class="controls">
205 8024 leinfelder
                        <xsl:value-of select="southbc"/>
206 8030 leinfelder
                    </div>
207
	            </div>
208
	        </div>
209
        </div>
210 8024 leinfelder
    </xsl:template>
211
212
    <xsl:template match="abstract">
213 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
220
221
    <xsl:template match="purpose">
222 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
229
230
    <xsl:template match="title">
231 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
238
239
     <xsl:template name="docid">
240 8030 leinfelder
        <div class="control-group">
241
			<label class="control-label">Identifier</label>
242
	        <div class="controls controls-well">
243 8033 leinfelder
	            <xsl:value-of select="$pid"/>
244 8030 leinfelder
	        </div>
245
        </div>
246 8024 leinfelder
    </xsl:template>
247
248
    <xsl:template match="origin">
249 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
256
257
    <xsl:template match="pubdate">
258 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
270
271
    <xsl:template match="edition">
272 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
279
280
    <xsl:template match="geoform">
281 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
288
289
    <xsl:template match="othercit">
290 8030 leinfelder
        <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 8024 leinfelder
    </xsl:template>
297
298
    <xsl:template match="pubinfo">
299 8030 leinfelder
        <div class="control-group">
300
			<label class="control-label">Publication Information</label>
301
	        <div class="controls controls-well">
302 8033 leinfelder
	            <xsl:apply-templates select="pubplace"/>
303
	            <xsl:apply-templates select="publish"/>
304 8030 leinfelder
	        </div>
305
        </div>
306 8024 leinfelder
    </xsl:template>
307
308
    <xsl:template match="pubplace">
309 8030 leinfelder
        <div class="control-group">
310
			<label class="control-label">Publication Place</label>
311 8033 leinfelder
	        <div class="controls">
312 8030 leinfelder
	            <xsl:value-of select="."/>
313
	        </div>
314
        </div>
315 8024 leinfelder
    </xsl:template>
316
317
    <xsl:template match="publish">
318 8030 leinfelder
        <div class="control-group">
319
			<label class="control-label">Publisher</label>
320 8033 leinfelder
	        <div class="controls">
321 8030 leinfelder
	            <xsl:value-of select="."/>
322
	        </div>
323
        </div>
324 8024 leinfelder
    </xsl:template>
325
326
    <xsl:template match="distinfo">
327 8033 leinfelder
    	<h4>Data Package Information</h4>
328
        <div class="form-horizontal">
329
            <xsl:apply-templates select="resdesc"/>
330 8024 leinfelder
            <xsl:apply-templates select="stdorder/digform/digtopt/onlinopt/computer/networka"/>
331 8033 leinfelder
        </div>
332 8024 leinfelder
    </xsl:template>
333
334
    <xsl:template match="resdesc">
335 8033 leinfelder
        <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 8024 leinfelder
   </xsl:template>
390
391
   <xsl:template match="networka">
392 8033 leinfelder
   		<xsl:apply-templates select="networkr"/>
393 8024 leinfelder
   </xsl:template>
394
395
   <xsl:template match="networkr">
396
	<xsl:if test="not(./ancestor::digform/digtinfo/formcont = '')">
397 8033 leinfelder
       <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 8024 leinfelder
	</xsl:if>
431 8033 leinfelder
432 8024 leinfelder
   </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>