root/main/trunk/model-sites-dev/von-sparql/collect/hathitrust-tab/etc/gsdom2rdf.xsl @ 28917

Revision 28917, 4.6 KB (checked in by ak19, 6 years ago)

Conversion XSLT updated to reflect elements found in the HathiTrust? data

  • Property svn:executable set to *
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 bibo:      &lt;http://purl.org/ontology/bibo/&gt; .
34@prefix terms:      &lt;http://purl.org/terms/&gt; .
35@prefix vcard:     &lt;http://www.w3.org/2001/vcard-rdf/3.0#&gt; .
36
37@prefix gsembedded:  &lt;http://greenstone.org/gsembedded#&gt; .
38@prefix gsextracted: &lt;http://greenstone.org/gsextracted#&gt; .
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    gsembedded:<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    gsembedded:<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,7)"/></xsl:variable>
83    gsembedded:hathi.<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      <xsl:if test="starts-with($metaname,'marc.')">
87    <xsl:variable name="metanameSuffix"><xsl:value-of select="substring($metaname,6)"/></xsl:variable>
88    gsembedded:hathimarc.<xsl:value-of select="$metanameSuffix"/><xsl:text> </xsl:text>&quot;<xsl:value-of select="$metaval"/>&quot;<xsl:text> ;</xsl:text>
89      </xsl:if>
90
91      <xsl:if test="starts-with($metaname,'bibo.')">
92    <xsl:variable name="metanameSuffix"><xsl:value-of select="substring($metaname,6)"/></xsl:variable>
93    bibo:<xsl:value-of select="$metanameSuffix"/><xsl:text> </xsl:text>&quot;<xsl:value-of select="$metaval"/>&quot;<xsl:text> ;</xsl:text>
94      </xsl:if>
95
96<!--      <xsl:if test="not(contains($metaname,'.'))">
97    gsextracted:<xsl:value-of select="$metaname"/><xsl:text> </xsl:text>&quot;<xsl:value-of select="$metaval"/>&quot;<xsl:text> ;</xsl:text>
98      </xsl:if>
99     -->
100    </xsl:for-each>
101    .
102  </xsl:template>
103
104  <!-- *** Update to include section level metadata -->
105
106  <xsl:template match="/Section/Content">
107    <!-- Full text is supressed for now -->
108  </xsl:template>
109
110</xsl:stylesheet>
111
Note: See TracBrowser for help on using the browser.