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