Project

General

Profile

1 432 berkley
<?xml version="1.0"?>
2
<!--
3 666 jones
  *  '$RCSfile$'
4 506 jones
  *      Authors: Chad Berkley, Matt Jones
5 666 jones
  *    Copyright: 2000 Regents of the University of California and the
6 432 berkley
  *               National Center for Ecological Analysis and Synthesis
7
  *  For Details: http://www.nceas.ucsb.edu/
8
  *
9 666 jones
  *   '$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 432 berkley
-->
28
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
29
  <xsl:output method="html" />
30
  <xsl:template match="/">
31
    <html>
32
    <head>
33 470 berkley
      <link rel="stylesheet" type="text/css"
34 497 jones
       href="@html-path@/style/rowcol.css" />
35 432 berkley
      <title>
36
        <xsl:value-of select="//title" />
37
      </title>
38
    </head>
39
    <body bgcolor="white">
40
      <h1><xsl:value-of select="//title" /></h1>
41 470 berkley
      <xsl:if test="count(//alternateTitle) &gt; 0">
42
        <h2><xsl:value-of select="//alternateTitle" /></h2>
43
      </xsl:if>
44
45 432 berkley
      <!-- display the literature specific fields if they are present -->
46
      <xsl:if test="count(resource/literature/ISBN) &gt; 0">
47
        <h2>ISBN: <xsl:value-of select="resource/literature/ISBN" /></h2>
48
      </xsl:if>
49
      <xsl:if test="count(resource/literature/editor) &gt; 0">
50
        <xsl:for-each select="resource/literature/editor">
51
          <h2>editor: <xsl:value-of select="resource/literature/editor" /></h2>
52
        </xsl:for-each>
53
      </xsl:if>
54
      <xsl:if test="count(resource/literature/edition) &gt; 0">
55
        <h2>edition: <xsl:value-of select="resource/literature/edition" /></h2>
56
      </xsl:if>
57
      <xsl:if test="count(resource/literature/volume) &gt; 0">
58
        <h2>volume: <xsl:value-of select="resource/literature/volume" /></h2>
59
      </xsl:if>
60
      <xsl:if test="count(resource/literature/ISBN) &gt; 0">
61
        <h2>ISBN: <xsl:value-of select="resource/literature/ISBN" /></h2>
62
      </xsl:if>
63
64
      <!-- display the contact information -->
65 497 jones
      <h3 class="highlight">Contacts</h3>
66 432 berkley
67
      <xsl:for-each select="resource/*/originator">
68 497 jones
        <u>
69 432 berkley
        <xsl:value-of select="./individualName/salutation" />&nbsp;
70
        <xsl:value-of select="./individualName/givenName" />&nbsp;
71
        <xsl:value-of select="./individualName/surName" />&nbsp;
72 497 jones
        </u>
73 432 berkley
        <br />
74 497 jones
        <dir>
75
        <xsl:text>Role: </xsl:text>
76
        <xsl:value-of select="./roleCode" /><br/>
77 432 berkley
        <xsl:if test="count(resource/*/organizationName) &gt; 0">
78
          <xsl:value-of select="./organizationName" />
79
          <br />
80
        </xsl:if>
81
82
        <xsl:if test="count(./contactInfo/phone/voice) &gt; 0">
83 497 jones
          Phone:&nbsp;
84 432 berkley
          <xsl:for-each select="./contactInfo/phone/voice">
85
           <xsl:value-of select="." />
86
            <br />
87
          </xsl:for-each>
88
        </xsl:if>
89
90
        <xsl:if test="count(./contactInfo/phone/facsimile) &gt; 0">
91 497 jones
          Fax:&nbsp;
92 432 berkley
          <xsl:for-each select="./contactInfo/phone/facsimile">
93
            <xsl:value-of select="." />
94
            <br />
95
          </xsl:for-each>
96
        </xsl:if>
97
98
        <xsl:if test="count(./contactInfo/phone/other) &gt; 0">
99 497 jones
          Other phone:&nbsp;
100 432 berkley
          <xsl:for-each select="./contactInfo/phone/other">
101
            <xsl:value-of select="." />
102
            &nbsp;&nbsp;
103 497 jones
            <xsl:text>Number type:</xsl:text>
104 432 berkley
            <xsl:value-of select="/resource/*/*/contactInfo/phone/otherType" />
105
            <br />
106
          </xsl:for-each>
107
        </xsl:if>
108
109
        <xsl:if test="count(./contactInfo/address) &gt; 0">
110
          <xsl:value-of select="./contactInfo/address/deliveryPoint" /><br/>
111
          <xsl:value-of select="./contactInfo/address/city" />,&nbsp;
112
          <xsl:value-of select="./contactInfo/address/administrativeArea" />&nbsp;
