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"><xsl:value-of select="marc:subfield[@code='a']"/>
70 <xsl:for-each select="marc:datafield[@tag='245']">
71 <xsl:call-template name="printfield">
72 <xsl:with-param name="name">T</xsl:with-param>
73 <xsl:with-param name="value"><xsl:value-of select="marc:subfield[@code='a']"/>
78 <xsl:for-each select="marc:datafield[@tag='260']">
79 <!-- Place Published -->
80 <xsl:call-template name="printfield">
81 <xsl:with-param name="name">C</xsl:with-param>
82 <xsl:with-param name="value"><xsl:value-of select="marc:subfield[@code='a']"/>
86 <xsl:call-template name="printfield">
87 <xsl:with-param name="name">I</xsl:with-param>
88 <xsl:with-param name="value"><xsl:value-of select="marc:subfield[@code='b']"/>
92 <xsl:call-template name="printfield">
93 <xsl:with-param name="name">D</xsl:with-param>
94 <xsl:with-param name="value"><xsl:value-of select="marc:subfield[@code='c']"/>
100 <xsl:for-each select="marc:datafield[@tag='650']">
101 <xsl:if test="marc:subfield[@code='a']">
102 <xsl:text>%K </xsl:text>
103 <xsl:value-of select="marc:subfield[@code='a']"/>
110 <xsl:for-each select="marc:datafield[@tag='856']">
111 <xsl:if test="marc:subfield[@code='u']">
112 <xsl:text>%U </xsl:text>
113 <xsl:value-of select="marc:subfield[@code='u']"/>
120 <xsl:for-each select="marc:datafield[@tag='020']">
121 <xsl:if test="marc:subfield[@code='a']">
122 <xsl:text>%@ </xsl:text>
123 <xsl:value-of select="marc:subfield[@code='a']"/>
130 <xsl:for-each select="marc:datafield[@tag='022']">
131 <xsl:if test="marc:subfield[@code='a']">
132 <xsl:text>%@ </xsl:text>
133 <xsl:value-of select="marc:subfield[@code='a']"/>