--- /dev/null
+<?xml version="1.0"?>
+
+<!-- Copyright (C) 2000, HELM Team -->
+<!-- -->
+<!-- This file is part of HELM, an Hypertextual, Electronic -->
+<!-- Library of Mathematics, developed at the Computer Science -->
+<!-- Department, University of Bologna, Italy. -->
+<!-- -->
+<!-- HELM is free software; you can redistribute it and/or -->
+<!-- modify it under the terms of the GNU General Public License -->
+<!-- as published by the Free Software Foundation; either version 2 -->
+<!-- of the License, or (at your option) any later version. -->
+<!-- -->
+<!-- HELM is distributed in the hope that it will be useful, -->
+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
+<!-- GNU General Public License for more details. -->
+<!-- -->
+<!-- You should have received a copy of the GNU General Public License -->
+<!-- along with HELM; if not, write to the Free Software -->
+<!-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, -->
+<!-- MA 02111-1307, USA. -->
+<!-- -->
+<!-- For details, see the HELM World-Wide-Web page, -->
+<!-- http://cs.unibo.it/helm/. -->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+ xmlns:dc="http://purl.org/metadata/dublin_core#"
+ xmlns:dcq="http://purl.org/metadata/dublin_core_qualifiers#"
+ xmlns:h="http:/www.cs.unibo.it/helm/schemas/schema-h.rdf#"
+ xmlns:hth="http://www.cs.unibo.it/helm/schemas/schema-hth.rdf#">
+
+<xsl:output
+ method="xml"
+ encoding="iso-8859-1"
+ media-type="text/html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+ doctype-system="DTD/xhtml1-transitional.dtd" />
+
+<xsl:template name="loop_show_dc">
+ <xsl:param name="CICURI" select="''"/>
+ <xsl:param name="first_time" select="true()"/>
+ <xsl:variable name="document" select="document(concat($BaseRDFURLDC,$CICURI))"/>
+ <xsl:choose>
+ <xsl:when test="$document/rdf:RDF/*/*">
+ <h1>Dublin Core Metadata for <xsl:value-of select="$CICURI"/>:</h1>
+ <xsl:apply-templates mode="show_dc" select="$document">
+ <xsl:with-param name="CICURI" select="$CICURI"/>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="$first_time">
+ <h1>No Dublin Core Metadata available for <xsl:value-of select="$CICURI"/>.</h1>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:variable name="basename">
+ <xsl:call-template name="get_basename">
+ <xsl:with-param name="CICURI" select="$CICURI"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="parentURI" select="substring-before($CICURI,concat('/',$basename))"/>
+ <xsl:if test="not($parentURI = 'cic:')">
+ <xsl:call-template name="loop_show_dc">
+ <xsl:with-param name="CICURI" select="$parentURI"/>
+ <xsl:with-param name="first_time" select="false()"/>
+ </xsl:call-template>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="get_basename">
+ <xsl:param name="CICURI"/>
+ <xsl:variable name="suffix" select="substring-after($CICURI,'/')"/>
+ <xsl:choose>
+ <xsl:when test="$suffix = ''">
+ <xsl:value-of select="$CICURI"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="get_basename">
+ <xsl:with-param name="CICURI" select="$suffix"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="/">
+ <table>
+ <xsl:apply-templates mode="show_dc" select="rdf:RDF/*/*"/>
+ </table>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:title">
+ <tr>
+ <td>Title:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:creator">
+ <tr>
+ <td>Creator:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:contributor">
+ <tr>
+ <td>Contributor:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:subject">
+ <tr>
+ <td>Subject:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:description">
+ <tr>
+ <td>Description:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:publisher">
+ <tr>
+ <td>Publisher:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:date">
+ <tr>
+ <td>Date:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:coverage">
+ <tr>
+ <td>Coverage:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:type">
+ <tr>
+ <td>Type:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="hth:ResourceType">
+ <xsl:value-of select="substring-after(@rdf:about,'#')"/>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:format">
+ <tr>
+ <td>Format:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="hth:ResourceFormat">
+ <xsl:value-of select="substring-after(@rdf:about,'#')"/>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:identifier">
+ <tr>
+ <td>Identifier:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:source">
+ <tr>
+ <td>Source:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:language">
+ <tr>
+ <td>Language:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:relation">
+ <tr>
+ <td>Relation:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dcq:RelationType">
+ <xsl:value-of select="substring-after(@rdf:about,'#')"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@rdf:value"/>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="dc:rights">
+ <tr>
+ <td>Rights:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="hth:institution">
+ <tr>
+ <td>Institution:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="hth:contact">
+ <tr>
+ <td>Contact:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="hth:firstVersion">
+ <tr>
+ <td>First Version:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="hth:modified">
+ <tr>
+ <td>Modified:</td>
+ <td><xsl:apply-templates mode="show_dc"/></td>
+ </tr>
+</xsl:template>
+
+<xsl:template mode="show_dc" match="*">
+ <tr>
+ <td>ERROR!</td>
+ <td><xsl:value-of select="name(.)"/></td>
+ </tr>
+</xsl:template>
+
+</xsl:stylesheet>