113
          <xsl:value-of select="./contactInfo/address/postalCode" />&nbsp;<br/>
114
          <xsl:value-of select="./contactInfo/address/country" /><br/>
115
          <xsl:value-of select="./contactInfo/address/electronicMailAddress" />
116
          <br/>
117
        </xsl:if>
118
119
        <xsl:if test="count(./onlineResource) &gt; 0">
120
          <xsl:value-of select="./onlineResource/linkage/URL" /><br/>
121
          <xsl:value-of select="./onlineResource/protocol" /><br/>
122
          <xsl:value-of select="./onlineResource/applicationProtocol" /><br/>
123
          <xsl:value-of select="./onlineResource/linkage/name" /><br/>
124
          <xsl:value-of select="./onlineResource/linkage/description" /><br/>
125
          <xsl:value-of select="./onlineResource/linkage/functionCode" /><br/>
126
          <br />
127
        </xsl:if>
128
129
        <xsl:if test="count(./contactInfo/hoursOfService) &gt; 0">
130 500 jones
          Office hours:&nbsp;
131 432 berkley
          <xsl:value-of select="./contactInfo/hoursOfService" />
132
          <br/>
133
        </xsl:if>
134
135
        <xsl:if test="count(./contactInfo/contactInstructions) &gt; 0">
136 497 jones
          Contact instructions:&nbsp;
137 432 berkley
          <xsl:value-of select="./contactInfo/contactInstructions" />
138
          <br/>
139
        </xsl:if>
140
141 470 berkley
        <br/>
142 497 jones
        </dir>
143 432 berkley
      </xsl:for-each>
144
145 470 berkley
      <xsl:if test="count(resource/*/publisher) &gt; 0">
146 497 jones
        <h3 class="highlight">Publishing Information</h3>
147
        Publisher:
148 470 berkley
149
        <xsl:value-of select="resource/*/publisher/individualName/salutation" />
150
        &nbsp;
151
        <xsl:value-of select="resource/*/publisher/individualName/givenName" />&nbsp;
152
        <xsl:value-of select="resource/*/publisher/individualName/surName" />&nbsp;
153
        <br />
154
        <xsl:if test="count(resource/*/publisher/organizationName) &gt; 0">
155
          <xsl:value-of select="resource/*/publisher/organizationName" />
156
          <br />
157
        </xsl:if>
158
159
        <xsl:if test="count(resource/*/publisher/contactInfo/phone/voice) &gt; 0">
160 497 jones
          Phone:&nbsp;
161 470 berkley
          <xsl:for-each select="resource/*/publisher/contactInfo/phone/voice">
162
           <xsl:value-of select="." />
163
            <br />
164
          </xsl:for-each>
165
        </xsl:if>
166
167
        <xsl:if test="count(resource/*/publisher/contactInfo/phone/facsimile) &gt; 0">
168 497 jones
          Fax:&nbsp;
169 470 berkley
          <xsl:for-each select="resource/*/publisher/contactInfo/phone/facsimile">
170
            <xsl:value-of select="." />
171
            <br />
172
          </xsl:for-each>
173
        </xsl:if>
174
175
        <xsl:if test="count(resource/*/publisher/contactInfo/phone/other) &gt; 0">
176 497 jones
          Other phone:&nbsp;
177 470 berkley
          <xsl:for-each select="resource/*/publisher/contactInfo/phone/other">
178
            <xsl:value-of select="." />
179
            &nbsp;&nbsp;
180
            <xsl:text>Number type:</xsl:text>
181
            <xsl:value-of select="/resource/*/*/contactInfo/phone/otherType" />
182
            <br />
183
          </xsl:for-each>
184
        </xsl:if>
185
186
        <xsl:if test="count(resource/*/publisher/contactInfo/address) &gt; 0">
187
          <xsl:value-of
188
           select="resource/*/publisher/contactInfo/address/deliveryPoint" />
189
           <br/>
190
          <xsl:value-of
191
           select="resource/*/publisher/contactInfo/address/city" />,&nbsp;
192
          <xsl:value-of
193
           select="resource/*/publisher/contactInfo/address/administrativeArea"/>
194
           &nbsp;
195
          <xsl:value-of
196
           select="resource/*/publisher/contactInfo/address/postalCode" />
197
           &nbsp;<br/>
198
          <xsl:value-of
199
           select="resource/*/publisher/contactInfo/address/country" /><br/>
200
          <xsl:value-of
201
           select="resource/*/publisher/contactInfo/address/electronicMailAddress" />
202
          <br/>
203
        </xsl:if>
204
205
        <xsl:if test="count(resource/*/publisher/onlineResource) &gt; 0">
206
          <xsl:value-of
207
           select="resource/*/publisher/onlineResource/linkage/URL" /><br/>
