source: main/trunk/greenstone2/etc/gsdom2rdf.xsl

Last change on this file was 35973, checked in by davidb, 2 years ago

Fixed error in substring (for hathi); added in essentia block

  • Property svn:executable set to *
  • Property svn:mime-type set to text/plain
File size: 4.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:java="http://xml.apache.org/xslt/java"
5 extension-element-prefixes="java"
6 exclude-result-prefixes="java">
7
8 <xsl:output method="text"/>
9
10
11 <xsl:template name="escapeQuote">
12 <xsl:param name="pText" select="."/>
13
14 <xsl:if test="string-length($pText) >0">
15 <xsl:value-of select="substring-before(concat($pText, '&quot;'), '&quot;')"/>
16
17 <xsl:if test="contains($pText, '&quot;')">
18 <xsl:text>\"</xsl:text>
19
20 <xsl:call-template name="escapeQuote">
21 <xsl:with-param name="pText" select=
22 "substring-after($pText, '&quot;')"/>
23 </xsl:call-template>
24 </xsl:if>
25 </xsl:if>
26 </xsl:template>
27
28
29 <xsl:variable name="docoid"><xsl:value-of select="/Section/Description/Metadata[@name='Identifier']"/></xsl:variable>
30
31 <xsl:template match="/">
32@prefix dc: &lt;http://purl.org/dc/elements/1.1/&gt; .
33@prefix vcard: &lt;http://www.w3.org/2001/vcard-rdf/3.0#&gt; .
34
35@prefix gsdlembedded: &lt;http://greenstone.org/gsdlembedded#&gt; .
36@prefix gsdlextracted: &lt;http://greenstone.org/gsdlextracted#&gt; .
37@prefix essentia: &lt;http://upf.edu/essentia#&gt; .
38
39@prefix : &lt;@libraryurl@/collection/@collect@/document/&gt; .
40
41 <xsl:apply-templates/>
42 </xsl:template>
43
44 <xsl:template match="/Section/Description">
45
46:<xsl:value-of select="$docoid"/>
47
48 dc:Relation.isPartOf &lt;@libraryurl@/collection/@collect@&gt; ;
49
50 <xsl:for-each select="Metadata">
51
52 <xsl:variable name="metaname" select="@name"/>
53<!--
54 <xsl:variable name="metavalRaw"><xsl:value-of select="text()/></xsl:variable>
55 <xsl:variable name="metavalSingleLine"><xsl:value-of select="replace($metavalRaw,'\n',' ')"/></xsl:variable>
56-->
57
58 <xsl:variable name="metaval"><xsl:call-template name="escapeQuote"><xsl:with-param name="pText" select="text()"/></xsl:call-template></xsl:variable>
59<!--
60 <xsl:variable name="metaval"><xsl:value-of select="replace($metavalEsc, '\n', '&lt;br /&gt;')"/></xsl:variable>
61-->
62<!--
63 <xsl:variable name="metaval"><xsl:value-of select="$metavalEsc/></xsl:variable>
64-->
65
66 <xsl:if test="starts-with($metaname,'dc.')">
67 <xsl:variable name="metanameSuffix"><xsl:value-of select="substring($metaname,4)"/></xsl:variable>
68 dc:<xsl:value-of select="$metanameSuffix"/><xsl:text> </xsl:text>&quot;<xsl:value-of select="$metaval"/>&quot;<xsl:text> ;</xsl:text>
69 </xsl:if>
70
71 <xsl:if test="starts-with($metaname,'ex.')">
72 <xsl:variable name="metanameSuffix"><xsl:value-of select="substring($metaname,4)"/></xsl:variable>
73 gsdlembedded:<xsl:value-of select="$metanameSuffix"/><xsl:text> </xsl:text>&quot;<xsl:value-of select="$metaval"/>&quot;<xsl:text> ;</xsl:text>
74 </xsl:if>
75
76 <xsl:if test="starts-with($metaname,'nz.')">
77 <xsl:variable name="metanameSuffix"><xsl:value-of select="substring($metaname,4)"/></xsl:variable>
78 gsdlembedded:<xsl:value-of select="$metanameSuffix"/><xsl:text> </xsl:text>&quot;<xsl:value-of select="$metaval"/>&quot;<xsl:text> ;</xsl:text>
79 </xsl:if>
80
81 <xsl:if test="starts-with($metaname,'hathi.')">
82 <xsl:variable name="metanameSuffix"><xsl:value-of select="substring($metaname,6)"/></xsl:variable>
83 gsdlembedded:<xsl:value-of select="$metanameSuffix"/><xsl:text> </xsl:text>&quot;<xsl:value-of select="$metaval"/>&quot;<xsl:text> ;</xsl:text>
84 </xsl:if>
85
86
87 <xsl:if test="starts-with($metaname,'essentia.')">
88 <xsl:variable name="metanameSuffix"><xsl:value-of select="substring($metaname,10)"/></xsl:variable>
89 essentia:<xsl:value-of select="$metanameSuffix"/><xsl:text> </xsl:text>&quot;<xsl:value-of select="$metaval"/>&quot;<xsl:text> ;</xsl:text>
90 </xsl:if>
91
92 <xsl:if test="not(contains($metaname,'.'))">
93 gsdlextracted:<xsl:value-of select="$metaname"/><xsl:text> </xsl:text>&quot;<xsl:value-of select="$metaval"/>&quot;<xsl:text> ;</xsl:text>
94 </xsl:if>
95
96 </xsl:for-each>
97 .
98 </xsl:template>
99
100 <!-- *** Update to include section level metadata ??? (supress for now) -->
101 <xsl:template match="/Section/*//Description">
102 <!-- Supressed sub-section metadata for now -->
103 </xsl:template>
104
105 <!-- *** What to do with full text?? => for now, supress -->
106
107 <xsl:template match="//Section/Content"><!-- Full text is supressed for now --></xsl:template>
108
109</xsl:stylesheet>
110
Note: See TracBrowser for help on using the repository browser.