1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
3 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns="http://www.w3.org/1999/xhtml"
5 xmlns:xhtml="http://www.w3.org/1999/xhtml"
6 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7 xmlns:marc="http://www.loc.gov/MARC21/slim"
8 xmlns:hold="http://open-ils.org/spec/holdings/v1"
10 <xsl:output method="html" doctype-public="-//W3C/DTD HTML 4.01 Transitional//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" />
11 <xsl:template match="/">
14 <meta http-equiv="Content-Type" content="text/html" charset="utf-8"/>
15 <link href="{$base_dir}/htmlcard.css" rel="stylesheet" type="text/css" />
16 <xsl:apply-templates select="/marc:collection/xhtml:link"/>
19 <xsl:apply-templates select="//marc:record"/>
24 <xsl:template match="marc:record">
25 <div class="cardimage">
26 <xsl:apply-templates select="marc:datafield[@tag!='082' and @tag!='092' and @tag!='010']"/>
28 <xsl:apply-templates select="xhtml:link[@rel='otherFormat' and contains(@href,'format=')]"/>
29 <xsl:apply-templates select="xhtml:abbr[@class='unapi-id']"/>
30 <xsl:apply-templates select="marc:controlfield[@tag='001']"/>
31 <xsl:apply-templates select="marc:datafield[@tag='082' or @tag='092' or @tag='010']"/>
35 <xsl:apply-templates select="hold:volumes"/>
39 <xsl:template match="xhtml:abbr">
41 <xsl:attribute name="title">
42 <xsl:value-of select="@title"/>
44 <xsl:attribute name="class">
45 <xsl:value-of select="@class"/>
47 <xsl:value-of select="."/>
51 <xsl:template match="xhtml:link">
53 <xsl:when test="@title='unapi'">
55 <xsl:attribute name="title">
56 <xsl:value-of select="@title"/>
58 <xsl:attribute name="rel">
59 <xsl:value-of select="@rel"/>
61 <xsl:attribute name="href">
62 <xsl:value-of select="@href"/>
64 <xsl:value-of select="."/>
67 <xsl:when test="@rel='otherFormat' and contains(@href,'format=')">
69 <xsl:attribute name="href">
70 <xsl:value-of select="@href"/>
72 <xsl:value-of select="@title"/>
79 <xsl:template match="hold:volumes">
80 <xsl:if test="count(hold:volume/hold:copies/hold:copy) > 0">
84 <xsl:apply-templates select="hold:volume">
85 <xsl:sort select="@lib"/>
86 </xsl:apply-templates>
90 <xsl:template match="hold:volume">
91 <li> <b><xsl:value-of select="./@label"/></b>
92 <xsl:apply-templates select="hold:copies"/>
96 <xsl:template match="hold:copies">
98 <xsl:apply-templates select="hold:copy">
99 <xsl:sort select="hold:location"/>
100 </xsl:apply-templates>
104 <xsl:template match="hold:copy">
105 <li> <xsl:value-of select="@barcode"/>
107 <li>Circulating from <b><xsl:value-of select="hold:circlib"/></b></li>
108 <li>Located at <b><xsl:value-of select="hold:location"/></b></li>
109 <li>Status is <b><xsl:value-of select="hold:status"/></b></li>
110 <xsl:apply-templates select="hold:statcats"/>
115 <xsl:template match="hold:statcats">
116 <xsl:if test="count(hold:statcat) > 0">
117 <li>Statistical Catagories
119 <xsl:apply-templates select="hold:statcat">
120 <xsl:sort select="@name"/>
121 </xsl:apply-templates>
127 <xsl:template match="hold:statcat">
128 <li> <b><xsl:value-of select="@name"/></b>: <xsl:value-of select="."/> </li>
131 <xsl:template match="marc:controlfield">
132 <span class="oclc">#<xsl:value-of select="substring(.,4)"/></span>
135 <xsl:template match="marc:datafield">
136 <xsl:if test="starts-with(@tag, '1')">
137 <p class="mainheading"><xsl:value-of select="."/></p>
140 <xsl:if test="starts-with(@tag, '24') and /marc:record/marc:datafield[@tag='100']">
141 <span class="title"><xsl:value-of select="."/></span>
144 <xsl:if test="starts-with(@tag, '24') and not(/marc:record/marc:datafield[@tag='100'])">
145 <span class="titlemain"><xsl:value-of select="."/></span><br/>
148 <xsl:if test="@tag='260'">
149 <xsl:value-of select="."/>
152 <xsl:if test="@tag='300'">
153 <p class="extent"><xsl:value-of select="."/></p>
156 <xsl:if test="starts-with(@tag, '5')">
157 <p class="note"><xsl:value-of select="."/></p>
160 <xsl:if test="@tag='650'">
161 <span class='counter'><xsl:number count="marc:datafield[@tag='650']"/>.</span> <xsl:apply-templates select="marc:subfield"/>
164 <xsl:if test="@tag='653'">
165 <span class="counter"><xsl:number format="i" count="marc:datafield[@tag='653']"/>.</span> <xsl:apply-templates select="marc:subfield"/>
168 <xsl:if test="@tag='010'">
169 <xsl:variable name="LCCN.nospace" select="translate(., ' ', '')"/>
170 <xsl:variable name="LCCN.length" select="string-length($LCCN.nospace)"/>
171 <xsl:variable name="LCCN.display" select="concat(substring($LCCN.nospace, 1, $LCCN.length - 6), '-', format-number(substring($LCCN.nospace, $LCCN.length - 5),'#'))"/>
172 <span class="LCCN">LCCN:<xsl:value-of select="$LCCN.display"/></span>
175 <xsl:if test="@tag='082' or @tag='092'">
176 <span class="DDC"><xsl:value-of select="marc:subfield[@code='a']"/></span>
179 <xsl:if test="@tag='856'">
180 <br/><xsl:apply-templates mode="link" select="marc:subfield" />
184 <xsl:template match="marc:subfield" mode="link">
185 <xsl:if test="@code='u'">
187 <a class="url" href="{.}">
189 <xsl:when test="../marc:subfield[@code='y']">
190 <xsl:value-of select="../marc:subfield[@code='y']"/>
192 <xsl:when test="../marc:subfield[@code='3']">
193 <xsl:value-of select="../marc:subfield[@code='3']"/>
196 <xsl:value-of select="."/>
204 <xsl:template match="marc:subfield">
205 <xsl:if test="@code!='2'">
206 <xsl:if test="@code!='a'">--</xsl:if>
207 <xsl:value-of select="."/>