Dsiplaying sub-records
[pazpar2-moved-to-github.git] / etc / marc21.xsl
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsl:stylesheet
3     version="1.0"
4     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5     xmlns:pz="http://www.indexdata.com/pazpar2/1.0"
6     xmlns:marc="http://www.loc.gov/MARC21/slim">
7
8   <xsl:template match="/marc:record">
9     <pz:record>
10
11       <xsl:attribute name="mergekey">
12         <xsl:text>title </xsl:text>
13         <xsl:value-of select="marc:datafield[@tag='245']/marc:subfield[@code='a']"/>
14         <xsl:text> author </xsl:text>
15         <xsl:value-of select="marc:datafield[@tag='100']/marc:subfield[@code='a']"/>
16       </xsl:attribute>
17
18       <pz:metadata type="id">
19         <xsl:value-of select="marc:controlfield[@tag='001']"/>
20       </pz:metadata>
21
22       <pz:metadata type="title">
23         <xsl:value-of select="marc:datafield[@tag='245']/marc:subfield[@code='a']"/>
24         <xsl:text> </xsl:text>
25         <xsl:value-of select="marc:datafield[@tag='245']/marc:subfield[@code='b']"/>
26       </pz:metadata>
27
28       <xsl:for-each select="marc:datafield[@tag='020']">
29         <pz:metadata type="isbn">
30           <xsl:value-of select="marc:subfield[@code='a']"/>
31         </pz:metadata>
32       </xsl:for-each>
33
34       <xsl:for-each select="marc:datafield[@tag='260']">
35         <pz:metadata type="date">
36           <xsl:value-of select="marc:subfield[@code='c']"/>
37         </pz:metadata>
38       </xsl:for-each>
39
40       <xsl:for-each select="marc:datafield[@tag='650']">
41         <pz:metadata type="subject">
42           <xsl:value-of select="marc:subfield[@code='a']"/>
43         </pz:metadata>
44       </xsl:for-each>
45
46       <xsl:for-each select="marc:datafield[@tag='100']">
47         <pz:metadata type="author">
48           <xsl:value-of select="marc:subfield[@code='a']"/>
49         </pz:metadata>
50       </xsl:for-each>
51
52       <xsl:for-each select="marc:datafield[@tag='856']">
53         <pz:metadata type="url">
54           <xsl:value-of select="marc:subfield[@code='u']"/>
55         </pz:metadata>
56       </xsl:for-each>
57
58     </pz:record>
59   </xsl:template>
60
61 </xsl:stylesheet>