]> matita.cs.unibo.it Git - helm.git/commitdiff
Very simple stylesheet to render Dublin Core Metadata.
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 30 Oct 2001 13:32:34 +0000 (13:32 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 30 Oct 2001 13:32:34 +0000 (13:32 +0000)
helm/style/show_dc.xsl [new file with mode: 0644]

diff --git a/helm/style/show_dc.xsl b/helm/style/show_dc.xsl
new file mode 100644 (file)
index 0000000..56f7957
--- /dev/null
@@ -0,0 +1,249 @@
+<?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>