b099049cbad98f6ef1c85129b50cfccc3e2e0712
[pazpar2-moved-to-github.git] / etc / oai_dc.xsl
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3     $Id: oai_dc.xsl,v 1.1 2007-07-18 14:19:03 adam Exp $
4
5     This stylesheet expects oai/dc records
6 -->
7 <xsl:stylesheet
8     version="1.0"
9     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
10     xmlns:pz="http://www.indexdata.com/pazpar2/1.0"
11     xmlns:oai="http://www.openarchives.org/OAI/2.0/"
12     xmlns:dc="http://purl.org/dc/elements/1.1/">
13
14  <xsl:output indent="yes"
15         method="xml"
16         version="1.0"
17         encoding="UTF-8"/>
18
19
20
21   <xsl:template match="/oai:record/oai:metadata/*">
22     <pz:record>
23
24       <xsl:attribute name="mergekey">
25         <xsl:text>title </xsl:text>
26         <xsl:value-of select="dc:title[1]"/>
27         <xsl:text> author </xsl:text>
28         <xsl:value-of select="dc:creator[1]"/>
29       </xsl:attribute>
30
31       <pz:metadata type="id">
32         <xsl:value-of select="/oai:record/oai:header/oai:identifier"/>
33       </pz:metadata>
34
35       <xsl:for-each select="dc:title">
36         <pz:metadata type="title">
37           <xsl:value-of select="."/>
38         </pz:metadata>
39       </xsl:for-each>
40
41       <xsl:for-each select="dc:date">
42         <pz:metadata type="date">
43           <xsl:value-of select="."/>
44         </pz:metadata>
45       </xsl:for-each>
46
47       <xsl:for-each select="dc:subject">
48         <pz:metadata type="subject">
49           <xsl:value-of select="."/>
50         </pz:metadata>
51       </xsl:for-each>
52
53       <xsl:for-each select="dc:creator">
54         <pz:metadata type="author">
55           <xsl:value-of select="."/>
56         </pz:metadata>
57       </xsl:for-each>
58
59       <xsl:for-each select="dc:description">
60         <pz:metadata type="description">
61           <xsl:value-of select="."/>
62         </pz:metadata>
63       </xsl:for-each>
64
65     </pz:record>
66   </xsl:template>
67
68
69   <xsl:template match="text()"/>
70
71 </xsl:stylesheet>