1 <?xml version="1.0" encoding="UTF-8"?>
4 xmlns:marc="http://www.loc.gov/MARC21/slim"
5 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6 xmlns:dc="http://purl.org/dc/elements/1.1/"
7 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
9 exclude-result-prefixes="marc">
10 <xsl:import href="UNIMARCslimUtils.xsl"/>
11 <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
12 <xsl:template match="/">
13 <xsl:apply-templates/>
15 <xsl:template match="marc:record">
17 <xsl:for-each select="marc:datafield[@tag=200]">
19 <xsl:variable name="title" select="marc:subfield[@code='a']"/>
20 <xsl:variable name="ntitle"
21 select="translate($title, '˜œ슜슛슘슈슉','')"/>
22 <xsl:value-of select="$ntitle" />
23 <xsl:if test="marc:subfield[@code='e']">
24 <xsl:text> : </xsl:text>
25 <xsl:for-each select="marc:subfield[@code='e']">
26 <xsl:value-of select="."/>
29 <xsl:for-each select="marc:subfield[@code='h' or @code='i' or @code='v']">
30 <xsl:text>, </xsl:text>
31 <xsl:value-of select="."/>
35 <xsl:for-each select="marc:datafield[@tag=700 or @tag=701 or @tag=702 or @tag=710 or @tag=711 or @tag=712]">
37 <xsl:for-each select="marc:subfield[@code='a' or @code='b' or @code='c' or @code='d']">
38 <xsl:value-of select="." />
39 <xsl:if test="not(position()=last())">
40 <xsl:text>, </xsl:text>
44 <xsl:when test="marc:subfield[@code='4']='010'">, adapter</xsl:when>
45 <xsl:when test="marc:subfield[@code='4']='020'">, annotator</xsl:when>
46 <xsl:when test="marc:subfield[@code='4']='075'">, author of afterword</xsl:when>
47 <xsl:when test="marc:subfield[@code='4']='080'">, prefacer</xsl:when>
48 <xsl:when test="marc:subfield[@code='4']='100'">, bibliographic antecedent</xsl:when>
49 <xsl:when test="marc:subfield[@code='4']='205'">, collaborator</xsl:when>
50 <xsl:when test="marc:subfield[@code='4']='212'">, commentator</xsl:when>
51 <xsl:when test="marc:subfield[@code='4']='220'">, compiler</xsl:when>
52 <xsl:when test="marc:subfield[@code='4']='230'">, composer</xsl:when>
53 <xsl:when test="marc:subfield[@code='4']='245'">, conceptor</xsl:when>
54 <xsl:when test="marc:subfield[@code='4']='295'">, degree-grantor</xsl:when>
55 <xsl:when test="marc:subfield[@code='4']='340'">, editor</xsl:when>
56 <xsl:when test="marc:subfield[@code='4']='370'">, film editor</xsl:when>
57 <xsl:when test="marc:subfield[@code='4']='395'">, founder</xsl:when>
58 <xsl:when test="marc:subfield[@code='4']='440'">, illustrator</xsl:when>
59 <xsl:when test="marc:subfield[@code='4']='520'">, lyricist</xsl:when>
60 <xsl:when test="marc:subfield[@code='4']='557'">, organiser of meeting</xsl:when>
61 <xsl:when test="marc:subfield[@code='4']='570'">, other</xsl:when>
62 <xsl:when test="marc:subfield[@code='4']='600'">, photographer</xsl:when>
63 <xsl:when test="marc:subfield[@code='4']='605'">, presenter</xsl:when>
64 <xsl:when test="marc:subfield[@code='4']='650'">, publisher</xsl:when>
65 <xsl:when test="marc:subfield[@code='4']='651'">, publishing director</xsl:when>
66 <xsl:when test="marc:subfield[@code='4']='673'">, research team head</xsl:when>
67 <xsl:when test="marc:subfield[@code='4']='675'">, reviewer</xsl:when>
68 <xsl:when test="marc:subfield[@code='4']='710'">, redactor</xsl:when>
69 <xsl:when test="marc:subfield[@code='4']='723'">, sponsor</xsl:when>
70 <xsl:when test="marc:subfield[@code='4']='727'">, thesis advisor</xsl:when>
71 <xsl:when test="marc:subfield[@code='4']='730'">, translator</xsl:when>
76 <xsl:value-of select="marc:datafield[@tag=200]/marc:subfield[@code='b']"/>
78 <xsl:for-each select="marc:datafield[@tag=210]">
80 <xsl:for-each select="marc:subfield[@code='c']">
81 <xsl:value-of select="."/>
82 <xsl:if test="not(position()=last())">, </xsl:if>
84 <xsl:if test="marc:subfield[@code='a']">
85 <xsl:text> / </xsl:text>
86 <xsl:for-each select="marc:subfield[@code='a']">
87 <xsl:value-of select="."/>
88 <xsl:if test="not(position()=last())">, </xsl:if>
93 <xsl:for-each select="marc:datafield[@tag=210]/marc:subfield[@code='d']">
95 <xsl:value-of select="."/>
98 <xsl:for-each select="marc:datafield[@tag=101]">
99 <xsl:for-each select="marc:subfield[@code='a']">
101 <xsl:value-of select="."/>
105 <xsl:for-each select="marc:datafield[@tag=856]/marc:subfield[@code='q']">
107 <xsl:value-of select="."/>
110 <xsl:for-each select="marc:datafield[300<@tag][@tag<=337]">
112 <xsl:value-of select="marc:subfield[@code='a']"/>
115 <xsl:for-each select="marc:datafield[600<=@tag][@tag<=610]">
117 <xsl:call-template name="subfieldSelect">
118 <xsl:with-param name="codes">abcdq</xsl:with-param>
122 <xsl:for-each select="marc:datafield[@tag=461 or @tag=464]">
124 <xsl:call-template name="subfieldSelect">
125 <xsl:with-param name="codes">t</xsl:with-param>
129 <xsl:for-each select="marc:datafield[@tag=856]">
131 <xsl:value-of select="marc:subfield[@code='u']"/>
134 <xsl:for-each select="marc:datafield[@tag=010]">
136 <xsl:text>URN:ISBN:</xsl:text>
137 <xsl:value-of select="marc:subfield[@code='a']"/>
140 <xsl:for-each select="marc:datafield[@tag=011]">
142 <xsl:text>URN:ISSN:</xsl:text>
143 <xsl:value-of select="marc:subfield[@code='a']"/>
146 <xsl:for-each select="marc:datafield[@tag=995]">
148 <xsl:text>LOC:</xsl:text>
149 <xsl:for-each select="marc:subfield[@code='k']">
150 <xsl:text>:</xsl:text>
151 <xsl:value-of select="."/>