Index: main/trunk/greenstone2/web/style/oai2.xsl
===================================================================
--- main/trunk/greenstone2/web/style/oai2.xsl	(revision 21977)
+++ main/trunk/greenstone2/web/style/oai2.xsl	(revision 22210)
@@ -28,5 +28,4 @@
 
 -->
-
    
 <!--
@@ -45,4 +44,12 @@
 
 -->
+
+<!-- Modified for the Greenstone OAI server 
+
+  * Rules for Qualified Dublin Core added (gsdl_qdc)
+  * EPrints specific stuff removed
+-->
+
+
 <xsl:stylesheet
     version="1.0"
@@ -166,5 +173,5 @@
     <xsl:call-template name="quicklinks"/>
     <h2><a name="moreinfo">About the XSLT</a></h2>
-    <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 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>
+    <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>
 
   </body>
@@ -175,8 +182,8 @@
     <ul class="quicklinks">
       <li><a href="?verb=Identify">Identify</a> | </li> 
-      <li><a href="?verb=ListRecords&amp;metadataPrefix=oai_dc">ListRecords</a> | </li>
+      <li><a href="?verb=ListRecords&amp;metadataPrefix=oai_dc">ListRecords (oai_dc)</a> | </li>
       <li><a href="?verb=ListSets">ListSets</a> | </li>
       <li><a href="?verb=ListMetadataFormats">ListMetadataFormats</a> | </li>
-      <li><a href="?verb=ListIdentifiers&amp;metadataPrefix=oai_dc">ListIdentifiers</a></li>
+      <li><a href="?verb=ListIdentifiers&amp;metadataPrefix=oai_dc">ListIdentifiers (oai_dc)</a></li>
     </ul>
 </xsl:template>
@@ -283,125 +290,4 @@
 
 
-<!--
-   Identify / EPrints
--->
-
-<xsl:template match="ep:eprints" xmlns:ep="http://www.openarchives.org/OAI/1.1/eprints">
-  <h2>EPrints Description</h2>
-  <h3>Content</h3>
-  <xsl:apply-templates select="ep:content"/>
-  <xsl:if test="ep:submissionPolicy">
-    <h3>Submission Policy</h3>
-    <xsl:apply-templates select="ep:submissionPolicy"/>
-  </xsl:if>
-  <h3>Metadata Policy</h3>
-  <xsl:apply-templates select="ep:metadataPolicy"/>
-  <h3>Data Policy</h3>
-  <xsl:apply-templates select="ep:dataPolicy"/>
-  <xsl:if test="ep:content">
-    <h3>Content</h3>
-    <xsl:apply-templates select="ep:content"/>
-  </xsl:if>
-  <xsl:apply-templates select="ep:comment"/>
-</xsl:template>
-
-<xsl:template match="ep:content|ep:dataPolicy|ep:metadataPolicy|ep:submissionPolicy" xmlns:ep="http://www.openarchives.org/OAI/1.1/eprints">
-  <xsl:if test="ep:text">
-    <p><xsl:value-of select="ep:text" /></p>
-  </xsl:if>
-  <xsl:if test="ep:URL">
-    <div><a href="{ep:URL}"><xsl:value-of select="ep:URL" /></a></div>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="ep:comment" xmlns:ep="http://www.openarchives.org/OAI/1.1/eprints">
-  <h3>Comment</h3>
-  <div><xsl:value-of select="."/></div>
-</xsl:template>
-
-
-<!--
-   Identify / Friends
--->
-
-<xsl:template match="fr:friends" xmlns:fr="http://www.openarchives.org/OAI/2.0/friends/">
-  <h2>Friends</h2>
-  <ul>
-    <xsl:apply-templates select="fr:baseURL"/>
-  </ul>
-</xsl:template>
-
-<xsl:template match="fr:baseURL" xmlns:fr="http://www.openarchives.org/OAI/2.0/friends/">
-  <li><xsl:value-of select="."/> 
-<xsl:text> </xsl:text>
-<a class="link" href="{.}?verb=Identify">Identify</a></li>
-</xsl:template>
-
-
-<!--
-   Identify / Branding
--->
-
-<xsl:template match="br:branding" xmlns:br="http://www.openarchives.org/OAI/2.0/branding/">
-  <h2>Branding</h2>
-  <xsl:apply-templates select="br:collectionIcon"/>
-  <xsl:apply-templates select="br:metadataRendering"/>
-</xsl:template>
-
-<xsl:template match="br:collectionIcon" xmlns:br="http://www.openarchives.org/OAI/2.0/branding/">
-  <h3>Icon</h3>
-  <xsl:choose>
-    <xsl:when test="link!=''">
-      <a href="{br:link}"><img src="{br:url}" alt="{br:title}" width="{br:width}" height="{br:height}" border="0" /></a>
-    </xsl:when>
-    <xsl:otherwise>
-      <img src="{br:url}" alt="{br:title}" width="{br:width}" height="{br:height}" border="0" />
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="br:metadataRendering" xmlns:br="http://www.openarchives.org/OAI/2.0/branding/">
-  <h3>Metadata Rendering Rule</h3>
-  <table class="values">
-    <tr><td class="key">URL</td>
-    <td class="value"><xsl:value-of select="."/></td></tr>
-    <tr><td class="key">Namespace</td>
-    <td class="value"><xsl:value-of select="@metadataNamespace"/></td></tr>
-    <tr><td class="key">Mime Type</td>
-    <td class="value"><xsl:value-of select="@mimetype"/></td></tr>
-  </table>
-</xsl:template>
-
-
-
-<!--
-   Identify / Gateway
--->
-
-<xsl:template match="gw:gateway" xmlns:gw="http://www.openarchives.org/OAI/2.0/gateway/x">
-  <h2>Gateway Information</h2>
-  <table class="values">
-    <tr><td class="key">Source</td>
-    <td class="value"><xsl:value-of select="gw:source"/></td></tr>
-    <tr><td class="key">Description</td>
-    <td class="value"><xsl:value-of select="gw:gatewayDescription"/></td></tr>
-    <xsl:apply-templates select="gw:gatewayAdmin"/>
-    <xsl:if test="gw:gatewayURL">
-      <tr><td class="key">URL</td>
-      <td class="value"><xsl:value-of select="gw:gatewayURL"/></td></tr>
-    </xsl:if>
-    <xsl:if test="gw:gatewayNotes">
-      <tr><td class="key">Notes</td>
-      <td class="value"><xsl:value-of select="gw:gatewayNotes"/></td></tr>
-    </xsl:if>
-  </table>
-</xsl:template>
-
-<xsl:template match="gw:gatewayAdmin" xmlns:gw="http://www.openarchives.org/OAI/2.0/gateway/">
-  <tr><td class="key">Admin</td>
-  <td class="value"><xsl:value-of select="."/></td></tr>
-</xsl:template>
-
-
 <!-- GetRecord -->
 