208
          <xsl:value-of
209
           select="resource/*/publisher/onlineResource/protocol" /><br/>
210
          <xsl:value-of
211
           select="resource/*/publisher/onlineResource/applicationProtocol" />
212
           <br/>
213
          <xsl:value-of
214
           select="resource/*/publisher/onlineResource/linkage/name" /><br/>
215
          <xsl:value-of
216
           select="resource/*/publisher/onlineResource/linkage/description" />
217
           <br/>
218
          <xsl:value-of
219
           select="resource/*/publisher/onlineResource/linkage/functionCode" />
220
           <br/>
221
          <br />
222
        </xsl:if>
223
224
        <xsl:if
225
         test="count(resource/*/publisher/contactInfo/hoursOfService) &gt; 0">
226 497 jones
          Office hours:&nbsp;
227 470 berkley
          <xsl:value-of
228
           select="resource/*/publisher/contactInfo/hoursOfService" />
229
          <br/>
230
        </xsl:if>
231
232
        <xsl:if
233
         test="count(resource/*/publisher/contactInfo/contactInstructions) &gt; 0">
234 497 jones
          Contact instructions:&nbsp;
235 470 berkley
          <xsl:value-of
236
           select="resource/*/publisher/contactInfo/contactInstructions" />
237
          <br/>
238
        </xsl:if>
239
      </xsl:if>
240
241
      <xsl:if test="count(resource/*/pubdate) &gt; 0">
242 497 jones
        Publishing Date:
243 470 berkley
        &nbsp; <xsl:value-of select="resource/*/pubdate" /><br/>
244
      </xsl:if>
245
246
      <xsl:if test="count(resource/*/pubplace) &gt; 0">
247 497 jones
        Publishing Place:
248 470 berkley
        &nbsp; <xsl:value-of select="resource/*/pubplace" />
249
        <br/>
250
      </xsl:if>
251
252
      <xsl:if test="count(resource/*/series) &gt; 0">
253 497 jones
        Series:&nbsp; <xsl:value-of select="resource/*/series" /><br/>
254 470 berkley
      </xsl:if>
255
256
      <xsl:if test="count(resource/*/additionalInfo) &gt; 0">
257 497 jones
        <h3 class="highlight">Other Information</h3>
258
        Additional Information:
259 470 berkley
        &nbsp; <xsl:value-of select="resource/*/additionalInfo" /><br/>
260
      </xsl:if>
261
262 499 jones
      <!-- display the dataset specific field if present -->
263
      <xsl:if test="count(resource/dataset/geoForm) &gt; 0">
264
        <h3 class="highlight">Data Format:</h3>
265
        <xsl:value-of select="resource/dataset/geoForm" />
266
      </xsl:if>
267
268 470 berkley
      <xsl:if test="count(resource/*/abstract) &gt; 0">
269 497 jones
        <h3 class="highlight">Abstract</h3>
270
        <xsl:value-of select="resource/*/abstract" /><br/>
271 470 berkley
      </xsl:if>
272
273
      <xsl:for-each select="resource/*/url">
274 497 jones
        URL:&nbsp;
275 470 berkley
        <a>
276
        <xsl:attribute name="href">
277
          <xsl:value-of select="./URL" />
278
        </xsl:attribute>
279
        <xsl:value-of select="./URL" /><br/>
280
        </a>
281
      </xsl:for-each>
282
      <br/>
283
284
      <xsl:if test="count(resource/*/keywordInfo) &gt; 0">
285 497 jones
        <h3 class="highlight">Keywords</h3>
286
        <table width="50%" border="0">
287 506 jones
        <tr class="tablehead">
288 470 berkley
          <th>Keyword</th><th>Keyword Type</th><th>Keyword Thesauri</th>
289
        </tr>
290
291
        <xsl:for-each select="resource/*/keywordInfo">
292
          <tr valign="top">
293
            <xsl:attribute name="class">
294
              <xsl:choose>
295 497 jones
                <xsl:when test="position() mod 2 = 1">rowodd</xsl:when>
296
                <xsl:when test="position() mod 2 = 0">roweven</xsl:when>
297 470 berkley
              </xsl:choose>
298
            </xsl:attribute>
299
            <td>
300 497 jones
              <xsl:value-of select="./keyword"/>
301 470 berkley
            </td>
302
            <td>
303
              <xsl:value-of select="./keywordType"/>
304
            </td>
305
            <td>
306
              <xsl:for-each select="./keywordThesaurus">
307
                <xsl:value-of select="."/><br/>
308
              </xsl:for-each>
309
            </td>
310
          </tr>
311
        </xsl:for-each>
312
313
        </table>
314
      </xsl:if>
315
316 432 berkley
    </body>
317
    </html>
318
  </xsl:template>
319
</xsl:stylesheet>