Add dbc-opensearch.xsl PAZ-985
[pazpar2-moved-to-github.git] / etc / xsl / dbc-opensearch.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="http://oss.dbc.dk/ns/opensearch" 
9     xmlns:os="http://oss.dbc.dk/ns/opensearch" 
10     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
11     xmlns:pz="http://www.indexdata.com/pazpar2/1.0"
12     xmlns:dc="http://purl.org/dc/elements/1.1/"
13     xmlns:dcterms="http://purl.org/dc/terms/"
14     xmlns:dkabm="http://biblstandard.dk/abm/namespace/dkabm/" 
15     xmlns:ac="http://biblstandard.dk/ac/namespace/" 
16     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
17 >
18
19  <xsl:output indent="yes"
20         method="xml"
21         version="1.0"
22         encoding="UTF-8"/>
23
24 <!--
25   <xsl:template match="os:searchResult">
26     <xsl:apply-templates/>
27   </xsl:template>
28
29   <xsl:template match="os:collection">
30     <xsl:apply-templates/>
31   </xsl:template>
32 -->
33
34   <xsl:template match="dkabm:record">
35     <pz:record>
36       <pz:metadata type="id">
37         <xsl:value-of select="//os:identifier"/>
38       </pz:metadata>
39
40       <xsl:for-each select="dc:title">
41         <pz:metadata type="title">
42           <xsl:value-of select="."/>
43         </pz:metadata>
44       </xsl:for-each>
45
46       <xsl:for-each select="dc:date">
47         <pz:metadata type="date">
48           <xsl:value-of select="."/>
49               </pz:metadata>
50       </xsl:for-each>
51
52       <xsl:for-each select="dc:subject">
53         <pz:metadata type="subject">
54                 <xsl:value-of select="."/>
55               </pz:metadata>
56       </xsl:for-each>
57
58       <xsl:for-each select="dc:creator">
59               <pz:metadata type="author">
60           <xsl:value-of select="."/>
61               </pz:metadata>
62       </xsl:for-each>
63
64       <xsl:for-each select="dc:description">
65         <pz:metadata type="description">
66                 <xsl:value-of select="."/>
67               </pz:metadata>
68       </xsl:for-each>
69
70       <xsl:for-each select="dc:identifier">
71         <pz:metadata type="electronic-url">
72                 <xsl:value-of select="."/>
73               </pz:metadata>
74       </xsl:for-each>
75
76       <xsl:for-each select="dc:type">
77         <pz:metadata type="medium">
78                 <xsl:value-of select="."/>
79               </pz:metadata>
80       </xsl:for-each>
81
82       <xsl:for-each select="dcterms:bibliographicCitation">
83         <pz:metadata type="citation">
84           <xsl:value-of select="."/>
85         </pz:metadata>
86       </xsl:for-each>
87
88     </pz:record>
89     <xsl:apply-templates/>
90   </xsl:template>
91
92   <xsl:template match="identifier">
93     <xsl:variable name="identifier">
94       <xsl:value-of select="identifier"/>
95     </xsl:variable>
96     <xsl:value-of select="."/>
97   </xsl:template>
98
99
100   <xsl:template match="text()"/>
101
102 </xsl:stylesheet>