1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsl:stylesheet version="1.0"
3 xmlns:marc="http://www.loc.gov/MARC21/slim"
4 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
6 <xsl:output method="text"/>
7 <xsl:strip-space elements="*"/>
9 <xsl:template name="printfield">
10 <xsl:param name="name"/>
11 <xsl:param name="value"/>
12 <xsl:if test="string-length($value) > 0">
13 <xsl:text>%</xsl:text><xsl:value-of select="$name"/>
14 <xsl:text> </xsl:text><xsl:value-of select="$value"/>
20 <xsl:template match="marc:record">
21 <xsl:variable name="title_medium" select="marc:datafield[@tag='245']/marc:subfield[@code='h']"/>
22 <xsl:variable name="journal_title" select="marc:datafield[@tag='773']/marc:subfield[@code='t']"/>
23 <xsl:variable name="electronic_location_url" select="marc:datafield[@tag='85
24 6']/marc:subfield[@code='u']"/>
25 <xsl:variable name="fulltext_a" select="marc:datafield[@tag='900']/marc:subfield[@code='a']"/>
26 <xsl:variable name="fulltext_b" select="marc:datafield[@tag='900']/marc:subfield[@code='b']"/>
27 <xsl:variable name="medium">
29 <xsl:when test="$title_medium">
30 <xsl:value-of select="translate($title_medium, ':[]/', '')"/>
32 <xsl:when test="$fulltext_a">
33 <xsl:text>Electronic Resource</xsl:text>
35 <xsl:when test="$fulltext_b">
36 <xsl:text>Electronic Resource</xsl:text>
38 <xsl:when test="$journal_title">
39 <xsl:text>article</xsl:text>
42 <xsl:text>Book</xsl:text>
48 <xsl:call-template name="printfield">
49 <xsl:with-param name="name">0</xsl:with-param>
50 <xsl:with-param name="value"><xsl:value-of select="$medium"/>
56 <xsl:when test="marc:datafield[@tag='700']">
57 <xsl:for-each select="marc:datafield[@tag='700']">
58 <xsl:call-template name="printfield">
59 <xsl:with-param name="name">A</xsl:with-param>
60 <xsl:with-param name="value">
61 <xsl:value-of select="marc:subfield[@code='a']"/>
71 <xsl:for-each select="marc:datafield[@tag='245']">
72 <xsl:call-template name="printfield">
73 <xsl:with-param name="name">T</xsl:with-param>
74 <xsl:with-param name="value">
75 <xsl:value-of select="marc:subfield[@code='a']"/>
80 <xsl:for-each select="marc:datafield[@tag='260']">
81 <!-- Place Published -->
82 <xsl:call-template name="printfield">
83 <xsl:with-param name="name">C</xsl:with-param>
84 <xsl:with-param name="value">
85 <xsl:value-of select="marc:subfield[@code='a']"/>
89 <xsl:call-template name="printfield">
90 <xsl:with-param name="name">I</xsl:with-param>
91 <xsl:with-param name="value">
92 <xsl:value-of select="marc:subfield[@code='b']"/>
96 <xsl:call-template name="printfield">
97 <xsl:with-param name="name">D</xsl:with-param>
98 <xsl:with-param name="value">
99 <xsl:value-of select="marc:subfield[@code='c']"/>
105 <xsl:for-each select="marc:datafield[@tag='650']">
106 <xsl:call-template name="printfield">
107 <xsl:with-param name="name">K</xsl:with-param>
108 <xsl:with-param name="value">
109 <xsl:value-of select="marc:subfield[@code='a']"/>
115 <xsl:for-each select="marc:datafield[@tag='856']">
116 <xsl:call-template name="printfield">
117 <xsl:with-param name="name">U</xsl:with-param>
118 <xsl:with-param name="value">
119 <xsl:value-of select="marc:subfield[@code='u']"/>
125 <xsl:for-each select="marc:datafield[@tag='020']">
126 <xsl:call-template name="printfield">
127 <xsl:with-param name="name">@</xsl:with-param>
128 <xsl:with-param name="value">
129 <xsl:value-of select="marc:subfield[@code='a']"/>
135 <xsl:for-each select="marc:datafield[@tag='022']">
136 <xsl:call-template name="printfield">
137 <xsl:with-param name="name">@</xsl:with-param>
138 <xsl:with-param name="value">
139 <xsl:value-of select="marc:subfield[@code='a']"/>