root/other-projects/tipple-android/i-greenstone-server-files/greenstone/webapps/greenstone3/interfaces/oai/oai2.xsl @ 26899

Revision 26899, 29.2 KB (checked in by davidb, 7 years ago)

Tipple reborn after Chris's Summer of Code 2013

  • Property svn:mime-type set to application/xml
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<!-- Identify / GSDL Info -->
306  <xsl:template match="id:gsdl" xmlns:id="http://www.greenstone.org/namespace/gsdl_oaiinfo/1.0/gsdl_oaiinfo">
307    <h2> Description </h2>
308    <table class="values">
309      <xsl:apply-templates select="id:Metadata"/>
310    </table>
311  </xsl:template>
312
313  <xsl:template match="id:Metadata" xmlns:id="http://www.greenstone.org/namespace/gsdl_oaiinfo/1.0/gsdl_oaiinfo">
314    <tr><td class="key"><xsl:value-of select="@name"/></td>
315      <td class="value"><xsl:value-of select="."/></td></tr>
316  </xsl:template>
317<!-- GetRecord -->
318
319<xsl:template match="oai:GetRecord">
320  <xsl:apply-templates select="oai:record" />
321</xsl:template>
322
323<!-- ListRecords -->
324
325<xsl:template match="oai:ListRecords">
326  <xsl:apply-templates select="oai:record" />
327  <xsl:apply-templates select="oai:resumptionToken" />
328</xsl:template>
329
330<!-- ListIdentifiers -->
331
332<xsl:template match="oai:ListIdentifiers">
333  <xsl:apply-templates select="oai:header" />
334  <xsl:apply-templates select="oai:resumptionToken" />
335</xsl:template>
336
337<!-- ListSets -->
338
339<xsl:template match="oai:ListSets">
340  <xsl:apply-templates select="oai:set" />
341  <xsl:apply-templates select="oai:resumptionToken" />
342</xsl:template>
343
344<xsl:template match="oai:set">
345  <h2>Set</h2>
346  <table class="values">
347    <tr><td class="key">setName</td>
348    <td class="value"><xsl:value-of select="oai:setName"/></td></tr>
349    <tr><td class="key">setDescription</td>
350    <td class="value"><xsl:value-of select="oai:setDescription"/></td></tr>
351    <xsl:apply-templates select="oai:setSpec" />
352  </table>
353</xsl:template>
354
355<!-- ListMetadataFormats -->
356
357<xsl:template match="oai:ListMetadataFormats">
358  <xsl:choose>
359    <xsl:when test="$identifier">
360      <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>
361    </xsl:when>
362    <xsl:otherwise>
363      <p>This is a list of metadata formats available from this archive.</p>
364    </xsl:otherwise>
365  </xsl:choose>
366  <xsl:apply-templates select="oai:metadataFormat" />
367</xsl:template>
368
369<xsl:template match="oai:metadataFormat">
370  <h2>Metadata Format</h2>
371  <table class="values">
372    <tr><td class="key">metadataPrefix</td>
373    <td class="value"><xsl:value-of select="oai:metadataPrefix"/></td></tr>
374    <tr><td class="key">metadataNamespace</td>
375    <td class="value"><xsl:value-of select="oai:metadataNamespace"/></td></tr>
376    <tr><td class="key">schema</td>
377    <td class="value"><a href="{oai:schema}"><xsl:value-of select="oai:schema"/></a></td></tr>
378  </table>
379</xsl:template>
380
381<xsl:template match="oai:metadataPrefix">
382      <xsl:text> </xsl:text><a class="link" href="?verb=GetRecord&amp;metadataPrefix={.}&amp;identifier={$identifier}"><xsl:value-of select='.' /></a>
383</xsl:template>
384
385<!-- record object -->
386
387<xsl:template match="oai:record">
388  <h2 class="oaiRecordTitle">OAI Record: <xsl:value-of select="oai:header/oai:identifier"/></h2>
389  <div class="oaiRecord">
390    <xsl:apply-templates select="oai:header" />
391    <xsl:apply-templates select="oai:metadata" />
392    <xsl:apply-templates select="oai:about" />
393  </div>
394</xsl:template>
395
396<xsl:template match="oai:header">
397  <h3>OAI Record Header</h3>
398  <table class="values">
399    <tr><td class="key">OAI Identifier</td>
400    <td class="value">
401      <xsl:value-of select="oai:identifier"/>
402      <xsl:text> </xsl:text><a class="link" href="?verb=GetRecord&amp;metadataPrefix=oai_dc&amp;identifier={oai:identifier}">oai_dc</a>
403      <xsl:text> </xsl:text><a class="link" href="?verb=ListMetadataFormats&amp;identifier={oai:identifier}">formats</a>
404    </td></tr>
405    <tr><td class="key">Datestamp</td>
406    <td class="value"><xsl:value-of select="oai:datestamp"/></td></tr>
407  <xsl:apply-templates select="oai:setSpec" />
408  </table>
409  <xsl:if test="@status='deleted'">
410    <p>This record has been deleted.</p>
411  </xsl:if>
412</xsl:template>
413
414
415<xsl:template match="oai:about">
416  <p>"about" part of record container not supported by the XSL</p>
417</xsl:template>
418
419<xsl:template match="oai:metadata">
420  &#160;
421  <div class="metadata">
422    <xsl:apply-templates select="*" />
423  </div>
424</xsl:template>
425
426
427
428
429<!-- oai setSpec object -->
430
431<xsl:template match="oai:setSpec">
432  <tr><td class="key">setSpec</td>
433  <td class="value"><xsl:value-of select="."/>
434    <xsl:text> </xsl:text><a class="link" href="?verb=ListIdentifiers&amp;metadataPrefix=oai_dc&amp;set={.}">Identifiers</a>
435    <xsl:text> </xsl:text><a class="link" href="?verb=ListRecords&amp;metadataPrefix=oai_dc&amp;set={.}">Records</a>
436  </td></tr>
437</xsl:template>
438
439
440
441<!-- oai resumptionToken -->
442<!-- test that the node has children/is not an empty node before outputting that there are more results -->
443<xsl:template match="oai:resumptionToken">
444  <xsl:if test="node()">
445   <p>There are more results.</p>
446   <table class="values">
447     <tr><td class="key">resumptionToken:</td>
448     <td class="value"><xsl:value-of select="."/>
449<xsl:text> </xsl:text>
450<a class="link" href="?verb={/oai:OAI-PMH/oai:request/@verb}&amp;resumptionToken={.}">Resume</a></td></tr>
451   </table>
452  </xsl:if>
453</xsl:template>
454
455<!-- unknown metadata format -->
456
457<xsl:template match="oai:metadata/*" priority='-100'>
458  <h3>Unknown Metadata Format</h3>
459  <div class="xmlSource">
460    <xsl:apply-templates select="." mode='xmlMarkup' />
461  </div>
462</xsl:template>
463
464<!-- oai_dc record -->
465
466<xsl:template match="oai_dc:dc"  xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" >
467  <div class="dcdata">
468    <h3>Dublin Core Metadata (oai_dc)</h3>
469    <table class="dcdata">
470      <xsl:apply-templates select="*" />
471    </table>
472  </div>
473</xsl:template>
474
475<xsl:template match="dc:title" xmlns:dc="http://purl.org/dc/elements/1.1/">
476<tr><td class="key">Title</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
477
478<xsl:template match="dc:creator" xmlns:dc="http://purl.org/dc/elements/1.1/">
479<tr><td class="key">Author or Creator</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
480
481<xsl:template match="dc:subject" xmlns:dc="http://purl.org/dc/elements/1.1/">
482<tr><td class="key">Subject and Keywords</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
483
484<xsl:template match="dc:description" xmlns:dc="http://purl.org/dc/elements/1.1/">
485<tr><td class="key">Description</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
486
487<xsl:template match="dc:publisher" xmlns:dc="http://purl.org/dc/elements/1.1/">
488<tr><td class="key">Publisher</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
489
490<xsl:template match="dc:contributor" xmlns:dc="http://purl.org/dc/elements/1.1/">
491<tr><td class="key">Other Contributor</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
492
493<xsl:template match="dc:date" xmlns:dc="http://purl.org/dc/elements/1.1/">
494<tr><td class="key">Date</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
495
496<xsl:template match="dc:type" xmlns:dc="http://purl.org/dc/elements/1.1/">
497<tr><td class="key">Resource Type</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
498
499<xsl:template match="dc:format" xmlns:dc="http://purl.org/dc/elements/1.1/">
500<tr><td class="key">Format</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
501
502<xsl:template match="dc:identifier" xmlns:dc="http://purl.org/dc/elements/1.1/">
503<tr><td class="key">Resource Identifier</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
504
505<xsl:template match="dc:source" xmlns:dc="http://purl.org/dc/elements/1.1/">
506<tr><td class="key">Source</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
507
508<xsl:template match="dc:language" xmlns:dc="http://purl.org/dc/elements/1.1/">
509<tr><td class="key">Language</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
510
511<xsl:template match="dc:relation" xmlns:dc="http://purl.org/dc/elements/1.1/">
512<tr><td class="key">Relation</td><td class="value">
513  <xsl:choose>
514    <xsl:when test='starts-with(.,"http" )'>
515      <xsl:choose>
516        <xsl:when test='string-length(.) &gt; 50'>
517          <a class="link" href="{.}">URL</a>
518          <i> URL not shown as it is very long.</i>
519        </xsl:when>
520        <xsl:otherwise>
521          <a href="{.}"><xsl:value-of select="."/></a>
522        </xsl:otherwise>
523      </xsl:choose>
524    </xsl:when>
525    <xsl:otherwise>
526      <xsl:value-of select="."/>
527    </xsl:otherwise>
528  </xsl:choose>
529</td></tr></xsl:template>
530
531<xsl:template match="dc:coverage" xmlns:dc="http://purl.org/dc/elements/1.1/">
532<tr><td class="key">Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
533
534<xsl:template match="dc:rights" xmlns:dc="http://purl.org/dc/elements/1.1/">
535<tr><td class="key">Rights Management</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
536
537<!-- gsdl_qdc record -->
538<xsl:template match="gsdl_qdc:gsdl_qdc"  xmlns:gsdl_qdc="http://greenstone.org/namespace/gsdl_qdc/1.0/" >
539  <div class="dcdata">
540    <h3>Qualified Dublin Core Metadata (gsdl_qdc)</h3>
541    <table class="dcdata">
542      <xsl:apply-templates select="*" />
543    </table>
544  </div>
545</xsl:template>
546
547<xsl:template match="dc:title" xmlns:dc="http://purl.org/dc/terms/">
548<tr><td class="key">Title</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
549<xsl:template match="dc:creator" xmlns:dc="http://purl.org/dc/terms/">
550<tr><td class="key">Creator</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
551<xsl:template match="dc:subject" xmlns:dc="http://purl.org/dc/terms/">
552<tr><td class="key">Subject</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
553<xsl:template match="dc:description" xmlns:dc="http://purl.org/dc/terms/">
554<tr><td class="key">Description</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
555<xsl:template match="dc:publisher" xmlns:dc="http://purl.org/dc/terms/">
556<tr><td class="key">Publisher</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
557<xsl:template match="dc:contributor" xmlns:dc="http://purl.org/dc/terms/">
558<tr><td class="key">Contributor</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
559<xsl:template match="dc:date" xmlns:dc="http://purl.org/dc/terms/">
560<tr><td class="key">Date</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
561<xsl:template match="dc:type" xmlns:dc="http://purl.org/dc/terms/">
562<tr><td class="key">Type</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
563<xsl:template match="dc:format" xmlns:dc="http://purl.org/dc/terms/">
564<tr><td class="key">Format</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
565<xsl:template match="dc:identifier" xmlns:dc="http://purl.org/dc/terms/">
566<tr><td class="key">Identifier</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
567<xsl:template match="dc:source" xmlns:dc="http://purl.org/dc/terms/">
568<tr><td class="key">Source</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
569<xsl:template match="dc:language" xmlns:dc="http://purl.org/dc/terms/">
570<tr><td class="key">Language</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
571<xsl:template match="dc:relation" xmlns:dc="http://purl.org/dc/terms/">
572<tr><td class="key">Relation</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
573<xsl:template match="dc:coverage" xmlns:dc="http://purl.org/dc/terms/">
574<tr><td class="key">Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
575<xsl:template match="dc:rights" xmlns:dc="http://purl.org/dc/terms/">
576<tr><td class="key">Rights</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
577<xsl:template match="dc:alternative" xmlns:dc="http://purl.org/dc/terms/">
578<tr><td class="key">Alternative Title</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
579<xsl:template match="dc:tableOfContents" xmlns:dc="http://purl.org/dc/terms/">
580<tr><td class="key">Table Of Contents</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
581<xsl:template match="dc:abstract" xmlns:dc="http://purl.org/dc/terms/">
582<tr><td class="key">Abstract</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
583<xsl:template match="dc:created" xmlns:dc="http://purl.org/dc/terms/">
584<tr><td class="key">Date Created</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
585<xsl:template match="dc:valid" xmlns:dc="http://purl.org/dc/terms/">
586<tr><td class="key">Date Valid</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
587<xsl:template match="dc:available" xmlns:dc="http://purl.org/dc/terms/">
588<tr><td class="key">Date Available</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
589<xsl:template match="dc:issued" xmlns:dc="http://purl.org/dc/terms/">
590<tr><td class="key">Date Issued</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
591<xsl:template match="dc:modified" xmlns:dc="http://purl.org/dc/terms/">
592<tr><td class="key">Date Modified</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
593<xsl:template match="dc:dateAccepted" xmlns:dc="http://purl.org/dc/terms/">
594<tr><td class="key">Date Accepted</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
595<xsl:template match="dc:dateCopyrighted" xmlns:dc="http://purl.org/dc/terms/">
596<tr><td class="key">Date Copyrighted</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
597<xsl:template match="dc:dateSubmitted" xmlns:dc="http://purl.org/dc/terms/">
598<tr><td class="key">Date Submitted</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
599<xsl:template match="dc:extent" xmlns:dc="http://purl.org/dc/terms/">
600<tr><td class="key">Extent</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
601<xsl:template match="dc:medium" xmlns:dc="http://purl.org/dc/terms/">
602<tr><td class="key">Medium</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
603<xsl:template match="dc:isVersionOf" xmlns:dc="http://purl.org/dc/terms/">
604<tr><td class="key">Is Version Of</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
605<xsl:template match="dc:hasVersion" xmlns:dc="http://purl.org/dc/terms/">
606<tr><td class="key">Has Version</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
607<xsl:template match="dc:isReplacedBy" xmlns:dc="http://purl.org/dc/terms/">
608<tr><td class="key">Is Replaced By</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
609<xsl:template match="dc:replaces" xmlns:dc="http://purl.org/dc/terms/">
610<tr><td class="key">Replaces</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
611<xsl:template match="dc:isRequiredBy" xmlns:dc="http://purl.org/dc/terms/">
612<tr><td class="key">Is Required By</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
613<xsl:template match="dc:requires" xmlns:dc="http://purl.org/dc/terms/">
614<tr><td class="key">Requires</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
615<xsl:template match="dc:isPartOf" xmlns:dc="http://purl.org/dc/terms/">
616<tr><td class="key">Is Part Of</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
617<xsl:template match="dc:hasPart" xmlns:dc="http://purl.org/dc/terms/">
618<tr><td class="key">Has Part</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
619<xsl:template match="dc:isReferencedBy" xmlns:dc="http://purl.org/dc/terms/">
620<tr><td class="key">Is Referenced By</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
621<xsl:template match="dc:references" xmlns:dc="http://purl.org/dc/terms/">
622<tr><td class="key">References</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
623<xsl:template match="dc:isFormatOf" xmlns:dc="http://purl.org/dc/terms/">
624<tr><td class="key">Is Format Of</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
625<xsl:template match="dc:hasFormat" xmlns:dc="http://purl.org/dc/terms/">
626<tr><td class="key">Has Format</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
627<xsl:template match="dc:conformsTo" xmlns:dc="http://purl.org/dc/terms/">
628<tr><td class="key">Conforms To</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
629<xsl:template match="dc:spatial" xmlns:dc="http://purl.org/dc/terms/">
630<tr><td class="key">Spatial Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
631<xsl:template match="dc:temporal" xmlns:dc="http://purl.org/dc/terms/">
632<tr><td class="key">Temporal Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
633<xsl:template match="dc:audience" xmlns:dc="http://purl.org/dc/terms/">
634<tr><td class="key">Audience</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
635<xsl:template match="dc:accrualMethod" xmlns:dc="http://purl.org/dc/terms/">
636<tr><td class="key">Accrual Method</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
637<xsl:template match="dc:accrualPeriodicity" xmlns:dc="http://purl.org/dc/terms/">
638<tr><td class="key">Accrual Periodicity</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
639<xsl:template match="dc:accrualPolicy" xmlns:dc="http://purl.org/dc/terms/">
640<tr><td class="key">Accrual Policy</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
641<xsl:template match="dc:instructionalMethod" xmlns:dc="http://purl.org/dc/terms/">
642<tr><td class="key">Instructional Method</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
643<xsl:template match="dc:provenance" xmlns:dc="http://purl.org/dc/terms/">
644<tr><td class="key">Provenance</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
645<xsl:template match="dc:rightsHolder" xmlns:dc="http://purl.org/dc/terms/">
646<tr><td class="key">Rights Holder</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
647<xsl:template match="dc:mediator" xmlns:dc="http://purl.org/dc/terms/">
648<tr><td class="key">Mediator</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
649<xsl:template match="dc:educationLevel" xmlns:dc="http://purl.org/dc/terms/">
650<tr><td class="key">Audience Education Level</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
651<xsl:template match="dc:accessRights" xmlns:dc="http://purl.org/dc/terms/">
652<tr><td class="key">Access Rights</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
653<xsl:template match="dc:license" xmlns:dc="http://purl.org/dc/terms/">
654<tr><td class="key">License</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
655<xsl:template match="dc:bibliographicCitation" xmlns:dc="http://purl.org/dc/terms/">
656<tr><td class="key">Bibliographic Citation</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
657
658<!-- XML Pretty Maker -->
659
660<xsl:template match="node()" mode='xmlMarkup'>
661  <div class="xmlBlock">
662    &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;
663  </div>
664</xsl:template>
665
666<xsl:template match="text()" mode='xmlMarkup'><span class="xmlText"><xsl:value-of select='.' /></span></xsl:template>
667
668<xsl:template match="@*" mode='xmlMarkup'>
669  <xsl:text> </xsl:text><span class="xmlAttrName"><xsl:value-of select='name()' /></span>="<span class="xmlAttrValue"><xsl:value-of select='.' /></span>"
670</xsl:template>
671
672<xsl:template name="xmlstyle">
673.xmlSource {
674    font-size: 70%;
675    border: solid #c0c0a0 1px;
676    background-color: #ffffe0;
677    padding: 2em 2em 2em 0em;
678}
679.xmlBlock {
680    padding-left: 2em;
681}
682.xmlTagName {
683    color: #800000;
684    font-weight: bold;
685}
686.xmlAttrName {
687    font-weight: bold;
688}
689.xmlAttrValue {
690    color: #0000c0;
691}
692</xsl:template>
693
694</xsl:stylesheet>
695
Note: See TracBrowser for help on using the browser.