Added XSLT support. Configuration file (e.g. etc/pazpar2.cfg) must now be specified
[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:value-of select="marc:datafield[@tag='245']/marc:subfield[@code='b']"/>
15         <xsl:text> author </xsl:text>
16         <xsl:value-of select="marc:datafield[@tag='100']/marc:subfield[@code='a']"/>
17       </xsl:attribute>
18
19
20       <pz:metadata type="title">
21         <xsl:value-of select="marc:datafield[@tag='245']/marc:subfield[@code='a']"/>
22         <xsl:text> </xsl:text>
23         <xsl:value-of select="marc:datafield[@tag='245']/marc:subfield[@code='b']"/>
24       </pz:metadata>
25
26       <xsl:for-each select="marc:datafield[@tag='650']">
27         <pz:facet type="subject">
28           <xsl:value-of select="marc:subfield[@code='a']"/>
29         </pz:facet>
30       </xsl:for-each>
31
32       <xsl:for-each select="marc:datafield[@tag='100']">
33         <pz:facet type="author">
34           <xsl:value-of select="marc:subfield[@code='a']"/>
35         </pz:facet>
36       </xsl:for-each>
37     </pz:record>
38   </xsl:template>
39
40 </xsl:stylesheet>
41