Lyncode
2012-10-19 00:44:43 +01:00
committed by lyncodev
parent bb118de181
commit c77c2f0fe3
2 changed files with 780 additions and 643 deletions

View File

@@ -1,23 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
The contents of this file are subject to the license and copyright
detailed in the LICENSE and NOTICE files at the root of the source
tree and available online at
http://www.dspace.org/license/
-->
<!-- The contents of this file are subject to the license and copyright detailed
in the LICENSE and NOTICE files at the root of the source tree and available
online at http://www.dspace.org/license/ -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:oai="http://www.openarchives.org/OAI/2.0/"
xmlns:lyn="http://www.lyncode.com/fakeNamespace"
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oai="http://www.openarchives.org/OAI/2.0/"
xmlns:lyn="http://www.lyncode.com/fakeNamespace" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
xmlns:dc="http://purl.org/dc/doc:elements/1.1/"
exclude-result-prefixes="oai lyn oai_dc dc"
>
exclude-result-prefixes="oai lyn oai_dc dc">
<xsl:output method="html"/>
<xsl:output method="html" />
<xsl:template name="write-doctype">
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;
@@ -25,12 +16,13 @@
</xsl:template>
<xsl:template match="/">
<xsl:call-template name="write-doctype"/>
<xsl:call-template name="write-doctype" />
<html>
<head>
<title>DSpace OAI-PMH Data Provider</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="http://code.jquery.com/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"
type="text/javascript"></script>
<style type="text/css">
a {
color: #00b2d0;
@@ -38,7 +30,8 @@
}
body {
text-align: center;
font-family: "adelle-1","adelle-2", Georgia, Times, serif;
font-family: "adelle-1","adelle-2", Georgia,
Times, serif;
color: #444751;
margin: 0px;
padding: 0px;
@@ -67,9 +60,11 @@
}
div.header div.contexts {
background-color: #444751;
-moz-box-shadow: 3px 3px 4px #999;
-moz-box-shadow: 3px 3px
4px #999;
-webkit-box-shadow: 3px 3px 4px #999;
box-shadow: 3px 3px 4px #999;
box-shadow: 3px 3px
4px #999;
}
div.header div.contexts ul {
@@ -78,21 +73,25 @@
div.header div.contexts ul li a:hover {
background-color: #00b2d0;
cursor: pointer;
cursor:
pointer;
}
div.header div.contexts ul li {
float: left;
padding-top: 10px;
padding-bottom: 10px;
padding-bottom:
10px;
}
div.header div.contexts ul li a {
color: white;
text-decoration: none;
padding: 10px;
padding:
10px;
background-color: #444751;
color: white;
text-transform: uppercase;
text-transform:
uppercase;
}
div.header div.contexts ul li a.active {
color: white;
@@ -147,12 +146,15 @@
border-left: solid 1px #ccc;
color: #444751;
padding: 10px;
width: 100%;
width:
100%;
display: inline-block;
margin-bottom: 2px;
-moz-box-shadow: 1px 1px 1px #999;
-moz-box-shadow: 1px
1px 1px #999;
-webkit-box-shadow: 1px 1px 1px #999;
box-shadow: 1px 1px 1px #999;
box-shadow: 1px
1px 1px #999;
}
div.set div.spec {
display: inline-block;
@@ -170,9 +172,11 @@
width: 100%;
color: #FFF;
margin-bottom: 2px;
display: inline-block;
display:
inline-block;
-moz-box-shadow: 1px 1px 1px #999;
-webkit-box-shadow: 1px 1px 1px #999;
-webkit-box-shadow:
1px 1px 1px #999;
box-shadow: 1px 1px 1px #999;
}
div.setalternate div.spec {
@@ -197,7 +201,8 @@
div.sets div div.spec a {
border: solid 1px #CCC;
margin-left: 5px;
padding: 5px;
padding:
5px;
}
div.sets div div.spec {
float: right;
@@ -205,7 +210,8 @@
.error {
color: #D8000C;
background-color: #FFBABA;
border: solid 1px #D8000C;
border: solid 1px
#D8000C;
display: inline-block;
padding: 20px;
width: 60%;
@@ -233,7 +239,8 @@
padding: 20px;
background-color: #00B2D0;
border: solid 1px #00B2D0;
margin-bottom: 15px;
margin-bottom:
15px;
width: 100%;
}
a.format:hover {
@@ -248,7 +255,8 @@
a.format div.prefix {
text-align: center;
font-size: 30px;
margin-bottom: 15px;
margin-bottom:
15px;
}
div.identifiers {
@@ -285,7 +293,8 @@
div.identifiers div.setspecalternate {
text-align: left;
padding: 5px;
padding-left: 15px;
padding-left:
15px;
background-color: rgba(0,0,0,0.3);
}
div.identifiers div.setspec {
@@ -300,7 +309,8 @@
text-align: left;
font-weight: bold;
margin-top: 10px;
background-color: rgba(255,255,255,0.3);
background-color:
rgba(255,255,255,0.3);
padding: 5px;
}
@@ -321,7 +331,8 @@
padding: 20px;
background-color: #00B2D0;
margin-bottom: 15px;
-moz-box-shadow: 1px 1px 1px #EAEAEA;
-moz-box-shadow: 1px
1px 1px #EAEAEA;
-webkit-box-shadow: 1px 1px 1px #EAEAEA;
box-shadow: 1px 1px 1px #EAEAEA;
}
@@ -339,7 +350,8 @@
background-color: #FFF;
margin-bottom: 15px;
-moz-box-shadow: 1px 1px 1px #999;
-webkit-box-shadow: 1px 1px 1px #999;
-webkit-box-shadow: 1px 1px 1px
#999;
box-shadow: 1px 1px 1px #999;
}
div.identifiers div.innerspec {
@@ -364,7 +376,8 @@
}
div.identifiers div.identifier div.setspecs span:hover {
background-color: rgba(255,255,255,0.6);
background-color:
rgba(255,255,255,0.6);
}
@@ -403,7 +416,8 @@
div.metadataPrefix p span.mdset {
margin-left: 10px;
font-weight: bold;
margin-right: 10px;
margin-right:
10px;
}
div.getRecord {
@@ -411,7 +425,8 @@
}
div.getRecord div.getcontent {
display: inline-block; padding: 20px; width: 900px; background-color: #00B2D0;
display: inline-block; padding: 20px; width:
900px; background-color: #00B2D0;
}
div.getRecord div.getcontent div.in {
@@ -428,7 +443,8 @@
}
div.getRecordAlternate div.getcontent {
display: inline-block; padding: 20px; width: 900px; background-color: #FFF;
display: inline-block; padding: 20px; width:
900px; background-color: #FFF;
-moz-box-shadow: 1px 1px 1px #999;
-webkit-box-shadow: 1px 1px 1px #999;
box-shadow: 1px 1px 1px #999;
@@ -450,7 +466,8 @@
font-weight: bold;
margin-top: 10px;
background-color: rgba(255,255,255,0.3);
padding: 5px;
padding:
5px;
}
div.getRecordAlternate label.lab {
@@ -458,11 +475,13 @@
}
div.recSets label.hiddable:hover {
cursor: pointer;
background-color: rgba(255,255,255,0.1);
background-color:
rgba(255,255,255,0.1);
}
div.getRecordAlternate label.lab:hover {
cursor: pointer;
background-color: rgba(0,0,0,0.3);
background-color:
rgba(0,0,0,0.3);
}
@@ -482,7 +501,8 @@
div.recSets div.recSetAlternate {
text-align: left;
padding: 5px;
padding-left: 15px;
padding-left:
15px;
background-color: rgba(0,0,0,0.2);
}
div.recSets div.recSetInner {
@@ -491,7 +511,8 @@
div.recSets div.recSetInner a {
border: solid 1px #FFF;
color: #FFF;
padding: 5px;
padding:
5px;
margin: 5px;
font-size: 12px;
display: block;
@@ -513,7 +534,8 @@
display: block;
text-align: left;
font-weight: bold;
margin-top: 10px;
margin-top:
10px;
background-color: rgba(255, 255, 255, 0.3);
padding: 5px;
}
@@ -521,7 +543,8 @@
div.divMetadata {
text-align: left;
margin: 10px;
background-color: rgba(255,255,255,0.6);
background-color:
rgba(255,255,255,0.6);
padding: 10px;
color: #444751;
}
@@ -556,14 +579,16 @@
div.getRecordAlternate .hiddable:hover {
cursor: pointer;
background-color: rgba(0,0,0,0.3);
background-color:
rgba(0,0,0,0.3);
}
.result-count {
text-align: left;
padding: 20px;
margin-left: 40px;
margin-bottom: 20px;
margin-bottom:
20px;
}
.result-count label {
font-weight: bold;
@@ -610,7 +635,8 @@
<xsl:attribute name="class">active</xsl:attribute>
</xsl:if>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=Identify')"></xsl:value-of>
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=Identify')"></xsl:value-of>
</xsl:attribute>
Identify
</a>
@@ -621,7 +647,8 @@
<xsl:attribute name="class">active</xsl:attribute>
</xsl:if>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListSets')"></xsl:value-of>
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListSets')"></xsl:value-of>
</xsl:attribute>
Sets
</a>
@@ -632,7 +659,8 @@
<xsl:attribute name="class">active</xsl:attribute>
</xsl:if>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=oai_dc')"></xsl:value-of>
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=oai_dc')"></xsl:value-of>
</xsl:attribute>
Records
</a>
@@ -643,18 +671,21 @@
<xsl:attribute name="class">active</xsl:attribute>
</xsl:if>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;metadataPrefix=oai_dc')"></xsl:value-of>
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;metadataPrefix=oai_dc')"></xsl:value-of>
</xsl:attribute>
Identifiers
</a>
</li>
<li>
<a title="Metadata Formats available">
<xsl:if test="/oai:OAI-PMH/oai:request/@verb = 'ListMetadataFormats'">
<xsl:if
test="/oai:OAI-PMH/oai:request/@verb = 'ListMetadataFormats'">
<xsl:attribute name="class">active</xsl:attribute>
</xsl:if>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListMetadataFormats')"></xsl:value-of>
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListMetadataFormats')"></xsl:value-of>
</xsl:attribute>
Metadata Formats
</a>
@@ -663,7 +694,10 @@
<div class="date">
<label>Response Date</label>
<span><xsl:value-of select="translate(oai:OAI-PMH/oai:responseDate/text(), 'TZ', ' ')" /></span>
<span>
<xsl:value-of
select="translate(oai:OAI-PMH/oai:responseDate/text(), 'TZ', ' ')" />
</span>
</div>
<div class="clear"></div>
</div>
@@ -674,22 +708,32 @@
<table class="identify">
<tr class="info">
<td class="name">Repository Name</td>
<td class="value"><xsl:value-of select="oai:OAI-PMH/oai:Identify/oai:repositoryName/text()" /></td>
<td class="value">
<xsl:value-of
select="oai:OAI-PMH/oai:Identify/oai:repositoryName/text()" />
</td>
<td class="clear"></td>
</tr>
<tr class="info">
<td class="name">E-Mail Contact</td>
<td class="value"><a>
<td class="value">
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('mailto:', oai:OAI-PMH/oai:Identify/oai:adminEmail/text())" />
<xsl:value-of
select="concat('mailto:', oai:OAI-PMH/oai:Identify/oai:adminEmail/text())" />
</xsl:attribute>
<xsl:value-of select="oai:OAI-PMH/oai:Identify/oai:adminEmail/text()" /></a>
<xsl:value-of
select="oai:OAI-PMH/oai:Identify/oai:adminEmail/text()" />
</a>
</td>
<td class="clear"></td>
</tr>
<tr class="info">
<td class="name">Description</td>
<td class="value"><xsl:value-of select="oai:OAI-PMH/oai:Identify/oai:description/node()/text()" /></td>
<td class="value">
<xsl:value-of
select="oai:OAI-PMH/oai:Identify/oai:description/node()/text()" />
</td>
<td class="clear"></td>
</tr>
<tr>
@@ -697,31 +741,45 @@
</tr>
<tr class="info">
<td class="name">Protocol Version</td>
<td class="value"><xsl:value-of select="oai:OAI-PMH/oai:Identify/oai:protocolVersion/text()" /></td>
<td class="value">
<xsl:value-of
select="oai:OAI-PMH/oai:Identify/oai:protocolVersion/text()" />
</td>
<td class="clear"></td>
</tr>
<tr class="info">
<td class="name">Earliest Registered Date</td>
<td class="value"><xsl:value-of select="translate(oai:OAI-PMH/oai:Identify/oai:earliestDatestamp/text(), 'TZ' ,' ')" /></td>
<td class="value">
<xsl:value-of
select="translate(oai:OAI-PMH/oai:Identify/oai:earliestDatestamp/text(), 'TZ' ,' ')" />
</td>
<td class="clear"></td>
</tr>
<tr class="info">
<td class="name">Date Granularity</td>
<td class="value"><xsl:value-of select="translate(oai:OAI-PMH/oai:Identify/oai:granularity/text(), 'TZ', ' ')" /></td>
<td class="value">
<xsl:value-of
select="translate(oai:OAI-PMH/oai:Identify/oai:granularity/text(), 'TZ', ' ')" />
</td>
<td class="clear"></td>
</tr>
<tr class="info">
<td class="name">Deletion Mode</td>
<td class="value"><xsl:value-of select="oai:OAI-PMH/oai:Identify/oai:deletedRecord/text()" /></td>
<td class="value">
<xsl:value-of
select="oai:OAI-PMH/oai:Identify/oai:deletedRecord/text()" />
</td>
<td class="clear"></td>
</tr>
</table>
</xsl:if>
<xsl:if test="oai:OAI-PMH/oai:ListSets">
<div class="result-count"><label>Results fetched:</label>
<div class="result-count">
<label>Results fetched:</label>
<span>
<xsl:call-template name="result-count">
<xsl:with-param name="path" select="oai:OAI-PMH/oai:ListSets/oai:set"/>
<xsl:with-param name="path"
select="oai:OAI-PMH/oai:ListSets/oai:set" />
</xsl:call-template>
</span>
</div>
@@ -734,24 +792,31 @@
<div class="name">
<xsl:choose>
<xsl:when test="string-length(oai:setName/text()) &gt; 83">
<xsl:value-of select="substring(oai:setName/text(),0, 80 )"/>...
<xsl:value-of select="substring(oai:setName/text(),0, 80 )" />
...
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="oai:setName/text()"/>
<xsl:value-of select="oai:setName/text()" />
</xsl:otherwise>
</xsl:choose>
<span class="tiny">(<xsl:value-of select="oai:setSpec/text()" />)</span>
<span class="tiny">
(
<xsl:value-of select="oai:setSpec/text()" />
)
</span>
</div>
<div class="spec">
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=oai_dc&amp;set=', oai:setSpec/text())" />
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=oai_dc&amp;set=', oai:setSpec/text())" />
</xsl:attribute>
Records
</a>
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;metadataPrefix=oai_dc&amp;set=', oai:setSpec/text())" />
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;metadataPrefix=oai_dc&amp;set=', oai:setSpec/text())" />
</xsl:attribute>
Identifiers
</a>
@@ -761,10 +826,12 @@
<div class="clear"></div>
</xsl:for-each>
<xsl:if test="oai:OAI-PMH/oai:ListSets/oai:resumptionToken/text() != ''">
<xsl:if
test="oai:OAI-PMH/oai:ListSets/oai:resumptionToken/text() != ''">
<a class="next">
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListSets&amp;resumptionToken=', oai:OAI-PMH/oai:ListSets/oai:resumptionToken/text())"></xsl:value-of>
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListSets&amp;resumptionToken=', oai:OAI-PMH/oai:ListSets/oai:resumptionToken/text())"></xsl:value-of>
</xsl:attribute>
Show More
</a>
@@ -775,10 +842,12 @@
$('.sets div').mouseover(function() {
$(this).find('a').css("visibility", "visible");
});
$('.sets div').mouseout(function () {
$('.sets
div').mouseout(function () {
$(this).find('a').css("visibility", "hidden");
});
$('.sets div').find('a').css("visibility", "hidden");
$('.sets div').find('a').css("visibility",
"hidden");
});
</script>
</xsl:if>
@@ -790,12 +859,20 @@
</div>
</xsl:if>
<xsl:if test="oai:OAI-PMH/oai:ListMetadataFormats">
<div class="result-count"><label>Results fetched</label> <span><xsl:value-of select="count(oai:OAI-PMH/oai:ListMetadataFormats/oai:metadataFormat)"/></span></div>
<div class="result-count">
<label>Results fetched</label>
<span>
<xsl:value-of
select="count(oai:OAI-PMH/oai:ListMetadataFormats/oai:metadataFormat)" />
</span>
</div>
<div class="formats">
<xsl:for-each select="oai:OAI-PMH/oai:ListMetadataFormats/oai:metadataFormat">
<xsl:for-each
select="oai:OAI-PMH/oai:ListMetadataFormats/oai:metadataFormat">
<a class="format">
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=', oai:metadataPrefix/text())" />
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=', oai:metadataPrefix/text())" />
</xsl:attribute>
<div class="prefix">
<xsl:value-of select="oai:metadataPrefix/text()"></xsl:value-of>
@@ -816,10 +893,12 @@
</xsl:if>
<xsl:if test="oai:OAI-PMH/oai:ListIdentifiers">
<div class="identifiers">
<div class="result-count"><label>Results fetched:</label>
<div class="result-count">
<label>Results fetched:</label>
<span>
<xsl:call-template name="result-count">
<xsl:with-param name="path" select="oai:OAI-PMH/oai:ListIdentifiers/oai:header"/>
<xsl:with-param name="path"
select="oai:OAI-PMH/oai:ListIdentifiers/oai:header" />
</xsl:call-template>
</span>
</div>
@@ -850,17 +929,21 @@
setspecalternate
</xsl:attribute>
</xsl:if>
<label><xsl:value-of select="text()" /></label>
<label>
<xsl:value-of select="text()" />
</label>
<div class="innerspec">
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=oai_dc&amp;set=', text())" />
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=oai_dc&amp;set=', text())" />
</xsl:attribute>
Records
</a>
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;metadataPrefix=oai_dc&amp;set=', text())" />
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;metadataPrefix=oai_dc&amp;set=', text())" />
</xsl:attribute>
Identifiers
</a>
@@ -872,7 +955,8 @@
</div>
<a class="getrecord">
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=GetRecord&amp;metadataPrefix=oai_dc&amp;identifier=', oai:identifier/text())" />
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=GetRecord&amp;metadataPrefix=oai_dc&amp;identifier=', oai:identifier/text())" />
</xsl:attribute>
Get Record
</a>
@@ -881,10 +965,12 @@
<div class="clear"></div>
</xsl:for-each>
<xsl:if test="oai:OAI-PMH/oai:ListIdentifiers/oai:resumptionToken/text() != ''">
<xsl:if
test="oai:OAI-PMH/oai:ListIdentifiers/oai:resumptionToken/text() != ''">
<a class="next">
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;resumptionToken=', oai:OAI-PMH/oai:ListIdentifiers/oai:resumptionToken/text())"></xsl:value-of>
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;resumptionToken=', oai:OAI-PMH/oai:ListIdentifiers/oai:resumptionToken/text())"></xsl:value-of>
</xsl:attribute>
Show More
</a>
@@ -913,33 +999,44 @@
<div class="getcontent">
<div class="in">
<label>Identifier</label>
<span><xsl:value-of select="oai:OAI-PMH/oai:GetRecord/oai:record/oai:header/oai:identifier/text()"></xsl:value-of></span>
<span>
<xsl:value-of
select="oai:OAI-PMH/oai:GetRecord/oai:record/oai:header/oai:identifier/text()"></xsl:value-of>
</span>
</div>
<div class="in">
<label>Last Modified</label>
<span><xsl:value-of select="translate(oai:OAI-PMH/oai:GetRecord/oai:record/oai:header/oai:datestamp/text(), 'TZ', ' ')"></xsl:value-of></span>
<span>
<xsl:value-of
select="translate(oai:OAI-PMH/oai:GetRecord/oai:record/oai:header/oai:datestamp/text(), 'TZ', ' ')"></xsl:value-of>
</span>
</div>
<div class="clear"></div>
<div class="recSets">
<label class="lab">Sets</label>
<div class="list">
<xsl:for-each select="oai:OAI-PMH/oai:GetRecord/oai:record/oai:header/oai:setSpec">
<xsl:for-each
select="oai:OAI-PMH/oai:GetRecord/oai:record/oai:header/oai:setSpec">
<div class="recSet">
<xsl:if test="position() mod 2 = 1">
<xsl:attribute name="class">recSetAlternate</xsl:attribute>
</xsl:if>
<label class="getrecordsets"><xsl:value-of select="text()" /></label>
<label class="getrecordsets">
<xsl:value-of select="text()" />
</label>
<div class="recSetInner">
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=oai_dc&amp;set=', text())" />
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=oai_dc&amp;set=', text())" />
</xsl:attribute>
Records
</a>
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;metadataPrefix=oai_dc&amp;set=', text())" />
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;metadataPrefix=oai_dc&amp;set=', text())" />
</xsl:attribute>
Identifiers
</a>
@@ -954,7 +1051,8 @@
</div>
<div class="metadata">
<div class="metadataTitle hiddable">Metadata</div>
<xsl:apply-templates select="oai:OAI-PMH/oai:GetRecord/oai:record/oai:metadata/*" />
<xsl:apply-templates
select="oai:OAI-PMH/oai:GetRecord/oai:record/oai:metadata/*" />
</div>
</div>
</div>
@@ -971,26 +1069,21 @@
</script>
</xsl:if>
<xsl:if test="oai:OAI-PMH/oai:ListRecords">
<div class="result-count"><label>Results fetched:</label>
<div class="result-count">
<label>Results fetched:</label>
<span>
<xsl:call-template name="result-count">
<xsl:with-param name="path" select="oai:OAI-PMH/oai:ListRecords/oai:record"/>
<xsl:with-param name="path"
select="oai:OAI-PMH/oai:ListRecords/oai:record" />
</xsl:call-template>
<!--
<xsl:choose>
<xsl:when test="oai:OAI-PMH/oai:ListRecords/oai:resumptionToken/@cursor">
<!-- <xsl:choose> <xsl:when test="oai:OAI-PMH/oai:ListRecords/oai:resumptionToken/@cursor">
<xsl:variable name="cursor" select="oai:OAI-PMH/oai:ListRecords/oai:resumptionToken/@cursor"/>
<xsl:variable name="per-page" select="count(oai:OAI-PMH/oai:ListRecords/oai:record)"/>
<xsl:value-of select="$cursor * $per-page"/>-<xsl:value-of select="($cursor+1) * $per-page"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="count(oai:OAI-PMH/oai:ListRecords/oai:record)"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="oai:OAI-PMH/oai:ListRecords/oai:resumptionToken/@completeListSize">
<xsl:value-of select="$cursor * $per-page"/>-<xsl:value-of select="($cursor+1)
* $per-page"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="count(oai:OAI-PMH/oai:ListRecords/oai:record)"/>
</xsl:otherwise> </xsl:choose> <xsl:if test="oai:OAI-PMH/oai:ListRecords/oai:resumptionToken/@completeListSize">
of <xsl:value-of select="oai:OAI-PMH/oai:ListRecords/oai:resumptionToken/@completeListSize"/>
</xsl:if>
-->
</xsl:if> -->
</span>
</div>
<xsl:for-each select="oai:OAI-PMH/oai:ListRecords/oai:record">
@@ -1003,11 +1096,16 @@
<div class="getcontent">
<div class="in">
<label>Identifier</label>
<span><xsl:value-of select="oai:header/oai:identifier/text()"></xsl:value-of></span>
<span>
<xsl:value-of select="oai:header/oai:identifier/text()"></xsl:value-of>
</span>
</div>
<div class="in">
<label>Last Modified</label>
<span><xsl:value-of select="translate(oai:header/oai:datestamp/text(), 'TZ', ' ')"></xsl:value-of></span>
<span>
<xsl:value-of
select="translate(oai:header/oai:datestamp/text(), 'TZ', ' ')"></xsl:value-of>
</span>
</div>
<div class="clear"></div>
<div class="recSets">
@@ -1018,17 +1116,21 @@
<xsl:if test="position() mod 2 = 1">
<xsl:attribute name="class">recSetAlternate</xsl:attribute>
</xsl:if>
<label class="getrecordsets"><xsl:value-of select="text()" /></label>
<label class="getrecordsets">
<xsl:value-of select="text()" />
</label>
<div class="recSetInner">
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=oai_dc&amp;set=', text())" />
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;metadataPrefix=oai_dc&amp;set=', text())" />
</xsl:attribute>
Records
</a>
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;metadataPrefix=oai_dc&amp;set=', text())" />
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListIdentifiers&amp;metadataPrefix=oai_dc&amp;set=', text())" />
</xsl:attribute>
Identifiers
</a>
@@ -1049,10 +1151,12 @@
</div>
</xsl:for-each>
<xsl:if test="oai:OAI-PMH/oai:ListRecords/oai:resumptionToken/text() != ''">
<xsl:if
test="oai:OAI-PMH/oai:ListRecords/oai:resumptionToken/text() != ''">
<a class="next">
<xsl:attribute name="href">
<xsl:value-of select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;resumptionToken=', oai:OAI-PMH/oai:ListRecords/oai:resumptionToken/text())"></xsl:value-of>
<xsl:value-of
select="concat(/oai:OAI-PMH/oai:request/text(), '?verb=ListRecords&amp;resumptionToken=', oai:OAI-PMH/oai:ListRecords/oai:resumptionToken/text())"></xsl:value-of>
</xsl:attribute>
Show More
</a>
@@ -1081,7 +1185,11 @@
<div class="footer">
<div class="right">
<p class="text">Stylesheet provided by</p>
<p class="image"><a href="http://www.lyncode.com"><img src="static/lyncode.png" alt="Lyncode logo" /></a></p>
<p class="image">
<a href="http://www.lyncode.com">
<img src="static/lyncode.png" alt="Lyncode logo" />
</a>
</p>
</div>
</div>
</div>
@@ -1099,52 +1207,81 @@
<div class="divXML">
<div class="clear"></div>
<span>
<xsl:attribute name="class">level<xsl:value-of select="count(ancestor::*)-4" /></xsl:attribute>
<xsl:attribute name="class">level<xsl:value-of
select="count(ancestor::*)-4" /></xsl:attribute>
</span>
<span class="tag">&lt;</span><span class="tagname"><xsl:value-of select='name(.)' /></span><xsl:apply-templates select="@*" mode='prettyXML'/><span class="tag">&gt;</span>
<span class="tag">&lt;</span>
<span class="tagname">
<xsl:value-of select='name(.)' />
</span>
<xsl:apply-templates select="@*" mode='prettyXML' />
<span class="tag">&gt;</span>
<xsl:apply-templates select="node()" mode='prettyXML' />
<div class="clear"></div>
<span>
<xsl:attribute name="class">level<xsl:value-of select="count(ancestor::*)-4" /></xsl:attribute>
<xsl:attribute name="class">level<xsl:value-of
select="count(ancestor::*)-4" /></xsl:attribute>
</span>
<span class="tag">&lt;/</span><span class="tagname"><xsl:value-of select='name(.)' /></span><span class="tag">&gt;</span>
<span class="tag">&lt;/</span>
<span class="tagname">
<xsl:value-of select='name(.)' />
</span>
<span class="tag">&gt;</span>
</div>
</xsl:template>
<xsl:template match="text()" mode='prettyXML'>
<div class="clear"></div>
<div class="divText">
<xsl:attribute name="class">level<xsl:value-of select="count(ancestor::*)-3" /> divText</xsl:attribute>
<xsl:attribute name="class">level<xsl:value-of
select="count(ancestor::*)-3" /> divText</xsl:attribute>
<xsl:value-of select='.' />
</div>
</xsl:template>
<xsl:template match="@*" mode='prettyXML'>
<xsl:text> </xsl:text><div class="divAttribute"><xsl:value-of select='name()' /></div><span class="equal">=</span><span class="quote">"</span><div class="divAttributeValue"><xsl:value-of select='.' /></div><span class="quote">"</span>
<xsl:text> </xsl:text>
<div class="divAttribute">
<xsl:value-of select='name()' />
</div>
<span class="equal">=</span>
<span class="quote">"</span>
<div class="divAttributeValue">
<xsl:value-of select='.' />
</div>
<span class="quote">"</span>
</xsl:template>
<xsl:template name="result-count">
<xsl:param name="path" />
<xsl:variable name="cursor" select="$path/../oai:resumptionToken/@cursor" />
<xsl:variable name="count" select="count($path)" />
<xsl:variable name="total" select="$path/../oai:resumptionToken/@completeListSize" />
<xsl:choose>
<xsl:when test="$path/../oai:resumptionToken/@cursor">
<xsl:variable name="cursor" select="$path/../oai:resumptionToken/@cursor"/>
<xsl:variable name="per-page" select="count($path)"/>
<xsl:when test="$cursor">
<xsl:choose>
<xsl:when test="$per-page &lt; 100"> <!-- on the last page of results we have to assume that there were 100 results per page and that @completeListSize is available -->
<xsl:value-of select="$path/../oai:resumptionToken/@completeListSize - $per-page"/>-<xsl:value-of select="$path/../oai:resumptionToken/@completeListSize"/>
<xsl:when test="$path/../oai:resumptionToken/text() = ''">
<!-- on the last page of results we have to assume that @completeListSize is available -->
<xsl:value-of
select="$total - $count" />
-
<xsl:value-of select="$total" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$cursor * $per-page"/>-<xsl:value-of select="($cursor+1) * $per-page"/>
<xsl:value-of select="$cursor * $count" />
-
<xsl:value-of select="($cursor+1) * $count" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="count($path)"/>
<xsl:value-of select="$count" />
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$path/../oai:resumptionToken/@completeListSize">
of <xsl:value-of select="$path/../oai:resumptionToken/@completeListSize"/>
<xsl:if test="$total">
of
<xsl:value-of select="$total" />
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@@ -34,22 +34,22 @@
</datafield>
</xsl:for-each>
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='date']/doc:element[@name='issued']/doc:element/doc:field[@name='value']">
<datafield tag="260">
<datafield ind2=" " ind1=" " tag="260">
<subfield code="c"><xsl:value-of select="." /></subfield>
</datafield>
</xsl:for-each>
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='description']/doc:element[@name='abstract']/doc:element/doc:field[@name='value']">
<datafield tag="520">
<datafield ind2=" " ind1=" " tag="520">
<subfield code="a"><xsl:value-of select="." /></subfield>
</datafield>
</xsl:for-each>
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='identifier']/doc:element/doc:element/doc:field[@name='value']">
<datafield ind1="8" tag="024">
<datafield ind1="8" ind2=" " tag="024">
<subfield code="a"><xsl:value-of select="." /></subfield>
</datafield>
</xsl:for-each>
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='subject']/doc:element/doc:field[@name='value']">
<datafield tag="653">
<datafield tag="653" ind2=" " ind1=" " >
<subfield code="a"><xsl:value-of select="." /></subfield>
</datafield>
</xsl:for-each>