pass score into metadata, if there.
[pazpar2-moved-to-github.git] / etc / dkabm.xsl
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3     This stylesheet expects dkabm collection records as returned
4     from DBC's OpenSearch service.
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:dc="http://purl.org/dc/elements/1.1/"
11     xmlns:dcterms="http://purl.org/dc/terms/"
12     xmlns:dkabm="http://biblstandard.dk/abm/namespace/dkabm/"
13     xmlns:os="http://oss.dbc.dk/ns/opensearch">
14
15  <xsl:output indent="yes"
16         method="xml"
17         version="1.0"
18         encoding="UTF-8"/>
19
20   <xsl:param name="medium" />
21
22   <xsl:template match="/">
23     <pz:cluster>
24       <xsl:apply-templates/>
25     </pz:cluster>
26   </xsl:template>
27
28   <xsl:template match="os:object">
29     <pz:record>
30       <xsl:apply-templates/>
31     </pz:record>
32   </xsl:template>
33
34   <xsl:template match="os:score">
35     <pz:metadata type="score">
36       <xsl:value-of select="."/>
37     </pz:metadata>
38   </xsl:template>
39
40   <xsl:template match="dkabm:record">
41
42       <pz:metadata type="id">
43         <xsl:value-of select="dc:identifier"/>
44       </pz:metadata>
45
46       <xsl:for-each select="dc:title">
47         <pz:metadata type="title">
48           <xsl:value-of select="."/>
49         </pz:metadata>
50       </xsl:for-each>
51
52       <xsl:for-each select="dc:date">
53         <pz:metadata type="date">
54           <xsl:value-of select="."/>
55               </pz:metadata>
56       </xsl:for-each>
57
58       <xsl:for-each select="dc:subject">
59         <pz:metadata type="subject">
60                 <xsl:value-of select="."/>
61               </pz:metadata>
62       </xsl:for-each>
63
64       <xsl:for-each select="dc:creator">
65               <pz:metadata type="author">
66           <xsl:value-of select="."/>
67               </pz:metadata>
68       </xsl:for-each>
69
70       <xsl:for-each select="dc:description">
71         <pz:metadata type="description">
72                 <xsl:value-of select="."/>
73               </pz:metadata>
74       </xsl:for-each>
75
76       <xsl:for-each select="dc:identifier">
77         <pz:metadata type="electronic-url">
78                 <xsl:value-of select="."/>
79               </pz:metadata>
80       </xsl:for-each>
81
82       <xsl:for-each select="dc:type">
83         <pz:metadata type="medium">
84                 <xsl:value-of select="."/>
85               </pz:metadata>
86       </xsl:for-each>
87
88       <xsl:for-each select="dcterms:bibliographicCitation">
89         <pz:metadata type="citation">
90           <xsl:value-of select="."/>
91         </pz:metadata>
92       </xsl:for-each>
93
94       <pz:metadata type="medium">
95         <xsl:value-of select="$medium" />
96       </pz:metadata>
97
98   </xsl:template>
99
100   <xsl:template match="text()"/>
101
102 </xsl:stylesheet>