Project

General

Profile

1 4823 daigle
<?xml version="1.0"?>
2
<!--
3
  *  '$RCSfile$'
4
  *      Authors: Matthew Brooke
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: cjones $'
10
  *     '$Date: 2006-11-17 13:37:07 -0800 (Fri, 17 Nov 2006) $'
11
  * '$Revision: 3094 $'
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-variable.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
  <xsl:output method="html" encoding="iso-8859-1"
35
    doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
36
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
37
    indent="yes" />
38
39
    <!-- style the identifier and system -->
40
    <xsl:template name="identifier">
41
      <xsl:param name="IDfirstColStyle"/>
42
      <xsl:param name="IDsecondColStyle"/>
43
      <xsl:param name="packageID"/>
44
      <xsl:param name="system"/>
45
      <xsl:if test="normalize-space(.)">
46
        <tr>
47
          <td class="{$IDfirstColStyle}">Identifier:</td>
48 5718 leinfelder
          <td class="{$IDsecondColStyle}">
49
          	<xsl:value-of select="$packageID"/>
50 5700 leinfelder
          	<!-- stats loaded with ajax call -->
51
			<span id="stats"></span>
52
			<script language="JavaScript">
53
				if (window.loadStats) {
54 5704 leinfelder
					loadStats(
55
						'stats',
56
						'<xsl:value-of select="$packageID" />',
57
						'<xsl:value-of select="$contextURL" />/metacat',
58
						'<xsl:value-of select="$qformat" />');
59 5700 leinfelder
				}
60
			</script>
61 5716 leinfelder
			<!--  BRL - removing this section per MBJ 20101210
62
	          <xsl:if test="normalize-space(../@system)!=''">
63
	            <xsl:text> (in the </xsl:text>
64
	            <em class="italic">
65
	              <xsl:value-of select="$system"/>
66
	            </em>
67
	            <xsl:text> Catalog System)</xsl:text>
68
	          </xsl:if>
69
	         -->
70 4823 daigle
          </td>
71
        </tr>
72
      </xsl:if>
73
    </xsl:template>
74
75 5718 leinfelder
    <!-- for citation information -->
76
    <xsl:template name="datasetcitation">
77
        <tr>
78
        	<th>
79
        		Data Set Citation:
80
        	</th>
81
        </tr>
82
        <tr>
83
        	<td>
84
        		When using this data, please cite the data package:
85
        	</td>
86
        </tr>
87
        <tr>
88
        	<td class="citation">
89
	        	<xsl:for-each select="creator">
90
	        		<xsl:if test="position() &gt; 1">
91
	        			<xsl:if test="last() &gt; 2">, </xsl:if>
92
	        			<xsl:if test="position() = last()"> and</xsl:if>
93
	        			<xsl:text> </xsl:text>
94
	        		</xsl:if>
95
	        		<xsl:call-template name="creatorCitation" />
96
	        		<xsl:if test="position() = last()">.</xsl:if>
97
	        		<xsl:text> </xsl:text>
98
	        	</xsl:for-each>
99
100
	        	<xsl:value-of select="substring(string(pubDate),1,4)"/>
101
	        	<xsl:if test="substring(string(pubDate),1,4) != ''">.</xsl:if>
102
103
	        	<br/>
104
	        	<!-- title -->
105
				<b>
106
				<xsl:for-each select="./title">
107
		     		<xsl:call-template name="i18n">
108
		     			<xsl:with-param name="i18nElement" select="."/>
109
		     		</xsl:call-template>
110
		     	</xsl:for-each>
111
				</b>
112
				<br/>
113
				<xsl:if test="boolean($registryname)">
114
					<xsl:value-of select="$registryname"/>:
115
				</xsl:if>
116
117
                <span class="lsid">
118
				    <xsl:choose>
119
					    <xsl:when test="boolean($lsidauthority)">
120
						    <xsl:call-template name="lsid"/>
121
					    </xsl:when>
122
					    <xsl:otherwise>
123
						    <xsl:value-of select="../@packageId"/>
124
					    </xsl:otherwise>
125
				    </xsl:choose>
126
                </span>
127
128
	        	<xsl:choose>
129
	        		<xsl:when test="boolean($registryurl)">
130
	        			(<a> <xsl:attribute name="href"><xsl:value-of select="$tripleURI"/><xsl:value-of select="$docid"/></xsl:attribute> <xsl:value-of select="$registryurl"/>/metacat/<xsl:value-of select="../@packageId"/>/<xsl:value-of select="$qformat"/></a>)
131
	        		</xsl:when>
132
	        		<xsl:otherwise>
133
	        			(<a> <xsl:attribute name="href"><xsl:value-of select="$tripleURI"/><xsl:value-of select="$docid"/></xsl:attribute> <xsl:value-of select="$contextURL"/>/metacat/<xsl:value-of select="../@packageId"/>/<xsl:value-of select="$qformat"/></a>)
134
	        		</xsl:otherwise>
135
	        	</xsl:choose>
136
				<br />
137
        </td>
138
     </tr>
139
   </xsl:template>
140
141
   <!--************** creates lsid dataset id **************-->
142
   <xsl:template name="lsid">
143
		<xsl:variable name="lsidString" select="concat('urn:lsid:',string($lsidauthority),':')"/>
144
		<xsl:variable name="lsidString" select="concat($lsidString, substring-before(string(../@packageId),'.'), ':')"/>
145
		<xsl:variable name="lsidString" select="concat($lsidString, substring-before(substring-after(string(../@packageId),'.'),'.'), ':')"/>
146
		<xsl:variable name="lsidString" select="concat($lsidString, substring-after(substring-after(string(../@packageId),'.'),'.'))"/>
147
		<xsl:value-of select="$lsidString"/>
148
   </xsl:template>
149
150
   <!--************** creates citation for a creator in "Last FM" format **************-->
151
   <xsl:template name="creatorCitation">
152
	   	<xsl:for-each select="individualName">
153
154
	   		<xsl:value-of select="surName/text()"/>
155
	   		<xsl:text> </xsl:text>
156
157
	   		<xsl:for-each select="givenName">
158
	   			<xsl:value-of select="substring(string(.),1,1)"/>
159
	   		</xsl:for-each>
160
	   	</xsl:for-each>
161
162
	   	<xsl:if test="string(individualName/surName) != ''">
163
	   		<xsl:if test="string(organizationName) != ''"> of </xsl:if>
164
	   	</xsl:if>
165
166
	   	<xsl:for-each select="organizationName">
167
	   		<xsl:value-of select="."/>
168
	   	</xsl:for-each>
169
   </xsl:template>
170
171 4823 daigle
 </xsl:stylesheet>