@@ -436,4 +322,6 @@
     <tr><td class="key">setName</td>
     <td class="value"><xsl:value-of select="oai:setName"/></td></tr>
+    <tr><td class="key">setDescription</td>
+    <td class="value"><xsl:value-of select="oai:setDescription"/></td></tr>
     <xsl:apply-templates select="oai:setSpec" />
   </table>
@@ -620,4 +508,125 @@
 <tr><td class="key">Rights Management</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
 
+<!-- gsdl_qdc record -->
+<xsl:template match="gsdl_qdc:gsdl_qdc"  xmlns:gsdl_qdc="http://greenstone.org/namespace/gsdl_qdc/1.0/" >
+  <div class="dcdata">
+    <h3>Qualified Dublin Core Metadata (gsdl_qdc)</h3>
+    <table class="dcdata">
+      <xsl:apply-templates select="*" />
+    </table>
+  </div>
+</xsl:template>
+
+<xsl:template match="dc:title" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Title</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:creator" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Creator</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:subject" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Subject</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:description" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Description</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:publisher" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Publisher</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:contributor" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Contributor</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:date" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Date</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:type" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Type</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:format" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Format</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:identifier" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Identifier</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:source" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Source</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:language" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Language</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:relation" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Relation</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:coverage" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:rights" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Rights</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:alternative" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Alternative Title</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:tableOfContents" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Table Of Contents</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:abstract" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Abstract</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:created" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Date Created</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:valid" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Date Valid</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:available" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Date Available</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:issued" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Date Issued</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:modified" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Date Modified</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:dateAccepted" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Date Accepted</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:dateCopyrighted" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Date Copyrighted</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:dateSubmitted" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Date Submitted</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:extent" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Extent</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:medium" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Medium</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:isVersionOf" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Is Version Of</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:hasVersion" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Has Version</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:isReplacedBy" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Is Replaced By</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:replaces" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Replaces</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:isRequiredBy" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Is Required By</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:requires" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Requires</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:isPartOf" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Is Part Of</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:hasPart" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Has Part</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:isReferencedBy" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Is Referenced By</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:references" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">References</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:isFormatOf" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Is Format Of</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:hasFormat" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Has Format</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:conformsTo" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Conforms To</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:spatial" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Spatial Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:temporal" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Temporal Coverage</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:audience" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Audience</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:accrualMethod" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Accrual Method</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:accrualPeriodicity" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Accrual Periodicity</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:accrualPolicy" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Accrual Policy</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:instructionalMethod" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Instructional Method</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:provenance" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Provenance</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:rightsHolder" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Rights Holder</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:mediator" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Mediator</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:educationLevel" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Audience Education Level</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:accessRights" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Access Rights</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:license" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">License</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+<xsl:template match="dc:bibliographicCitation" xmlns:dc="http://purl.org/dc/terms/">
+<tr><td class="key">Bibliographic Citation</td><td class="value"><xsl:value-of select="."/></td></tr></xsl:template>
+
 <!-- XML Pretty Maker -->
 
