|
Lines 1-492
Link Here
|
| 1 |
<?xml version="1.0" encoding="UTF-8"?> |
1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 |
|
|
|
| 3 |
<!DOCTYPE stylesheet> |
2 |
<!DOCTYPE stylesheet> |
| 4 |
|
|
|
| 5 |
<xsl:stylesheet version="1.0" |
3 |
<xsl:stylesheet version="1.0" |
| 6 |
xmlns:marc="http://www.loc.gov/MARC21/slim" |
4 |
xmlns:marc="http://www.loc.gov/MARC21/slim" |
| 7 |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
5 |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
| 8 |
xmlns:str="http://exslt.org/strings" |
6 |
xmlns:str="http://exslt.org/strings" |
| 9 |
exclude-result-prefixes="marc str"> |
7 |
exclude-result-prefixes="marc str"> |
| 10 |
|
8 |
<xsl:import href="UNIMARCslimUtils.xsl"/> |
| 11 |
<xsl:import href="UNIMARCslimUtils.xsl"/> |
9 |
<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/> |
| 12 |
<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/> |
10 |
<xsl:template match="/"> |
| 13 |
<xsl:template match="/"> |
11 |
<xsl:apply-templates/> |
| 14 |
<xsl:apply-templates/> |
12 |
</xsl:template> |
| 15 |
</xsl:template> |
13 |
<xsl:template match="marc:record"> |
| 16 |
|
14 |
<xsl:variable name="Show856uAsImage" select="marc:sysprefs/marc:syspref[@name='Display856uAsImage']"/> |
| 17 |
<xsl:template match="marc:record"> |
15 |
<xsl:variable name="leader" select="marc:leader"/> |
| 18 |
<xsl:variable name="Show856uAsImage" select="marc:sysprefs/marc:syspref[@name='Display856uAsImage']"/> |
16 |
<xsl:variable name="leader6" select="substring($leader,7,1)"/> |
| 19 |
<xsl:variable name="leader" select="marc:leader"/> |
17 |
<xsl:variable name="leader7" select="substring($leader,8,1)"/> |
| 20 |
<xsl:variable name="leader6" select="substring($leader,7,1)"/> |
18 |
<xsl:variable name="biblionumber" select="marc:controlfield[@tag=001]"/> |
| 21 |
<xsl:variable name="leader7" select="substring($leader,8,1)"/> |
19 |
<xsl:if test="marc:datafield[@tag=200]"> |
| 22 |
<xsl:variable name="biblionumber" select="marc:controlfield[@tag=001]"/> |
20 |
<xsl:for-each select="marc:datafield[@tag=200]"> |
| 23 |
|
21 |
<h1> |
| 24 |
|
22 |
<xsl:call-template name="addClassRtl" /> |
| 25 |
<xsl:if test="marc:datafield[@tag=200]"> |
23 |
<xsl:variable name="title" select="marc:subfield[@code='a']"/> |
| 26 |
<xsl:for-each select="marc:datafield[@tag=200]"> |
24 |
<xsl:variable name="ntitle" |
| 27 |
<h1> |
|
|
| 28 |
<xsl:call-template name="addClassRtl" /> |
| 29 |
<xsl:variable name="title" select="marc:subfield[@code='a']"/> |
| 30 |
<xsl:variable name="ntitle" |
| 31 |
select="translate($title, '˜œ슜슛슘슈슉','')"/> |
25 |
select="translate($title, '˜œ슜슛슘슈슉','')"/> |
| 32 |
<xsl:value-of select="$ntitle" /> |
26 |
<xsl:value-of select="$ntitle" /> |
| 33 |
<xsl:if test="marc:subfield[@code='e']"> |
27 |
<xsl:if test="marc:subfield[@code='e']"> |
| 34 |
<xsl:text> : </xsl:text> |
28 |
<xsl:text> : </xsl:text> |
| 35 |
<xsl:for-each select="marc:subfield[@code='e']"> |
29 |
<xsl:for-each select="marc:subfield[@code='e']"> |
| 36 |
<xsl:value-of select="."/> |
30 |
<xsl:value-of select="."/> |
| 37 |
</xsl:for-each> |
31 |
</xsl:for-each> |
| 38 |
</xsl:if> |
32 |
</xsl:if> |
| 39 |
<xsl:if test="marc:subfield[@code='b']"> |
33 |
<xsl:if test="marc:subfield[@code='b']"> |
| 40 |
<xsl:text> [</xsl:text> |
34 |
<xsl:text> [</xsl:text> |
| 41 |
<xsl:value-of select="marc:subfield[@code='b']"/> |
35 |
<xsl:value-of select="marc:subfield[@code='b']"/> |
| 42 |
<xsl:text>]</xsl:text> |
36 |
<xsl:text>]</xsl:text> |
| 43 |
</xsl:if> |
37 |
</xsl:if> |
| 44 |
<xsl:if test="marc:subfield[@code='f']"> |
38 |
<xsl:if test="marc:subfield[@code='f']"> |
| 45 |
<xsl:text> / </xsl:text> |
39 |
<xsl:text> / </xsl:text> |
| 46 |
<xsl:value-of select="marc:subfield[@code='f']"/> |
40 |
<xsl:value-of select="marc:subfield[@code='f']"/> |
| 47 |
</xsl:if> |
41 |
</xsl:if> |
| 48 |
<xsl:if test="marc:subfield[@code='g']"> |
42 |
<xsl:if test="marc:subfield[@code='g']"> |
| 49 |
<xsl:text> ; </xsl:text> |
43 |
<xsl:text> ; </xsl:text> |
| 50 |
<xsl:value-of select="marc:subfield[@code='g']"/> |
44 |
<xsl:value-of select="marc:subfield[@code='g']"/> |
| 51 |
</xsl:if> |
45 |
</xsl:if> |
| 52 |
</h1> |
46 |
</h1> |
| 53 |
</xsl:for-each> |
47 |
</xsl:for-each> |
| 54 |
</xsl:if> |
48 |
</xsl:if> |
| 55 |
<xsl:call-template name="tag_4xx" /> |
49 |
<xsl:call-template name="tag_4xx" /> |
| 56 |
|
50 |
<xsl:call-template name="tag_7xx"> |
| 57 |
<xsl:call-template name="tag_7xx"> |
51 |
<xsl:with-param name="tag">700</xsl:with-param> |
| 58 |
<xsl:with-param name="tag">700</xsl:with-param> |
52 |
<xsl:with-param name="label">Main Author</xsl:with-param> |
| 59 |
<xsl:with-param name="label">Main Author</xsl:with-param> |
53 |
<xsl:with-param name="spanclass">main_author</xsl:with-param> |
| 60 |
<xsl:with-param name="spanclass">main_author</xsl:with-param> |
54 |
</xsl:call-template> |
| 61 |
</xsl:call-template> |
55 |
<xsl:call-template name="tag_7xx"> |
| 62 |
|
56 |
<xsl:with-param name="tag">710</xsl:with-param> |
| 63 |
<xsl:call-template name="tag_7xx"> |
57 |
<xsl:with-param name="label">Corporate Author (Main)</xsl:with-param> |
| 64 |
<xsl:with-param name="tag">710</xsl:with-param> |
58 |
<xsl:with-param name="spanclass">corporate_main_author</xsl:with-param> |
| 65 |
<xsl:with-param name="label">Corporate Author (Main)</xsl:with-param> |
59 |
</xsl:call-template> |
| 66 |
<xsl:with-param name="spanclass">corporate_main_author</xsl:with-param> |
60 |
<xsl:call-template name="tag_7xx"> |
| 67 |
</xsl:call-template> |
61 |
<xsl:with-param name="tag">701</xsl:with-param> |
| 68 |
|
62 |
<xsl:with-param name="label">Coauthor</xsl:with-param> |
| 69 |
<xsl:call-template name="tag_7xx"> |
63 |
<xsl:with-param name="spanclass">coauthor</xsl:with-param> |
| 70 |
<xsl:with-param name="tag">701</xsl:with-param> |
64 |
</xsl:call-template> |
| 71 |
<xsl:with-param name="label">Coauthor</xsl:with-param> |
65 |
<xsl:call-template name="tag_7xx"> |
| 72 |
<xsl:with-param name="spanclass">coauthor</xsl:with-param> |
66 |
<xsl:with-param name="tag">702</xsl:with-param> |
| 73 |
</xsl:call-template> |
67 |
<xsl:with-param name="label">Secondary Author</xsl:with-param> |
| 74 |
|
68 |
<xsl:with-param name="spanclass">secondary_author</xsl:with-param> |
| 75 |
<xsl:call-template name="tag_7xx"> |
69 |
</xsl:call-template> |
| 76 |
<xsl:with-param name="tag">702</xsl:with-param> |
70 |
<xsl:call-template name="tag_7xx"> |
| 77 |
<xsl:with-param name="label">Secondary Author</xsl:with-param> |
71 |
<xsl:with-param name="tag">711</xsl:with-param> |
| 78 |
<xsl:with-param name="spanclass">secondary_author</xsl:with-param> |
72 |
<xsl:with-param name="label">Corporate Author (Coauthor)</xsl:with-param> |
| 79 |
</xsl:call-template> |
73 |
<xsl:with-param name="spanclass">corporate_coauthor</xsl:with-param> |
| 80 |
|
74 |
</xsl:call-template> |
| 81 |
<xsl:call-template name="tag_7xx"> |
75 |
<xsl:call-template name="tag_7xx"> |
| 82 |
<xsl:with-param name="tag">711</xsl:with-param> |
76 |
<xsl:with-param name="tag">712</xsl:with-param> |
| 83 |
<xsl:with-param name="label">Corporate Author (Coauthor)</xsl:with-param> |
77 |
<xsl:with-param name="label">Corporate Author (Secondary)</xsl:with-param> |
| 84 |
<xsl:with-param name="spanclass">corporate_coauthor</xsl:with-param> |
78 |
<xsl:with-param name="spanclass">corporate_secondary_author</xsl:with-param> |
| 85 |
</xsl:call-template> |
79 |
</xsl:call-template> |
| 86 |
|
80 |
<xsl:if test="marc:datafield[@tag=101]"> |
| 87 |
<xsl:call-template name="tag_7xx"> |
81 |
<span class="results_summary language"> |
| 88 |
<xsl:with-param name="tag">712</xsl:with-param> |
82 |
<span class="label">Language: </span> |
| 89 |
<xsl:with-param name="label">Corporate Author (Secondary)</xsl:with-param> |
83 |
<xsl:for-each select="marc:datafield[@tag=101]"> |
| 90 |
<xsl:with-param name="spanclass">corporate_secondary_author</xsl:with-param> |
84 |
<xsl:for-each select="marc:subfield"> |
| 91 |
</xsl:call-template> |
85 |
<xsl:choose> |
| 92 |
|
86 |
<xsl:when test="@code='b'">of intermediate text, </xsl:when> |
| 93 |
<xsl:if test="marc:datafield[@tag=101]"> |
87 |
<xsl:when test="@code='c'">of original work, </xsl:when> |
| 94 |
<span class="results_summary language"> |
88 |
<xsl:when test="@code='d'">of summary, </xsl:when> |
| 95 |
<span class="label">Language: </span> |
89 |
<xsl:when test="@code='e'">of contents page, </xsl:when> |
| 96 |
<xsl:for-each select="marc:datafield[@tag=101]"> |
90 |
<xsl:when test="@code='f'">of title page, </xsl:when> |
| 97 |
<xsl:for-each select="marc:subfield"> |
91 |
<xsl:when test="@code='g'">of title proper, </xsl:when> |
| 98 |
<xsl:choose> |
92 |
<xsl:when test="@code='h'">of libretto, </xsl:when> |
| 99 |
<xsl:when test="@code='b'">of intermediate text, </xsl:when> |
93 |
<xsl:when test="@code='i'">of accompanying material, </xsl:when> |
| 100 |
<xsl:when test="@code='c'">of original work, </xsl:when> |
94 |
<xsl:when test="@code='j'">of subtitles, </xsl:when> |
| 101 |
<xsl:when test="@code='d'">of summary, </xsl:when> |
95 |
</xsl:choose> |
| 102 |
<xsl:when test="@code='e'">of contents page, </xsl:when> |
96 |
<xsl:value-of select="text()"/> |
| 103 |
<xsl:when test="@code='f'">of title page, </xsl:when> |
97 |
<xsl:choose> |
| 104 |
<xsl:when test="@code='g'">of title proper, </xsl:when> |
98 |
<xsl:when test="position()=last()"> |
| 105 |
<xsl:when test="@code='h'">of libretto, </xsl:when> |
99 |
<xsl:text>.</xsl:text> |
| 106 |
<xsl:when test="@code='i'">of accompanying material, </xsl:when> |
100 |
</xsl:when> |
| 107 |
<xsl:when test="@code='j'">of subtitles, </xsl:when> |
101 |
<xsl:otherwise> |
| 108 |
</xsl:choose> |
102 |
<xsl:text> ; </xsl:text> |
| 109 |
<xsl:value-of select="text()"/> |
103 |
</xsl:otherwise> |
| 110 |
<xsl:choose> |
104 |
</xsl:choose> |
| 111 |
<xsl:when test="position()=last()"> |
105 |
</xsl:for-each> |
| 112 |
<xsl:text>.</xsl:text> |
106 |
</xsl:for-each> |
| 113 |
</xsl:when> |
107 |
</span> |
| 114 |
<xsl:otherwise> |
108 |
</xsl:if> |
| 115 |
<xsl:text> ; </xsl:text> |
109 |
<xsl:if test="marc:datafield[@tag=102]"> |
| 116 |
</xsl:otherwise> |
110 |
<span class="results_summary country"> |
| 117 |
</xsl:choose> |
111 |
<span class="label">Country: </span> |
| 118 |
</xsl:for-each> |
112 |
<xsl:for-each select="marc:datafield[@tag=102]"> |
| 119 |
</xsl:for-each> |
113 |
<xsl:for-each select="marc:subfield"> |
| 120 |
</span> |
114 |
<xsl:value-of select="text()"/> |
| 121 |
</xsl:if> |
115 |
<xsl:choose> |
| 122 |
|
116 |
<xsl:when test="position()=last()"> |
| 123 |
<xsl:if test="marc:datafield[@tag=102]"> |
117 |
<xsl:text>.</xsl:text> |
| 124 |
<span class="results_summary country"> |
118 |
</xsl:when> |
| 125 |
<span class="label">Country: </span> |
119 |
<xsl:otherwise> |
| 126 |
<xsl:for-each select="marc:datafield[@tag=102]"> |
120 |
<xsl:text>, </xsl:text> |
| 127 |
<xsl:for-each select="marc:subfield"> |
121 |
</xsl:otherwise> |
| 128 |
<xsl:value-of select="text()"/> |
122 |
</xsl:choose> |
| 129 |
<xsl:choose> |
123 |
</xsl:for-each> |
| 130 |
<xsl:when test="position()=last()"> |
124 |
</xsl:for-each> |
| 131 |
<xsl:text>.</xsl:text> |
125 |
</span> |
| 132 |
</xsl:when> |
126 |
</xsl:if> |
| 133 |
<xsl:otherwise><xsl:text>, </xsl:text> |
127 |
|
| 134 |
</xsl:otherwise> |
128 |
<xsl:if test="(marc:datafield[@tag=214] or marc:datafield[@tag=210])"> |
| 135 |
</xsl:choose> |
129 |
<xsl:choose> |
| 136 |
</xsl:for-each> |
130 |
<xsl:when test="(marc:datafield[@tag=214] and marc:datafield[@tag=210])"> |
| 137 |
</xsl:for-each> |
131 |
<xsl:call-template name="tag_214" /> |
| 138 |
</span> |
132 |
</xsl:when> |
| 139 |
</xsl:if> |
133 |
<xsl:when test="(marc:datafield[@tag=214])"> |
| 140 |
|
134 |
<xsl:call-template name="tag_214" /> |
| 141 |
<xsl:call-template name="tag_210" /> |
135 |
</xsl:when> |
| 142 |
|
136 |
<xsl:when test="(marc:datafield[@tag=210])"> |
| 143 |
<xsl:call-template name="tag_215" /> |
137 |
<xsl:call-template name="tag_210" /> |
| 144 |
|
138 |
</xsl:when> |
| 145 |
<xsl:if test="marc:controlfield[@tag=009]"> |
139 |
</xsl:choose> |
| 146 |
<span class="results_summary tag_009"> |
|
|
| 147 |
<span class="label">Tag 009: </span> |
| 148 |
<xsl:value-of select="marc:controlfield[@tag=009]"/> |
| 149 |
</span> |
| 150 |
</xsl:if> |
| 151 |
|
| 152 |
<!-- Build ISBN --> |
| 153 |
<xsl:if test="marc:datafield[@tag=010]/marc:subfield[@code='a']"> |
| 154 |
<span class="results_summary isbn"> |
| 155 |
<span class="label">ISBN: </span> |
| 156 |
<xsl:for-each select="marc:datafield[@tag=010]/marc:subfield[@code='a']"> |
| 157 |
<span property="isbn"> |
| 158 |
<xsl:value-of select="."/> |
| 159 |
<xsl:choose> |
| 160 |
<xsl:when test="position()=last()"> |
| 161 |
<xsl:text>.</xsl:text> |
| 162 |
</xsl:when> |
| 163 |
<xsl:otherwise> |
| 164 |
<xsl:text>; </xsl:text> |
| 165 |
</xsl:otherwise> |
| 166 |
</xsl:choose> |
| 167 |
</span> |
| 168 |
</xsl:for-each> |
| 169 |
</span> |
| 170 |
</xsl:if> |
| 171 |
|
| 172 |
<!-- Build ISSN --> |
| 173 |
<xsl:if test="marc:datafield[@tag=011]/marc:subfield[@code='a']"> |
| 174 |
<span class="results_summary issn"> |
| 175 |
<span class="label">ISSN: </span> |
| 176 |
<xsl:for-each select="marc:datafield[@tag=011]/marc:subfield[@code='a']"> |
| 177 |
<span property="issn"> |
| 178 |
<xsl:value-of select="."/> |
| 179 |
<xsl:choose> |
| 180 |
<xsl:when test="position()=last()"> |
| 181 |
<xsl:text>.</xsl:text> |
| 182 |
</xsl:when> |
| 183 |
<xsl:otherwise> |
| 184 |
<xsl:text>; </xsl:text> |
| 185 |
</xsl:otherwise> |
| 186 |
</xsl:choose> |
| 187 |
</span> |
| 188 |
</xsl:for-each> |
| 189 |
</span> |
| 190 |
</xsl:if> |
| 191 |
|
| 192 |
<xsl:call-template name="tag_title"> |
| 193 |
<xsl:with-param name="tag">225</xsl:with-param> |
| 194 |
<xsl:with-param name="label">Series</xsl:with-param> |
| 195 |
<xsl:with-param name="spanclass">series</xsl:with-param> |
| 196 |
</xsl:call-template> |
| 197 |
|
| 198 |
<xsl:if test="marc:datafield[@tag=676]"> |
| 199 |
<span class="results_summary dewey"> |
| 200 |
<span class="label">Dewey: </span> |
| 201 |
<xsl:for-each select="marc:datafield[@tag=676]"> |
| 202 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
| 203 |
<xsl:if test="marc:subfield[@code='v']"> |
| 204 |
<xsl:text>, </xsl:text> |
| 205 |
<xsl:value-of select="marc:subfield[@code='v']"/> |
| 206 |
</xsl:if> |
| 207 |
<xsl:if test="marc:subfield[@code='z']"> |
| 208 |
<xsl:text>, </xsl:text> |
| 209 |
<xsl:value-of select="marc:subfield[@code='z']"/> |
| 210 |
</xsl:if> |
140 |
</xsl:if> |
| 211 |
<xsl:if test="not (position()=last())"> |
|
|
| 212 |
<xsl:text> ; </xsl:text> |
| 213 |
</xsl:if> |
| 214 |
</xsl:for-each> |
| 215 |
</span> |
| 216 |
</xsl:if> |
| 217 |
|
141 |
|
| 218 |
<xsl:if test="marc:datafield[@tag=686]"> |
142 |
<xsl:call-template name="tag_215" /> |
| 219 |
<span class="results_summary classification"> |
143 |
<xsl:if test="marc:controlfield[@tag=009]"> |
| 220 |
<span class="label">Classification: </span> |
144 |
<span class="results_summary tag_009"> |
| 221 |
<xsl:for-each select="marc:datafield[@tag=686]"> |
145 |
<span class="label">Tag 009: </span> |
| 222 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
146 |
<xsl:value-of select="marc:controlfield[@tag=009]"/> |
| 223 |
<xsl:if test="marc:subfield[@code='b']"> |
147 |
</span> |
| 224 |
<xsl:text>, </xsl:text> |
148 |
</xsl:if> |
| 225 |
<xsl:value-of select="marc:subfield[@code='b']"/> |
149 |
<!-- Build ISBN --> |
| 226 |
</xsl:if> |
150 |
<xsl:if test="marc:datafield[@tag=010]/marc:subfield[@code='a']"> |
| 227 |
<xsl:if test="marc:subfield[@code='c']"> |
151 |
<span class="results_summary isbn"> |
| 228 |
<xsl:text>, </xsl:text> |
152 |
<span class="label">ISBN: </span> |
| 229 |
<xsl:value-of select="marc:subfield[@code='c']"/> |
153 |
<xsl:for-each select="marc:datafield[@tag=010]/marc:subfield[@code='a']"> |
| 230 |
</xsl:if> |
154 |
<span property="isbn"> |
| 231 |
<xsl:if test="not (position()=last())"><xsl:text> ; </xsl:text></xsl:if> |
155 |
<xsl:value-of select="."/> |
| 232 |
</xsl:for-each> |
156 |
<xsl:choose> |
| 233 |
</span> |
157 |
<xsl:when test="position()=last()"> |
| 234 |
</xsl:if> |
158 |
<xsl:text>.</xsl:text> |
| 235 |
|
159 |
</xsl:when> |
| 236 |
<xsl:if test="marc:datafield[@tag=327]"> |
160 |
<xsl:otherwise> |
| 237 |
<span class="results_summary contents"> |
161 |
<xsl:text>; </xsl:text> |
| 238 |
<span class="label">Contents note: </span> |
162 |
</xsl:otherwise> |
| 239 |
<xsl:for-each select="marc:datafield[@tag=327]"> |
163 |
</xsl:choose> |
| 240 |
<xsl:call-template name="chopPunctuation"> |
164 |
</span> |
| 241 |
<xsl:with-param name="chopString"> |
165 |
</xsl:for-each> |
| 242 |
<xsl:call-template name="subfieldSelect"> |
166 |
</span> |
| 243 |
<xsl:with-param name="codes">abcdjpvxyz</xsl:with-param> |
167 |
</xsl:if> |
| 244 |
<xsl:with-param name="subdivCodes">jpxyz</xsl:with-param> |
168 |
<!-- Build ISSN --> |
| 245 |
<xsl:with-param name="subdivDelimiter">-- </xsl:with-param> |
169 |
<xsl:if test="marc:datafield[@tag=011]/marc:subfield[@code='a']"> |
| 246 |
</xsl:call-template> |
170 |
<span class="results_summary issn"> |
| 247 |
</xsl:with-param> |
171 |
<span class="label">ISSN: </span> |
| 248 |
</xsl:call-template> |
172 |
<xsl:for-each select="marc:datafield[@tag=011]/marc:subfield[@code='a']"> |
| 249 |
</xsl:for-each> |
173 |
<span property="issn"> |
| 250 |
</span> |
174 |
<xsl:value-of select="."/> |
| 251 |
</xsl:if> |
175 |
<xsl:choose> |
| 252 |
|
176 |
<xsl:when test="position()=last()"> |
| 253 |
<xsl:if test="marc:datafield[@tag=330]"> |
177 |
<xsl:text>.</xsl:text> |
| 254 |
<span class="results_summary abstract"> |
178 |
</xsl:when> |
| 255 |
<span class="label">Abstract: </span> |
179 |
<xsl:otherwise> |
| 256 |
<xsl:for-each select="marc:datafield[@tag=330]"> |
180 |
<xsl:text>; </xsl:text> |
| 257 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
181 |
</xsl:otherwise> |
| 258 |
<xsl:choose> |
182 |
</xsl:choose> |
| 259 |
<xsl:when test="position()=last()"> |
183 |
</span> |
| 260 |
<xsl:text>.</xsl:text> |
184 |
</xsl:for-each> |
| 261 |
</xsl:when> |
185 |
</span> |
| 262 |
<xsl:otherwise> |
186 |
</xsl:if> |
| 263 |
<xsl:text>; </xsl:text> |
187 |
<xsl:call-template name="tag_title"> |
| 264 |
</xsl:otherwise> |
188 |
<xsl:with-param name="tag">225</xsl:with-param> |
| 265 |
</xsl:choose> |
189 |
<xsl:with-param name="label">Series</xsl:with-param> |
| 266 |
</xsl:for-each> |
190 |
<xsl:with-param name="spanclass">series</xsl:with-param> |
| 267 |
</span> |
191 |
</xsl:call-template> |
| 268 |
</xsl:if> |
192 |
<xsl:if test="marc:datafield[@tag=676]"> |
| 269 |
|
193 |
<span class="results_summary dewey"> |
| 270 |
<xsl:if test="marc:datafield[@tag=317]"> |
194 |
<span class="label">Dewey: </span> |
| 271 |
<span class="results_summary provenance"> |
195 |
<xsl:for-each select="marc:datafield[@tag=676]"> |
| 272 |
<span class="label">Provenance note: </span> |
196 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
| 273 |
<xsl:for-each select="marc:datafield[@tag=317]"> |
197 |
<xsl:if test="marc:subfield[@code='v']"> |
| 274 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
198 |
<xsl:text>, </xsl:text> |
| 275 |
</xsl:for-each> |
199 |
<xsl:value-of select="marc:subfield[@code='v']"/> |
| 276 |
</span> |
200 |
</xsl:if> |
| 277 |
</xsl:if> |
201 |
<xsl:if test="marc:subfield[@code='z']"> |
| 278 |
|
202 |
<xsl:text>, </xsl:text> |
| 279 |
<xsl:if test="marc:datafield[@tag=320]"> |
203 |
<xsl:value-of select="marc:subfield[@code='z']"/> |
| 280 |
<span class="results_summary bibliography"> |
204 |
</xsl:if> |
| 281 |
<span class="label">Bibliography: </span> |
205 |
<xsl:if test="not (position()=last())"> |
| 282 |
<xsl:for-each select="marc:datafield[@tag=320]"> |
206 |
<xsl:text> ; </xsl:text> |
| 283 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
207 |
</xsl:if> |
| 284 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> |
208 |
</xsl:for-each> |
| 285 |
</xsl:for-each> |
209 |
</span> |
| 286 |
</span> |
210 |
</xsl:if> |
| 287 |
</xsl:if> |
211 |
<xsl:if test="marc:datafield[@tag=686]"> |
| 288 |
|
212 |
<span class="results_summary classification"> |
| 289 |
<xsl:if test="marc:datafield[@tag=328]"> |
213 |
<span class="label">Classification: </span> |
| 290 |
<span class="results_summary thesis"> |
214 |
<xsl:for-each select="marc:datafield[@tag=686]"> |
| 291 |
<span class="label">Thesis: </span> |
215 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
| 292 |
<xsl:for-each select="marc:datafield[@tag=328]"> |
216 |
<xsl:if test="marc:subfield[@code='b']"> |
| 293 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
217 |
<xsl:text>, </xsl:text> |
| 294 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> |
218 |
<xsl:value-of select="marc:subfield[@code='b']"/> |
| 295 |
</xsl:for-each> |
219 |
</xsl:if> |
| 296 |
</span> |
220 |
<xsl:if test="marc:subfield[@code='c']"> |
| 297 |
</xsl:if> |
221 |
<xsl:text>, </xsl:text> |
| 298 |
|
222 |
<xsl:value-of select="marc:subfield[@code='c']"/> |
| 299 |
<xsl:if test="marc:datafield[@tag=333]"> |
223 |
</xsl:if> |
| 300 |
<span class="results_summary audience"> |
224 |
<xsl:if test="not (position()=last())"> |
| 301 |
<span class="label">Audience: </span> |
225 |
<xsl:text> ; </xsl:text> |
| 302 |
<xsl:for-each select="marc:datafield[@tag=333]"> |
226 |
</xsl:if> |
| 303 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
227 |
</xsl:for-each> |
| 304 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> |
228 |
</span> |
| 305 |
</xsl:for-each> |
229 |
</xsl:if> |
| 306 |
</span> |
230 |
<xsl:if test="marc:datafield[@tag=327]"> |
| 307 |
</xsl:if> |
231 |
<span class="results_summary contents"> |
| 308 |
|
232 |
<span class="label">Contents note: </span> |
| 309 |
<xsl:if test="marc:datafield[@tag=955]"> |
233 |
<xsl:for-each select="marc:datafield[@tag=327]"> |
| 310 |
<span class="results_summary sudoc_serial_history"> |
234 |
<xsl:call-template name="chopPunctuation"> |
| 311 |
<span class="label">SUDOC serial history: </span> |
235 |
<xsl:with-param name="chopString"> |
| 312 |
<xsl:for-each select="marc:datafield[@tag=955]"> |
236 |
<xsl:call-template name="subfieldSelect"> |
| 313 |
<xsl:value-of select="marc:subfield[@code='9']"/>: |
237 |
<xsl:with-param name="codes">abcdjpvxyz</xsl:with-param> |
| 314 |
<xsl:value-of select="marc:subfield[@code='r']"/> |
238 |
<xsl:with-param name="subdivCodes">jpxyz</xsl:with-param> |
| 315 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> |
239 |
<xsl:with-param name="subdivDelimiter">-- </xsl:with-param> |
| 316 |
</xsl:for-each> |
240 |
</xsl:call-template> |
| 317 |
</span> |
241 |
</xsl:with-param> |
| 318 |
</xsl:if> |
242 |
</xsl:call-template> |
| 319 |
|
243 |
</xsl:for-each> |
| 320 |
<xsl:call-template name="tag_subject"> |
244 |
</span> |
| 321 |
<xsl:with-param name="tag">600</xsl:with-param> |
245 |
</xsl:if> |
| 322 |
<xsl:with-param name="label">Subject - Personal Name</xsl:with-param> |
246 |
<xsl:if test="marc:datafield[@tag=330]"> |
| 323 |
</xsl:call-template> |
247 |
<span class="results_summary abstract"> |
| 324 |
|
248 |
<span class="label">Abstract: </span> |
| 325 |
<xsl:call-template name="tag_subject"> |
249 |
<xsl:for-each select="marc:datafield[@tag=330]"> |
| 326 |
<xsl:with-param name="tag">601</xsl:with-param> |
250 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
| 327 |
<xsl:with-param name="label">Subject - Corporate Author</xsl:with-param> |
251 |
<xsl:choose> |
| 328 |
</xsl:call-template> |
252 |
<xsl:when test="position()=last()"> |
| 329 |
|
253 |
<xsl:text>.</xsl:text> |
| 330 |
<xsl:call-template name="tag_subject"> |
254 |
</xsl:when> |
| 331 |
<xsl:with-param name="tag">602</xsl:with-param> |
255 |
<xsl:otherwise> |
| 332 |
<xsl:with-param name="label">Subject - Family</xsl:with-param> |
256 |
<xsl:text>; </xsl:text> |
| 333 |
</xsl:call-template> |
257 |
</xsl:otherwise> |
| 334 |
|
258 |
</xsl:choose> |
| 335 |
<xsl:call-template name="tag_subject"> |
259 |
</xsl:for-each> |
| 336 |
<xsl:with-param name="tag">604</xsl:with-param> |
260 |
</span> |
| 337 |
<xsl:with-param name="label">Subject - Author/Title</xsl:with-param> |
261 |
</xsl:if> |
| 338 |
</xsl:call-template> |
262 |
<xsl:if test="marc:datafield[@tag=317]"> |
| 339 |
|
263 |
<span class="results_summary provenance"> |
| 340 |
<xsl:call-template name="tag_subject"> |
264 |
<span class="label">Provenance note: </span> |
| 341 |
<xsl:with-param name="tag">606</xsl:with-param> |
265 |
<xsl:for-each select="marc:datafield[@tag=317]"> |
| 342 |
<xsl:with-param name="label">Subject - Topical Name</xsl:with-param> |
266 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
| 343 |
</xsl:call-template> |
267 |
</xsl:for-each> |
| 344 |
|
268 |
</span> |
| 345 |
<xsl:call-template name="tag_subject"> |
269 |
</xsl:if> |
| 346 |
<xsl:with-param name="tag">607</xsl:with-param> |
270 |
<xsl:if test="marc:datafield[@tag=320]"> |
| 347 |
<xsl:with-param name="label">Subject - Geographical Name</xsl:with-param> |
271 |
<span class="results_summary bibliography"> |
| 348 |
</xsl:call-template> |
272 |
<span class="label">Bibliography: </span> |
| 349 |
|
273 |
<xsl:for-each select="marc:datafield[@tag=320]"> |
| 350 |
<xsl:call-template name="tag_subject"> |
274 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
| 351 |
<xsl:with-param name="tag">608</xsl:with-param> |
275 |
<xsl:choose> |
| 352 |
<xsl:with-param name="label">Subject - Form</xsl:with-param> |
276 |
<xsl:when test="position()=last()"> |
| 353 |
</xsl:call-template> |
277 |
<xsl:text>.</xsl:text> |
| 354 |
|
278 |
</xsl:when> |
| 355 |
<xsl:call-template name="tag_subject"> |
279 |
<xsl:otherwise> |
| 356 |
<xsl:with-param name="tag">610</xsl:with-param> |
280 |
<xsl:text>; </xsl:text> |
| 357 |
<xsl:with-param name="label">Subject</xsl:with-param> |
281 |
</xsl:otherwise> |
| 358 |
</xsl:call-template> |
282 |
</xsl:choose> |
| 359 |
|
283 |
</xsl:for-each> |
| 360 |
<xsl:call-template name="tag_subject"> |
284 |
</span> |
| 361 |
<xsl:with-param name="tag">615</xsl:with-param> |
285 |
</xsl:if> |
| 362 |
<xsl:with-param name="label">Subject Category</xsl:with-param> |
286 |
<xsl:if test="marc:datafield[@tag=328]"> |
| 363 |
</xsl:call-template> |
287 |
<span class="results_summary thesis"> |
| 364 |
|
288 |
<span class="label">Thesis: </span> |
| 365 |
<xsl:call-template name="tag_subject"> |
289 |
<xsl:for-each select="marc:datafield[@tag=328]"> |
| 366 |
<xsl:with-param name="tag">616</xsl:with-param> |
290 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
| 367 |
<xsl:with-param name="label">Trademark</xsl:with-param> |
291 |
<xsl:choose> |
| 368 |
</xsl:call-template> |
292 |
<xsl:when test="position()=last()"> |
| 369 |
|
293 |
<xsl:text>.</xsl:text> |
| 370 |
<xsl:if test="marc:datafield[@tag=856]"> |
294 |
</xsl:when> |
| 371 |
<span class="results_summary online_resources"> |
295 |
<xsl:otherwise> |
| 372 |
<span class="label">Online Resources:</span> |
296 |
<xsl:text>; </xsl:text> |
| 373 |
<xsl:for-each select="marc:datafield[@tag=856]"> |
297 |
</xsl:otherwise> |
| 374 |
<xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable> |
298 |
</xsl:choose> |
| 375 |
<a> |
299 |
</xsl:for-each> |
| 376 |
<xsl:attribute name="href"> |
300 |
</span> |
| 377 |
<xsl:value-of select="marc:subfield[@code='u']"/> |
301 |
</xsl:if> |
| 378 |
</xsl:attribute> |
302 |
<xsl:if test="marc:datafield[@tag=333]"> |
| 379 |
<xsl:choose> |
303 |
<span class="results_summary audience"> |
| 380 |
<xsl:when test="($Show856uAsImage='Details' or $Show856uAsImage='Both') and (substring($SubqText,1,6)='image/' or $SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')"> |
304 |
<span class="label">Audience: </span> |
| 381 |
<xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="alt"><xsl:value-of select="marc:subfield[@code='y']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element><xsl:text></xsl:text> |
305 |
<xsl:for-each select="marc:datafield[@tag=333]"> |
| 382 |
</xsl:when> |
306 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
| 383 |
<xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']"> |
307 |
<xsl:choose> |
| 384 |
<xsl:call-template name="subfieldSelect"> |
308 |
<xsl:when test="position()=last()"> |
| 385 |
<xsl:with-param name="codes">y3z</xsl:with-param> |
309 |
<xsl:text>.</xsl:text> |
| 386 |
</xsl:call-template> |
310 |
</xsl:when> |
| 387 |
</xsl:when> |
311 |
<xsl:otherwise> |
| 388 |
<xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])"> |
312 |
<xsl:text>; </xsl:text> |
|
|
313 |
</xsl:otherwise> |
| 314 |
</xsl:choose> |
| 315 |
</xsl:for-each> |
| 316 |
</span> |
| 317 |
</xsl:if> |
| 318 |
<xsl:if test="marc:datafield[@tag=955]"> |
| 319 |
<span class="results_summary sudoc_serial_history"> |
| 320 |
<span class="label">SUDOC serial history: </span> |
| 321 |
<xsl:for-each select="marc:datafield[@tag=955]"> |
| 322 |
<xsl:value-of select="marc:subfield[@code='9']"/>: |
| 323 |
|
| 324 |
<xsl:value-of select="marc:subfield[@code='r']"/> |
| 325 |
<xsl:choose> |
| 326 |
<xsl:when test="position()=last()"> |
| 327 |
<xsl:text>.</xsl:text> |
| 328 |
</xsl:when> |
| 329 |
<xsl:otherwise> |
| 330 |
<xsl:text>; </xsl:text> |
| 331 |
</xsl:otherwise> |
| 332 |
</xsl:choose> |
| 333 |
</xsl:for-each> |
| 334 |
</span> |
| 335 |
</xsl:if> |
| 336 |
<xsl:call-template name="tag_subject"> |
| 337 |
<xsl:with-param name="tag">600</xsl:with-param> |
| 338 |
<xsl:with-param name="label">Subject - Personal Name</xsl:with-param> |
| 339 |
</xsl:call-template> |
| 340 |
<xsl:call-template name="tag_subject"> |
| 341 |
<xsl:with-param name="tag">601</xsl:with-param> |
| 342 |
<xsl:with-param name="label">Subject - Corporate Author</xsl:with-param> |
| 343 |
</xsl:call-template> |
| 344 |
<xsl:call-template name="tag_subject"> |
| 345 |
<xsl:with-param name="tag">602</xsl:with-param> |
| 346 |
<xsl:with-param name="label">Subject - Family</xsl:with-param> |
| 347 |
</xsl:call-template> |
| 348 |
<xsl:call-template name="tag_subject"> |
| 349 |
<xsl:with-param name="tag">604</xsl:with-param> |
| 350 |
<xsl:with-param name="label">Subject - Author/Title</xsl:with-param> |
| 351 |
</xsl:call-template> |
| 352 |
<xsl:call-template name="tag_subject"> |
| 353 |
<xsl:with-param name="tag">606</xsl:with-param> |
| 354 |
<xsl:with-param name="label">Subject - Topical Name</xsl:with-param> |
| 355 |
</xsl:call-template> |
| 356 |
<xsl:call-template name="tag_subject"> |
| 357 |
<xsl:with-param name="tag">607</xsl:with-param> |
| 358 |
<xsl:with-param name="label">Subject - Geographical Name</xsl:with-param> |
| 359 |
</xsl:call-template> |
| 360 |
<xsl:call-template name="tag_subject"> |
| 361 |
<xsl:with-param name="tag">608</xsl:with-param> |
| 362 |
<xsl:with-param name="label">Subject - Form</xsl:with-param> |
| 363 |
</xsl:call-template> |
| 364 |
<xsl:call-template name="tag_subject"> |
| 365 |
<xsl:with-param name="tag">610</xsl:with-param> |
| 366 |
<xsl:with-param name="label">Subject</xsl:with-param> |
| 367 |
</xsl:call-template> |
| 368 |
<xsl:call-template name="tag_subject"> |
| 369 |
<xsl:with-param name="tag">615</xsl:with-param> |
| 370 |
<xsl:with-param name="label">Subject Category</xsl:with-param> |
| 371 |
</xsl:call-template> |
| 372 |
<xsl:call-template name="tag_subject"> |
| 373 |
<xsl:with-param name="tag">616</xsl:with-param> |
| 374 |
<xsl:with-param name="label">Trademark</xsl:with-param> |
| 375 |
</xsl:call-template> |
| 376 |
<xsl:if test="marc:datafield[@tag=856]"> |
| 377 |
<span class="results_summary online_resources"> |
| 378 |
<span class="label">Online Resources:</span> |
| 379 |
<xsl:for-each select="marc:datafield[@tag=856]"> |
| 380 |
<xsl:variable name="SubqText"> |
| 381 |
<xsl:value-of select="marc:subfield[@code='q']"/> |
| 382 |
</xsl:variable> |
| 383 |
<a> |
| 384 |
<xsl:attribute name="href"> |
| 385 |
<xsl:value-of select="marc:subfield[@code='u']"/> |
| 386 |
</xsl:attribute> |
| 387 |
<xsl:choose> |
| 388 |
<xsl:when test="($Show856uAsImage='Details' or $Show856uAsImage='Both') and (substring($SubqText,1,6)='image/' or $SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')"> |
| 389 |
<xsl:element name="img"> |
| 390 |
<xsl:attribute name="src"> |
| 391 |
<xsl:value-of select="marc:subfield[@code='u']"/> |
| 392 |
</xsl:attribute> |
| 393 |
<xsl:attribute name="alt"> |
| 394 |
<xsl:value-of select="marc:subfield[@code='y']"/> |
| 395 |
</xsl:attribute> |
| 396 |
<xsl:attribute name="height">100</xsl:attribute> |
| 397 |
</xsl:element> |
| 398 |
<xsl:text></xsl:text> |
| 399 |
</xsl:when> |
| 400 |
<xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']"> |
| 401 |
<xsl:call-template name="subfieldSelect"> |
| 402 |
<xsl:with-param name="codes">y3z</xsl:with-param> |
| 403 |
</xsl:call-template> |
| 404 |
</xsl:when> |
| 405 |
<xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])"> |
| 389 |
Click here to access online |
406 |
Click here to access online |
| 390 |
</xsl:when> |
407 |
</xsl:when> |
| 391 |
</xsl:choose> |
408 |
</xsl:choose> |
| 392 |
</a> |
409 |
</a> |
| 393 |
<xsl:choose> |
410 |
<xsl:choose> |
| 394 |
<xsl:when test="position()=last()"></xsl:when> |
411 |
<xsl:when test="position()=last()"></xsl:when> |
| 395 |
<xsl:otherwise> | </xsl:otherwise> |
412 |
<xsl:otherwise> | </xsl:otherwise> |
| 396 |
</xsl:choose> |
413 |
</xsl:choose> |
| 397 |
</xsl:for-each> |
414 |
</xsl:for-each> |
| 398 |
</span> |
415 |
</span> |
| 399 |
</xsl:if> |
416 |
</xsl:if> |
| 400 |
</xsl:template> |
417 |
</xsl:template> |
| 401 |
|
418 |
<xsl:template name="nameABCDQ"> |
| 402 |
<xsl:template name="nameABCDQ"> |
419 |
<xsl:call-template name="chopPunctuation"> |
| 403 |
<xsl:call-template name="chopPunctuation"> |
420 |
<xsl:with-param name="chopString"> |
| 404 |
<xsl:with-param name="chopString"> |
421 |
<xsl:call-template name="subfieldSelect"> |
| 405 |
<xsl:call-template name="subfieldSelect"> |
422 |
<xsl:with-param name="codes">aq</xsl:with-param> |
| 406 |
<xsl:with-param name="codes">aq</xsl:with-param> |
423 |
</xsl:call-template> |
| 407 |
</xsl:call-template> |
424 |
</xsl:with-param> |
| 408 |
</xsl:with-param> |
425 |
<xsl:with-param name="punctuation"> |
| 409 |
<xsl:with-param name="punctuation"> |
426 |
<xsl:text>:,;/ </xsl:text> |
| 410 |
<xsl:text>:,;/ </xsl:text> |
427 |
</xsl:with-param> |
| 411 |
</xsl:with-param> |
428 |
</xsl:call-template> |
| 412 |
</xsl:call-template> |
429 |
<xsl:call-template name="termsOfAddress"/> |
| 413 |
<xsl:call-template name="termsOfAddress"/> |
430 |
</xsl:template> |
| 414 |
</xsl:template> |
431 |
<xsl:template name="nameABCDN"> |
| 415 |
|
432 |
<xsl:for-each select="marc:subfield[@code='a']"> |
| 416 |
<xsl:template name="nameABCDN"> |
433 |
<xsl:call-template name="chopPunctuation"> |
| 417 |
<xsl:for-each select="marc:subfield[@code='a']"> |
434 |
<xsl:with-param name="chopString" select="."/> |
| 418 |
<xsl:call-template name="chopPunctuation"> |
435 |
</xsl:call-template> |
| 419 |
<xsl:with-param name="chopString" select="."/> |
436 |
</xsl:for-each> |
| 420 |
</xsl:call-template> |
437 |
<xsl:for-each select="marc:subfield[@code='b']"> |
| 421 |
</xsl:for-each> |
438 |
<xsl:value-of select="."/> |
| 422 |
<xsl:for-each select="marc:subfield[@code='b']"> |
439 |
</xsl:for-each> |
| 423 |
<xsl:value-of select="."/> |
440 |
<xsl:if test="marc:subfield[@code='c'] or marc:subfield[@code='d'] or marc:subfield[@code='n']"> |
| 424 |
</xsl:for-each> |
441 |
<xsl:call-template name="subfieldSelect"> |
| 425 |
<xsl:if test="marc:subfield[@code='c'] or marc:subfield[@code='d'] or marc:subfield[@code='n']"> |
442 |
<xsl:with-param name="codes">cdn</xsl:with-param> |
| 426 |
<xsl:call-template name="subfieldSelect"> |
443 |
</xsl:call-template> |
| 427 |
<xsl:with-param name="codes">cdn</xsl:with-param> |
444 |
</xsl:if> |
| 428 |
</xsl:call-template> |
445 |
</xsl:template> |
| 429 |
</xsl:if> |
446 |
<xsl:template name="nameACDEQ"> |
| 430 |
</xsl:template> |
447 |
<xsl:call-template name="subfieldSelect"> |
| 431 |
|
448 |
<xsl:with-param name="codes">acdeq</xsl:with-param> |
| 432 |
<xsl:template name="nameACDEQ"> |
449 |
</xsl:call-template> |
| 433 |
<xsl:call-template name="subfieldSelect"> |
450 |
</xsl:template> |
| 434 |
<xsl:with-param name="codes">acdeq</xsl:with-param> |
451 |
<xsl:template name="termsOfAddress"> |
| 435 |
</xsl:call-template> |
452 |
<xsl:if test="marc:subfield[@code='b' or @code='c']"> |
| 436 |
</xsl:template> |
453 |
<xsl:call-template name="chopPunctuation"> |
| 437 |
<xsl:template name="termsOfAddress"> |
454 |
<xsl:with-param name="chopString"> |
| 438 |
<xsl:if test="marc:subfield[@code='b' or @code='c']"> |
455 |
<xsl:call-template name="subfieldSelect"> |
| 439 |
<xsl:call-template name="chopPunctuation"> |
456 |
<xsl:with-param name="codes">bc</xsl:with-param> |
| 440 |
<xsl:with-param name="chopString"> |
457 |
</xsl:call-template> |
| 441 |
<xsl:call-template name="subfieldSelect"> |
458 |
</xsl:with-param> |
| 442 |
<xsl:with-param name="codes">bc</xsl:with-param> |
459 |
</xsl:call-template> |
| 443 |
</xsl:call-template> |
460 |
</xsl:if> |
| 444 |
</xsl:with-param> |
461 |
</xsl:template> |
| 445 |
</xsl:call-template> |
462 |
<xsl:template name="part"> |
| 446 |
</xsl:if> |
463 |
<xsl:variable name="partNumber"> |
| 447 |
</xsl:template> |
464 |
<xsl:call-template name="specialSubfieldSelect"> |
| 448 |
|
465 |
<xsl:with-param name="axis">n</xsl:with-param> |
| 449 |
<xsl:template name="part"> |
466 |
<xsl:with-param name="anyCodes">n</xsl:with-param> |
| 450 |
<xsl:variable name="partNumber"> |
467 |
<xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param> |
| 451 |
<xsl:call-template name="specialSubfieldSelect"> |
468 |
</xsl:call-template> |
| 452 |
<xsl:with-param name="axis">n</xsl:with-param> |
469 |
</xsl:variable> |
| 453 |
<xsl:with-param name="anyCodes">n</xsl:with-param> |
470 |
<xsl:variable name="partName"> |
| 454 |
<xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param> |
471 |
<xsl:call-template name="specialSubfieldSelect"> |
| 455 |
</xsl:call-template> |
472 |
<xsl:with-param name="axis">p</xsl:with-param> |
| 456 |
</xsl:variable> |
473 |
<xsl:with-param name="anyCodes">p</xsl:with-param> |
| 457 |
<xsl:variable name="partName"> |
474 |
<xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param> |
| 458 |
<xsl:call-template name="specialSubfieldSelect"> |
475 |
</xsl:call-template> |
| 459 |
<xsl:with-param name="axis">p</xsl:with-param> |
476 |
</xsl:variable> |
| 460 |
<xsl:with-param name="anyCodes">p</xsl:with-param> |
477 |
<xsl:if test="string-length(normalize-space($partNumber))"> |
| 461 |
<xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param> |
478 |
<xsl:call-template name="chopPunctuation"> |
| 462 |
</xsl:call-template> |
479 |
<xsl:with-param name="chopString" select="$partNumber"/> |
| 463 |
</xsl:variable> |
480 |
</xsl:call-template> |
| 464 |
<xsl:if test="string-length(normalize-space($partNumber))"> |
481 |
</xsl:if> |
| 465 |
<xsl:call-template name="chopPunctuation"> |
482 |
<xsl:if test="string-length(normalize-space($partName))"> |
| 466 |
<xsl:with-param name="chopString" select="$partNumber"/> |
483 |
<xsl:call-template name="chopPunctuation"> |
| 467 |
</xsl:call-template> |
484 |
<xsl:with-param name="chopString" select="$partName"/> |
| 468 |
</xsl:if> |
485 |
</xsl:call-template> |
| 469 |
<xsl:if test="string-length(normalize-space($partName))"> |
486 |
</xsl:if> |
| 470 |
<xsl:call-template name="chopPunctuation"> |
487 |
</xsl:template> |
| 471 |
<xsl:with-param name="chopString" select="$partName"/> |
488 |
<xsl:template name="specialSubfieldSelect"> |
| 472 |
</xsl:call-template> |
489 |
<xsl:param name="anyCodes"/> |
| 473 |
</xsl:if> |
490 |
<xsl:param name="axis"/> |
| 474 |
</xsl:template> |
491 |
<xsl:param name="beforeCodes"/> |
| 475 |
|
492 |
<xsl:param name="afterCodes"/> |
| 476 |
<xsl:template name="specialSubfieldSelect"> |
493 |
<xsl:variable name="str"> |
| 477 |
<xsl:param name="anyCodes"/> |
494 |
<xsl:for-each select="marc:subfield"> |
| 478 |
<xsl:param name="axis"/> |
495 |
<xsl:if test="contains($anyCodes, @code) or (contains($beforeCodes,@code) and following-sibling::marc:subfield[@code=$axis]) or (contains($afterCodes,@code) and preceding-sibling::marc:subfield[@code=$axis])"> |
| 479 |
<xsl:param name="beforeCodes"/> |
496 |
<xsl:value-of select="text()"/> |
| 480 |
<xsl:param name="afterCodes"/> |
497 |
<xsl:text></xsl:text> |
| 481 |
<xsl:variable name="str"> |
498 |
</xsl:if> |
| 482 |
<xsl:for-each select="marc:subfield"> |
499 |
</xsl:for-each> |
| 483 |
<xsl:if test="contains($anyCodes, @code) or (contains($beforeCodes,@code) and following-sibling::marc:subfield[@code=$axis]) or (contains($afterCodes,@code) and preceding-sibling::marc:subfield[@code=$axis])"> |
500 |
</xsl:variable> |
| 484 |
<xsl:value-of select="text()"/> |
501 |
<xsl:value-of select="substring($str,1,string-length($str)-1)"/> |
| 485 |
<xsl:text> </xsl:text> |
502 |
</xsl:template> |
| 486 |
</xsl:if> |
|
|
| 487 |
</xsl:for-each> |
| 488 |
</xsl:variable> |
| 489 |
<xsl:value-of select="substring($str,1,string-length($str)-1)"/> |
| 490 |
</xsl:template> |
| 491 |
|
| 492 |
</xsl:stylesheet> |
503 |
</xsl:stylesheet> |