source: main/trunk/greenstone2/web/style/oai2.xsl@ 22288

Last change on this file since 22288 was 22288, checked in by kjdon, 14 years ago

added second template for oai-identifier, for when it uses 1.1 scheme

File size: 28.5 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2
3<!--
4
5 XSL Transform to convert OAI 2.0 responses into XHTML
6
7 By Christopher Gutteridge, University of Southampton
8
9-->
10
11<!--
12
13Copyright (c) 2000-2004 University of Southampton, UK. SO17 1BJ.
14
15EPrints 2 is free software; you can redistribute it and/or modify
16it under the terms of the GNU General Public License as published by
17the Free Software Foundation; either version 2 of the License, or
18(at your option) any later version.
19
20EPrints 2 is distributed in the hope that it will be useful,
21but WITHOUT ANY WARRANTY; without even the implied warranty of
22MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23GNU General Public License for more details.
24
25You should have received a copy of the GNU General Public License
26along with EPrints 2; if not, write to the Free Software
27Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28
29-->
30
31<!--
32
33 All the elements really needed for EPrints are done but if
34 you want to use this XSL for other OAI archive you may want
35 to make some minor changes or additions.
36
37 Not Done
38 The 'about' section of 'record'
39 The 'compession' part of 'identify'
40 The optional attributes of 'resumptionToken'
41 The optional 'setDescription' container of 'set'
42
43 All the links just link to oai_dc versions of records.
44
45-->
46
47<!-- Modified for the Greenstone OAI server
48
49 * Rules for Qualified Dublin Core added (gsdl_qdc)
50 * EPrints specific stuff removed
51-->
52
53
54<xsl:stylesheet
55 version="1.0"
56 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
57 xmlns:oai="http://www.openarchives.org/OAI/2.0/"
58>
59
60<xsl:output method="html"/>
61
62
63
64<xsl:template name="style">
65td.value {
66 vertical-align: top;
67 padding-left: 1em;
68 padding: 3px;
69}
70td.key {
71 background-color: #e0e0ff;
72 padding: 3px;
73 text-align: right;
74 border: 1px solid #c0c0c0;
75 white-space: nowrap;
76 font-weight: bold;
77 vertical-align: top;
78}
79.dcdata td.key {
80 background-color: #ffffe0;
81}
82body {
83 margin: 1em 2em 1em 2em;
84}
85h1, h2, h3 {
86 font-family: sans-serif;
87 clear: left;
88}
89h1 {
90 padding-bottom: 4px;
91 margin-bottom: 0px;
92}
93h2 {
94 margin-bottom: 0.5em;
95}
96h3 {
97 margin-bottom: 0.3em;
98 font-size: medium;
99}
100.link {
101 border: 1px outset #88f;
102 background-color: #c0c0ff;
103 padding: 1px 4px 1px 4px;
104 font-size: 80%;
105 text-decoration: none;
106 font-weight: bold;
107 font-family: sans-serif;
108 color: black;
109}
110.link:hover {
111 color: red;
112}
113.link:active {
114 color: red;
115 border: 1px inset #88f;
116 background-color: #a0a0df;
117}
118.oaiRecord, .oaiRecordTitle {
119 background-color: #f0f0ff;
120 border-style: solid;
121 border-color: #d0d0d0;
122}
123h2.oaiRecordTitle {
124 background-color: #e0e0ff;
125 font-size: medium;
126 font-weight: bold;
127 padding: 10px;
128 border-width: 2px 2px 0px 2px;
129 margin: 0px;
130}
131.oaiRecord {
132 margin-bottom: 3em;
133 border-width: 2px;
134 padding: 10px;
135}
136
137.results {
138 margin-bottom: 1.5em;
139}
140ul.quicklinks {
141 margin-top: 2px;
142 padding: 4px;
143 text-align: left;
144 border-bottom: 2px solid #ccc;
145 border-top: 2px solid #ccc;
146 clear: left;
147}
148ul.quicklinks li {
149 font-size: 80%;
150 display: inline;
151 list-stlye: none;
152 font-family: sans-serif;
153}
154p.intro {
155 font-size: 80%;
156}
157<xsl:call-template name='xmlstyle' />
158</xsl:template>
159
160<xsl:variable name='identifier' select="substring-before(concat(substring-after(/oai:OAI-PMH/oai:request,'identifier='),'&amp;'),'&amp;')" />
161
162<xsl:template match="/">
163<html>
164 <head>
165 <title>OAI 2.0 Request Results</title>
166 <style><xsl:call-template name="style"/></style>
167 </head>
168 <body>
169 <h1>OAI 2.0 Request Results</h1>
170 <xsl:call-template name="quicklinks"/>
171 <p class="intro">You are viewing an HTML version of the XML OAI response. To see the underlying XML use your web browsers view source option. More information about this XSLT is at the <a href="#moreinfo">bottom of the page</a>.</p>
172 <xsl:apply-templates select="/oai:OAI-PMH" />
173 <xsl:call-template name="quicklinks"/>
174 <h2><a name="moreinfo">About the XSLT</a></h2>
175 <p>An XSLT file has converted the <a href="http://www.openarchives.org">OAI-PMH 2.0</a> responses into XHTML which looks nice in a browser which supports XSLT such as Mozilla, Firebird and Internet Explorer. The XSLT file was created by <a href="http://www.ecs.soton.ac.uk/people/cjg">Christopher Gutteridge</a> at the University of Southampton as part of the <a href="http://software.eprints.org">GNU EPrints system</a>, and modified by the NZDL Project for use with the Greenstone OAI server. It is freely redistributable under the <a href="http://www.gnu.org">GPL</a>.</p><p>If you want to use the XSL file on your own OAI interface you may but due to the way XSLT works you must install the XSL file on the same server as the OAI script, you can't just link to this copy.</p><p>For more information or to download the XSL file please see the <a href="http://software.eprints.org/xslt.php">OAI to XHTML XSLT homepage</a>.</p>
176
177 </body>
178</html>
179</xsl:template>
180
181<xsl:template name="quicklinks">
182 <ul class="quicklinks">
183 <li><a href="?verb=Identify">Identify</a> | </li>
184 <li><a href="?verb=ListRecords&amp;metadataPrefix=oai_dc">ListRecords (oai_dc)</a> | </li>
185 <li><a href="?verb=ListSets">ListSets</a> | </li>
186 <li><a href="?verb=ListMetadataFormats">ListMetadataFormats</a> | </li>
187 <li><a href="?verb=ListIdentifiers&amp;metadataPrefix=oai_dc">ListIdentifiers (oai_dc)</a></li>
188 </ul>
189</xsl:template>
190
191
192<xsl:template match="/oai:OAI-PMH">
193 <table class="values">
194 <tr><td class="key">Datestamp of response</td>
195 <td class="value"><xsl:value-of select="oai:responseDate"/></td></tr>
196 <tr><td class="key">Request URL</td>
197 <td class="value"><xsl:value-of select="oai:request"/></td></tr>
198 </table>
199<!-- verb: [<xsl:value-of select="oai:request/@verb" />]<br /> -->
200 <xsl:choose>
201 <xsl:when test="oai:error">
202 <h2>OAI Error(s)</h2>
203 <p>The request could not be completed due to the following error or errors.</p>
204 <div class="results">
205 <xsl:apply-templates select="oai:error"/>
206 </div>
207 </xsl:when>
208 <xsl:otherwise>
209 <p>Request was of type <xsl:value-of select="oai:request/@verb"/>.</p>
210 <div class="results">
211 <xsl:apply-templates select="oai:Identify" />
212 <xsl:apply-templates select="oai:GetRecord"/>
213 <xsl:apply-templates select="oai:ListRecords"/>
214 <xsl:apply-templates select="oai:ListSets"/>
215 <xsl:apply-templates select="oai:ListMetadataFormats"/>
216 <xsl:apply-templates select="oai:ListIdentifiers"/>
217 </div>
218 </xsl:otherwise>
219 </xsl:choose>
220</xsl:template>
221
222
223<!-- ERROR -->
224
225<xsl:template match="/oai:OAI-PMH/oai:error">
226 <table class="values">
227 <tr><td class="key">Error Code</td>
228 <td class="value"><xsl:value-of select="@code"/></td></tr>
229 </table>
230 <p class="error"><xsl:value-of select="." /></p>
231</xsl:template>
232
233<!-- IDENTIFY -->
234
235<xsl:template match="/oai:OAI-PMH/oai:Identify">
236 <table class="values">
237 <tr><td class="key">Repository Name</td>
238 <td class="value"><xsl:value-of select="oai:repositoryName"/></td></tr>
239 <tr><td class="key">Base URL</td>
240 <td class="value"><xsl:value-of select="oai:baseURL"/></td></tr>
241 <tr><td class="key">Protocol Version</td>
242 <td class="value"><xsl:value-of select="oai:protocolVersion"/></td></tr>
243 <tr><td class="key">Earliest Datestamp</td>
244 <td class="value"><xsl:value-of select="oai:earliestDatestamp"/></td></tr>
245 <tr><td class="key">Deleted Record Policy</td>
246 <td class="value"><xsl:value-of select="oai:deletedRecord"/></td></tr>
247 <tr><td class="key">Granularity</td>
248 <td class="value"><xsl:value-of select="oai:granularity"/></td></tr>
249 <xsl:apply-templates select="oai:adminEmail"/>
250 </table>
251 <xsl:apply-templates select="oai:description"/>
252<!--no warning about unsupported descriptions -->
253</xsl:template>
254
255<xsl:template match="/oai:OAI-PMH/oai:Identify/oai:adminEmail">
256 <tr><td class="key">Admin Email</td>
257 <td class="value"><xsl:value-of select="."/></td></tr>
258</xsl:template>
259
260<!--
261 Identify / Unsupported Description
262-->
263
264<xsl:template match="oai:description/*" priority="-100">
265 <h2>Unsupported Description Type</h2>
266 <p>The XSL currently does not support this type of description.</p>
267 <div class="xmlSource">
268 <xsl:apply-templates select="." mode='xmlMarkup' />
269 </div>
270</xsl:template>
271
272
273<!--
274 Identify / OAI-Identifier
275-->
276
277<xsl:template match="id:oai-identifier" xmlns:id="http://www.openarchives.org/OAI/2.0/oai-identifier">
278 <h2>OAI-Identifier</h2>
279 <table class="values">
280 <tr><td class="key">Scheme</td>
281 <td class="value"><xsl:value-of select="id:scheme"/></td></tr>
282 <tr><td class="key">Repository Identifier</td>
283 <td class="value"><xsl:value-of select="id:repositoryIdentifier"/></td></tr>
284 <tr><td class="key">Delimiter</td>
285 <td class="value"><xsl:value-of select="id:delimiter"/></td></tr>
286 <tr><td class="key">Sample OAI Identifier</td>
287 <td class="value"><xsl:value-of select="id:sampleIdentifier"/></td></tr>
288 </table>
289</xsl:template>
290
291<xsl:template match="id:oai-identifier" xmlns:id="http://www.openarchives.org/OAI/1.1/oai-identifier">
292 <h2>OAI-Identifier</h2>
293 <table class="values">
294 <tr><td class="key">Scheme</td>
295 <td class="value"><xsl:value-of select="id:scheme"/></td></tr>
296 <tr><td class="key">Repository Identifier</td>
297 <td class="value"><xsl:value-of select="id:repositoryIdentifier"/></td></tr>
298 <tr><td class="key">Delimiter</td>
299 <td class="value"><xsl:value-of select="id:delimiter"/></td></tr>
300 <tr><td class="key">Sample OAI Identifier</td>
301 <td class="value"><xsl:value-of select="id:sampleIdentifier"/></td></tr>
302 </table>
303</xsl:template>
304
305
306<!-- GetRecord -->
307
308<xsl:template match="oai:GetRecord">
309 <xsl:apply-templates select="oai:record" />
310</xsl:template>
311
312<!-- ListRecords -->
313
314<xsl:template match="oai:ListRecords">
315 <xsl:apply-templates select="oai:record" />
316 <xsl:apply-templates select="oai:resumptionToken" />
317</xsl:template>
318
319<!-- ListIdentifiers -->
320
321<xsl:template match="oai:ListIdentifiers">
322 <xsl:apply-templates select="oai:header" />
323 <xsl:apply-templates select="oai:resumptionToken" />
324</xsl:template>
325
326<!-- ListSets -->
327
328<xsl:template match="oai:ListSets">
329 <xsl:apply-templates select="oai:set" />
330 <xsl:apply-templates select="oai:resumptionToken" />
331</xsl:template>
332
333<xsl:template match="oai:set">
334 <h2>Set</h2>
335 <table class="values">
336 <tr><td class="key">setName</td>
337 <td class="value"><xsl:value-of select="oai:setName"/></td></tr>
338 <tr><td class="key">setDescription</td>
339 <td class="value"><xsl:value-of select="oai:setDescription"/></td></tr>
340 <xsl:apply-templates select="oai:setSpec" />
341 </table>
342</xsl:template>
343
344<!-- ListMetadataFormats -->
345
346<xsl:template match="oai:ListMetadataFormats">
347 <xsl:choose>
348 <xsl:when test="$identifier">
349 <p>This is a list of metadata formats available for the record "<xsl:value-of select='$identifier' />". Use these links to view the metadata: <xsl:apply-templates select="oai:metadataFormat/oai:metadataPrefix" /></p>
350 </xsl:when>
351 <xsl:otherwise>
352 <p>This is a list of metadata formats available from this archive.</p>
353 </xsl:otherwise>
354 </xsl:choose>
355 <xsl:apply-templates select="oai:metadataFormat" />
356</xsl:template>
357
358<xsl:template match="oai:metadataFormat">
359 <h2>Metadata Format</h2>
360 <table class="values">
361 <tr><td class="key">metadataPrefix</td>
362 <td class="value"><xsl:value-of select="oai:metadataPrefix"/></td></tr>
363 <tr><td class="key">metadataNamespace</td>
364 <td class="value"><xsl:value-of select="oai:metadataNamespace"/></td></tr>
365 <tr><td class="key">schema</td>
366 <td class="value"><a href="{oai:schema}"><xsl:value-of select="oai:schema"/></a></td></tr>
367 </table>
368</xsl:template>
369
370<xsl:template match="oai:metadataPrefix">
371 <xsl:text> </xsl:text><a class="link" href="?verb=GetRecord&amp;metadataPrefix={.}&amp;identifier={$identifier}"><xsl:value-of select='.' /></a>
372</xsl:template>
373
374<!-- record object -->
375
376<xsl:template match="oai:record">
377 <h2 class="oaiRecordTitle">OAI Record: <xsl:value-of select="oai:header/oai:identifier"/></h2>
378 <div class="oaiRecord">
379 <xsl:apply-templates select="oai:header" />
380 <xsl:apply-templates select="oai:metadata" />
381 <xsl:apply-templates select="oai:about" />
382 </div>
383</xsl:template>
384
385<xsl:template match="oai:header">
386 <h3>OAI Record Header</h3>
387 <table class="values">
388 <tr><td class="key">OAI Identifier</td>
389 <td class="value">
390 <xsl:value-of select="oai:identifier"/>
391 <xsl:text> </xsl:text><a class="link" href="?verb=GetRecord&amp;metadataPrefix=oai_dc&amp;identifier={oai:identifier}">oai_dc</a>
392 <xsl:text> </xsl:text><a class="link" href="?verb=ListMetadataFormats&amp;identifier={oai:identifier}">formats</a>
393 </td></tr>
394 <tr><td class="key">Datestamp</td>
395 <td class="value"><xsl:value-of select="oai:datestamp"/></td></tr>
396 <xsl:apply-templates select="oai:setSpec" />
397 </table>
398 <xsl:if test="@status='deleted'">
399 <p>This record has been deleted.</p>
400 </xsl:if>
401</xsl:template>
402
403
404<xsl:template match="oai:about">
405 <p>"about" part of record container not supported by the XSL</p>
406</xsl:template>
407
408<xsl:template match="oai:metadata">
409 &#160;
410 <div class="metadata">
411 <xsl:apply-templates select="*" />
412 </div>
413</xsl:template>
414
415
416
417
418<!-- oai setSpec object -->
419
420<xsl:template match="oai:setSpec">
421 <tr><td class="key">setSpec</td>
422 <td class="value"><xsl:value-of select="."/>
423 <xsl:text> </xsl:text><a class="link" href="?verb=ListIdentifiers&amp;metadataPrefix=oai_dc&amp;set={.}">Identifiers</a>
424 <xsl:text> </xsl:text><a class="link" href="?verb=ListRecords&amp;metadataPrefix=oai_dc&amp;set={.}">Records</a>
425 </td></tr>
426</xsl:template>
427
428
429
430<!-- oai resumptionToken -->
431
432<xsl:template match="oai:resumptionToken">
433 <p>There are more results.</p>
434 <table class="values">
435 <tr><td class="key">resumptionToken:</td>
436 <td class="value"><xsl:value-of select="."/>
437<xsl:text> </xsl:text>
438<a class="link" href="?verb={/oai:OAI-PMH/oai:request/@verb}&amp;resumptionToken={.}">Resume</a></td></tr>
439 </table>
440</xsl:template>
441
442<!-- unknown metadata format -->
443
444<xsl:template match="oai:metadata/*" priority='-100'>
445 <h3>Unknown Metadata Format</h3>
446 <div class="xmlSource">
447 <xsl:apply-templates select="." mode='xmlMarkup' />
448 </div>
449</xsl:template>
450
451<!-- oai_dc record -->
452
453<xsl:template match="oai_dc:dc" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" >
454 <div class="dcdata">
455 <h3>Dublin Core Metadata (oai_dc)</h3>
456 <table class="dcdata">
457 <xsl:apply-templates select="*" />
458 </table>
459 </div>
460</xsl:template>
461
462<xsl:template match="dc:title" xmlns:dc="http://purl.org/dc/elements/1.1/">
463<tr><td class="key">Title</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
464
465<xsl:template match="dc:creator" xmlns:dc="http://purl.org/dc/elements/1.1/">
466<tr><td class="key">Author or Creator</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
467
468<xsl:template match="dc:subject" xmlns:dc="http://purl.org/dc/elements/1.1/">
469<tr><td class="key">Subject and Keywords</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
470
471<xsl:template match="dc:description" xmlns:dc="http://purl.org/dc/elements/1.1/">
472<tr><td class="key">Description</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
473
474<xsl:template match="dc:publisher" xmlns:dc="http://purl.org/dc/elements/1.1/">
475<tr><td class="key">Publisher</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
476
477<xsl:template match="dc:contributor" xmlns:dc="http://purl.org/dc/elements/1.1/">
478<tr><td class="key">Other Contributor</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
479
480<xsl:template match="dc:date" xmlns:dc="http://purl.org/dc/elements/1.1/">
481<tr><td class="key">Date</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
482
483<xsl:template match="dc:type" xmlns:dc="http://purl.org/dc/elements/1.1/">
484<tr><td class="key">Resource Type</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
485
486<xsl:template match="dc:format" xmlns:dc="http://purl.org/dc/elements/1.1/">
487<tr><td class="key">Format</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
488
489<xsl:template match="dc:identifier" xmlns:dc="http://purl.org/dc/elements/1.1/">
490<tr><td class="key">Resource Identifier</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
491
492<xsl:template match="dc:source" xmlns:dc="http://purl.org/dc/elements/1.1/">
493<tr><td class="key">Source</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
494
495<xsl:template match="dc:language" xmlns:dc="http://purl.org/dc/elements/1.1/">
496<tr><td class="key">Language</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
497
498<xsl:template match="dc:relation" xmlns:dc="http://purl.org/dc/elements/1.1/">
499<tr><td class="key">Relation</td><td class="value">
500 <xsl:choose>
501 <xsl:when test='starts-with(.,"http" )'>
502 <xsl:choose>
503 <xsl:when test='string-length(.) &gt; 50'>
504 <a class="link" href="{.}">URL</a>
505 <i> URL not shown as it is very long.</i>
506 </xsl:when>
507 <xsl:otherwise>
508 <a href="{.}"><xsl:value-of select="."/></a>
509 </xsl:otherwise>
510 </xsl:choose>
511 </xsl:when>
512 <xsl:otherwise>
513 <xsl:value-of select="."/>
514 </xsl:otherwise>
515 </xsl:choose>
516</td></tr></xsl:template>
517
518<xsl:template match="dc:coverage" xmlns:dc="http://purl.org/dc/elements/1.1/">
519<tr><td class="key">Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
520
521<xsl:template match="dc:rights" xmlns:dc="http://purl.org/dc/elements/1.1/">
522<tr><td class="key">Rights Management</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
523
524<!-- gsdl_qdc record -->
525<xsl:template match="gsdl_qdc:gsdl_qdc" xmlns:gsdl_qdc="http://greenstone.org/namespace/gsdl_qdc/1.0/" >
526 <div class="dcdata">
527 <h3>Qualified Dublin Core Metadata (gsdl_qdc)</h3>
528 <table class="dcdata">
529 <xsl:apply-templates select="*" />
530 </table>
531 </div>
532</xsl:template>
533
534<xsl:template match="dc:title" xmlns:dc="http://purl.org/dc/terms/">
535<tr><td class="key">Title</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
536<xsl:template match="dc:creator" xmlns:dc="http://purl.org/dc/terms/">
537<tr><td class="key">Creator</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
538<xsl:template match="dc:subject" xmlns:dc="http://purl.org/dc/terms/">
539<tr><td class="key">Subject</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
540<xsl:template match="dc:description" xmlns:dc="http://purl.org/dc/terms/">
541<tr><td class="key">Description</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
542<xsl:template match="dc:publisher" xmlns:dc="http://purl.org/dc/terms/">
543<tr><td class="key">Publisher</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
544<xsl:template match="dc:contributor" xmlns:dc="http://purl.org/dc/terms/">
545<tr><td class="key">Contributor</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
546<xsl:template match="dc:date" xmlns:dc="http://purl.org/dc/terms/">
547<tr><td class="key">Date</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
548<xsl:template match="dc:type" xmlns:dc="http://purl.org/dc/terms/">
549<tr><td class="key">Type</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
550<xsl:template match="dc:format" xmlns:dc="http://purl.org/dc/terms/">
551<tr><td class="key">Format</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
552<xsl:template match="dc:identifier" xmlns:dc="http://purl.org/dc/terms/">
553<tr><td class="key">Identifier</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
554<xsl:template match="dc:source" xmlns:dc="http://purl.org/dc/terms/">
555<tr><td class="key">Source</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
556<xsl:template match="dc:language" xmlns:dc="http://purl.org/dc/terms/">
557<tr><td class="key">Language</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
558<xsl:template match="dc:relation" xmlns:dc="http://purl.org/dc/terms/">
559<tr><td class="key">Relation</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
560<xsl:template match="dc:coverage" xmlns:dc="http://purl.org/dc/terms/">
561<tr><td class="key">Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
562<xsl:template match="dc:rights" xmlns:dc="http://purl.org/dc/terms/">
563<tr><td class="key">Rights</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
564<xsl:template match="dc:alternative" xmlns:dc="http://purl.org/dc/terms/">
565<tr><td class="key">Alternative Title</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
566<xsl:template match="dc:tableOfContents" xmlns:dc="http://purl.org/dc/terms/">
567<tr><td class="key">Table Of Contents</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
568<xsl:template match="dc:abstract" xmlns:dc="http://purl.org/dc/terms/">
569<tr><td class="key">Abstract</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
570<xsl:template match="dc:created" xmlns:dc="http://purl.org/dc/terms/">
571<tr><td class="key">Date Created</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
572<xsl:template match="dc:valid" xmlns:dc="http://purl.org/dc/terms/">
573<tr><td class="key">Date Valid</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
574<xsl:template match="dc:available" xmlns:dc="http://purl.org/dc/terms/">
575<tr><td class="key">Date Available</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
576<xsl:template match="dc:issued" xmlns:dc="http://purl.org/dc/terms/">
577<tr><td class="key">Date Issued</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
578<xsl:template match="dc:modified" xmlns:dc="http://purl.org/dc/terms/">
579<tr><td class="key">Date Modified</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
580<xsl:template match="dc:dateAccepted" xmlns:dc="http://purl.org/dc/terms/">
581<tr><td class="key">Date Accepted</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
582<xsl:template match="dc:dateCopyrighted" xmlns:dc="http://purl.org/dc/terms/">
583<tr><td class="key">Date Copyrighted</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
584<xsl:template match="dc:dateSubmitted" xmlns:dc="http://purl.org/dc/terms/">
585<tr><td class="key">Date Submitted</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
586<xsl:template match="dc:extent" xmlns:dc="http://purl.org/dc/terms/">
587<tr><td class="key">Extent</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
588<xsl:template match="dc:medium" xmlns:dc="http://purl.org/dc/terms/">
589<tr><td class="key">Medium</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
590<xsl:template match="dc:isVersionOf" xmlns:dc="http://purl.org/dc/terms/">
591<tr><td class="key">Is Version Of</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
592<xsl:template match="dc:hasVersion" xmlns:dc="http://purl.org/dc/terms/">
593<tr><td class="key">Has Version</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
594<xsl:template match="dc:isReplacedBy" xmlns:dc="http://purl.org/dc/terms/">
595<tr><td class="key">Is Replaced By</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
596<xsl:template match="dc:replaces" xmlns:dc="http://purl.org/dc/terms/">
597<tr><td class="key">Replaces</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
598<xsl:template match="dc:isRequiredBy" xmlns:dc="http://purl.org/dc/terms/">
599<tr><td class="key">Is Required By</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
600<xsl:template match="dc:requires" xmlns:dc="http://purl.org/dc/terms/">
601<tr><td class="key">Requires</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
602<xsl:template match="dc:isPartOf" xmlns:dc="http://purl.org/dc/terms/">
603<tr><td class="key">Is Part Of</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
604<xsl:template match="dc:hasPart" xmlns:dc="http://purl.org/dc/terms/">
605<tr><td class="key">Has Part</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
606<xsl:template match="dc:isReferencedBy" xmlns:dc="http://purl.org/dc/terms/">
607<tr><td class="key">Is Referenced By</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
608<xsl:template match="dc:references" xmlns:dc="http://purl.org/dc/terms/">
609<tr><td class="key">References</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
610<xsl:template match="dc:isFormatOf" xmlns:dc="http://purl.org/dc/terms/">
611<tr><td class="key">Is Format Of</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
612<xsl:template match="dc:hasFormat" xmlns:dc="http://purl.org/dc/terms/">
613<tr><td class="key">Has Format</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
614<xsl:template match="dc:conformsTo" xmlns:dc="http://purl.org/dc/terms/">
615<tr><td class="key">Conforms To</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
616<xsl:template match="dc:spatial" xmlns:dc="http://purl.org/dc/terms/">
617<tr><td class="key">Spatial Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
618<xsl:template match="dc:temporal" xmlns:dc="http://purl.org/dc/terms/">
619<tr><td class="key">Temporal Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
620<xsl:template match="dc:audience" xmlns:dc="http://purl.org/dc/terms/">
621<tr><td class="key">Audience</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
622<xsl:template match="dc:accrualMethod" xmlns:dc="http://purl.org/dc/terms/">
623<tr><td class="key">Accrual Method</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
624<xsl:template match="dc:accrualPeriodicity" xmlns:dc="http://purl.org/dc/terms/">
625<tr><td class="key">Accrual Periodicity</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
626<xsl:template match="dc:accrualPolicy" xmlns:dc="http://purl.org/dc/terms/">
627<tr><td class="key">Accrual Policy</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
628<xsl:template match="dc:instructionalMethod" xmlns:dc="http://purl.org/dc/terms/">
629<tr><td class="key">Instructional Method</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
630<xsl:template match="dc:provenance" xmlns:dc="http://purl.org/dc/terms/">
631<tr><td class="key">Provenance</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
632<xsl:template match="dc:rightsHolder" xmlns:dc="http://purl.org/dc/terms/">
633<tr><td class="key">Rights Holder</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
634<xsl:template match="dc:mediator" xmlns:dc="http://purl.org/dc/terms/">
635<tr><td class="key">Mediator</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
636<xsl:template match="dc:educationLevel" xmlns:dc="http://purl.org/dc/terms/">
637<tr><td class="key">Audience Education Level</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
638<xsl:template match="dc:accessRights" xmlns:dc="http://purl.org/dc/terms/">
639<tr><td class="key">Access Rights</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
640<xsl:template match="dc:license" xmlns:dc="http://purl.org/dc/terms/">
641<tr><td class="key">License</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
642<xsl:template match="dc:bibliographicCitation" xmlns:dc="http://purl.org/dc/terms/">
643<tr><td class="key">Bibliographic Citation</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
644
645<!-- XML Pretty Maker -->
646
647<xsl:template match="node()" mode='xmlMarkup'>
648 <div class="xmlBlock">
649 &lt;<span class="xmlTagName"><xsl:value-of select='name(.)' /></span><xsl:apply-templates select="@*" mode='xmlMarkup'/>&gt;<xsl:apply-templates select="node()" mode='xmlMarkup' />&lt;/<span class="xmlTagName"><xsl:value-of select='name(.)' /></span>&gt;
650 </div>
651</xsl:template>
652
653<xsl:template match="text()" mode='xmlMarkup'><span class="xmlText"><xsl:value-of select='.' /></span></xsl:template>
654
655<xsl:template match="@*" mode='xmlMarkup'>
656 <xsl:text> </xsl:text><span class="xmlAttrName"><xsl:value-of select='name()' /></span>="<span class="xmlAttrValue"><xsl:value-of select='.' /></span>"
657</xsl:template>
658
659<xsl:template name="xmlstyle">
660.xmlSource {
661 font-size: 70%;
662 border: solid #c0c0a0 1px;
663 background-color: #ffffe0;
664 padding: 2em 2em 2em 0em;
665}
666.xmlBlock {
667 padding-left: 2em;
668}
669.xmlTagName {
670 color: #800000;
671 font-weight: bold;
672}
673.xmlAttrName {
674 font-weight: bold;
675}
676.xmlAttrValue {
677 color: #0000c0;
678}
679</xsl:template>
680
681</xsl:stylesheet>
682
Note: See TracBrowser for help on using the repository browser.