|
Lines 1193-1251
Link Here
|
| 1193 |
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute> |
1193 |
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute> |
| 1194 |
</xsl:otherwise> |
1194 |
</xsl:otherwise> |
| 1195 |
</xsl:choose> |
1195 |
</xsl:choose> |
| 1196 |
<xsl:choose> |
1196 |
<xsl:choose> |
| 1197 |
<xsl:when test="@tag=100 or @tag=110 or @tag=111"> |
1197 |
<xsl:when test="@tag=100 or @tag=110 or @tag=111"> |
| 1198 |
<!-- #13383 --> |
1198 |
<!-- #13383 --> |
| 1199 |
<xsl:call-template name="chopPunctuation"> |
1199 |
<xsl:call-template name="chopPunctuation"> |
| 1200 |
<xsl:with-param name="chopString"> |
1200 |
<xsl:with-param name="chopString"> |
| 1201 |
<xsl:call-template name="subfieldSelect"> |
1201 |
<xsl:call-template name="subfieldSelect"> |
| 1202 |
<xsl:with-param name="codes"> |
1202 |
<xsl:with-param name="codes"> |
| 1203 |
<xsl:choose> |
1203 |
<xsl:choose> |
| 1204 |
<!-- #13383 include subfield e for field 111 --> |
1204 |
<!-- #13383 include subfield e for field 111, Display only name portion in 1XX --> |
| 1205 |
<xsl:when test="@tag=111">abceqt</xsl:when> |
1205 |
<xsl:when test="@tag=111">aeq</xsl:when> |
| 1206 |
<xsl:otherwise>abcjqt</xsl:otherwise> |
1206 |
<xsl:when test="@tag=110">ab</xsl:when> |
| 1207 |
</xsl:choose> |
1207 |
<xsl:otherwise>abcjq</xsl:otherwise> |
| 1208 |
</xsl:with-param> |
1208 |
</xsl:choose> |
| 1209 |
</xsl:call-template> |
1209 |
</xsl:with-param> |
| 1210 |
</xsl:with-param> |
1210 |
</xsl:call-template> |
| 1211 |
<xsl:with-param name="punctuation"> |
1211 |
</xsl:with-param> |
| 1212 |
<xsl:text>:,;/ </xsl:text> |
1212 |
<xsl:with-param name="punctuation"> |
| 1213 |
</xsl:with-param> |
1213 |
<xsl:text>:,;/ </xsl:text> |
| 1214 |
</xsl:call-template> |
1214 |
</xsl:with-param> |
| 1215 |
</xsl:when> |
1215 |
</xsl:call-template> |
| 1216 |
<!-- #13382 excludes 700$i and ind2=2, displayed as Related Works --> |
1216 |
<!-- Display only name and title portion in 110 field --> |
| 1217 |
<!--#13382 Added all relevant subfields 4, e, and d are handled separately --> |
1217 |
<xsl:if test="@tag=110 and boolean(marc:subfield[@code='c' or @code='d' or @code='n' or @code='t'])"> |
| 1218 |
<xsl:when test="@tag=700 or @tag=710 or @tag=711"> |
1218 |
<span class="titleportion"> |
| 1219 |
<xsl:variable name="str"> |
1219 |
<xsl:choose> |
| 1220 |
<xsl:call-template name="subfieldSelect"> |
1220 |
<xsl:when test="marc:subfield[@code='c' or @code='d' or @code='n'][not(marc:subfield[@code='t'])]"><xsl:text> </xsl:text></xsl:when> |
| 1221 |
<xsl:with-param name="codes">abcfghiklmnoprstux</xsl:with-param> |
1221 |
<xsl:otherwise><xsl:text>. </xsl:text></xsl:otherwise> |
| 1222 |
</xsl:call-template> |
1222 |
</xsl:choose> |
| 1223 |
</xsl:variable> |
1223 |
<xsl:call-template name="chopPunctuation"> |
| 1224 |
<xsl:call-template name="chopPunctuation"> |
1224 |
<xsl:with-param name="chopString"> |
| 1225 |
<xsl:with-param name="chopString"> |
1225 |
<xsl:call-template name="subfieldSelect"> |
| 1226 |
<xsl:value-of select="$str"/> |
1226 |
<xsl:with-param name="codes">cdnt</xsl:with-param> |
| 1227 |
</xsl:with-param> |
1227 |
</xsl:call-template> |
| 1228 |
<xsl:with-param name="punctuation"> |
1228 |
</xsl:with-param> |
| 1229 |
<xsl:text>:,;/. </xsl:text> |
1229 |
</xsl:call-template> |
| 1230 |
</xsl:with-param> |
1230 |
</span> |
| 1231 |
</xsl:call-template> |
1231 |
</xsl:if> |
| 1232 |
</xsl:when> |
1232 |
<!-- Display only name and title portion in 111 field --> |
| 1233 |
</xsl:choose> |
1233 |
<xsl:if test="@tag=111 and boolean(marc:subfield[@code='c' or @code='d' or @code='g' or @code='n' or @code='t'])"> |
| 1234 |
<xsl:if test="marc:subfield[@code='d']"> |
1234 |
<span class="titleportion"> |
| 1235 |
<span class="authordates"> |
1235 |
<xsl:choose> |
| 1236 |
<xsl:text> </xsl:text> |
1236 |
<xsl:when test="marc:subfield[@code='c' or @code='d' or @code='g' or @code='n'][not(marc:subfield[@code='t'])]"><xsl:text> </xsl:text></xsl:when> |
| 1237 |
<xsl:value-of select="marc:subfield[@code='d']"/> |
1237 |
<xsl:otherwise><xsl:text>. </xsl:text></xsl:otherwise> |
| 1238 |
</span> |
1238 |
</xsl:choose> |
| 1239 |
</xsl:if> |
1239 |
|
| 1240 |
<!-- add relator code too between brackets--> |
1240 |
<xsl:call-template name="chopPunctuation"> |
|
|
1241 |
<xsl:with-param name="chopString"> |
| 1242 |
<xsl:call-template name="subfieldSelect"> |
| 1243 |
<xsl:with-param name="codes">cdgnt</xsl:with-param> |
| 1244 |
</xsl:call-template> |
| 1245 |
</xsl:with-param> |
| 1246 |
</xsl:call-template> |
| 1247 |
</span> |
| 1248 |
</xsl:if> |
| 1249 |
<!-- Display only dates in 100 field --> |
| 1250 |
<xsl:if test="@tag=100 and marc:subfield[@code='d']"> |
| 1251 |
<span class="authordates"> |
| 1252 |
<xsl:text>, </xsl:text> |
| 1253 |
<xsl:call-template name="chopPunctuation"> |
| 1254 |
<xsl:with-param name="chopString"> |
| 1255 |
<xsl:call-template name="subfieldSelect"> |
| 1256 |
<xsl:with-param name="codes">d</xsl:with-param> |
| 1257 |
</xsl:call-template> |
| 1258 |
</xsl:with-param> |
| 1259 |
</xsl:call-template> |
| 1260 |
</span> |
| 1261 |
</xsl:if> |
| 1262 |
|
| 1263 |
</xsl:when> |
| 1264 |
<!-- #13382 excludes 700$i and ind2=2, displayed as Related Works --> |
| 1265 |
<!--#13382 Added all relevant subfields 4, e, and d are handled separately --> |
| 1266 |
<xsl:when test="@tag=700 or @tag=710 or @tag=711"> |
| 1267 |
<!-- Includes major changes for 7XX fields; display name portion in 710 and 711 fields --> |
| 1268 |
<xsl:if test="@tag=710 or @tag=711"> |
| 1269 |
<xsl:call-template name="chopPunctuation"> |
| 1270 |
<xsl:with-param name="chopString"> |
| 1271 |
<xsl:call-template name="subfieldSelect"> |
| 1272 |
<xsl:with-param name="codes"> |
| 1273 |
<xsl:choose> |
| 1274 |
<xsl:when test="@tag=711">aeq</xsl:when> |
| 1275 |
<xsl:otherwise>ab</xsl:otherwise> |
| 1276 |
</xsl:choose> |
| 1277 |
</xsl:with-param> |
| 1278 |
</xsl:call-template> |
| 1279 |
</xsl:with-param> |
| 1280 |
<xsl:with-param name="punctuation"> |
| 1281 |
<xsl:text>:,;/ </xsl:text> |
| 1282 |
</xsl:with-param> |
| 1283 |
</xsl:call-template> |
| 1284 |
<!-- Display only name and title portion in 711 field --> |
| 1285 |
<xsl:if test="@tag=711 and boolean(marc:subfield[@code='c' or @code='d' or @code='g' or @code='n' or @code='t'])"> |
| 1286 |
<span class="titleportion"> |
| 1287 |
<xsl:choose> |
| 1288 |
<xsl:when test="marc:subfield[@code='c' or @code='d' or @code='g' or @code='n'][not(marc:subfield[@code='t'])]"><xsl:text> </xsl:text></xsl:when> |
| 1289 |
<xsl:otherwise><xsl:text>. </xsl:text></xsl:otherwise> |
| 1290 |
</xsl:choose> |
| 1291 |
|
| 1292 |
<xsl:call-template name="chopPunctuation"> |
| 1293 |
<xsl:with-param name="chopString"> |
| 1294 |
<xsl:call-template name="subfieldSelect"> |
| 1295 |
<xsl:with-param name="codes">cdgnt</xsl:with-param> |
| 1296 |
</xsl:call-template> |
| 1297 |
</xsl:with-param> |
| 1298 |
</xsl:call-template> |
| 1299 |
</span> |
| 1300 |
</xsl:if> |
| 1301 |
<!-- Display only name and title portion in 710 field --> |
| 1302 |
<xsl:if test="@tag=710 and boolean(marc:subfield[@code='c' or @code='d' or @code='n' or @code='t'])"> |
| 1303 |
<span class="titleportion"> |
| 1304 |
<xsl:choose> |
| 1305 |
<xsl:when test="marc:subfield[@code='c' or @code='d' or @code='n'][not(marc:subfield[@code='t'])]"><xsl:text> </xsl:text></xsl:when> |
| 1306 |
<xsl:otherwise><xsl:text>. </xsl:text></xsl:otherwise> |
| 1307 |
</xsl:choose> |
| 1308 |
<xsl:call-template name="chopPunctuation"> |
| 1309 |
<xsl:with-param name="chopString"> |
| 1310 |
<xsl:call-template name="subfieldSelect"> |
| 1311 |
<xsl:with-param name="codes">cdnt</xsl:with-param> |
| 1312 |
</xsl:call-template> |
| 1313 |
</xsl:with-param> |
| 1314 |
</xsl:call-template> |
| 1315 |
</span> |
| 1316 |
</xsl:if> |
| 1317 |
|
| 1318 |
</xsl:if> |
| 1319 |
<!-- Display only name portion in 700 field --> |
| 1320 |
<xsl:if test="@tag=700"> |
| 1321 |
<xsl:call-template name="chopPunctuation"> |
| 1322 |
<xsl:with-param name="chopString"> |
| 1323 |
<xsl:call-template name="subfieldSelect"> |
| 1324 |
<xsl:with-param name="codes">abcq</xsl:with-param> |
| 1325 |
</xsl:call-template> |
| 1326 |
</xsl:with-param> |
| 1327 |
</xsl:call-template> |
| 1328 |
</xsl:if> |
| 1329 |
<!-- Display class "authordates" in 700 field --> |
| 1330 |
<xsl:if test="@tag=700 and marc:subfield[@code='d']"> |
| 1331 |
<span class="authordates"> |
| 1332 |
<xsl:text>, </xsl:text> |
| 1333 |
<xsl:call-template name="chopPunctuation"> |
| 1334 |
<xsl:with-param name="chopString"> |
| 1335 |
<xsl:call-template name="subfieldSelect"> |
| 1336 |
<xsl:with-param name="codes">d</xsl:with-param> |
| 1337 |
</xsl:call-template> |
| 1338 |
</xsl:with-param> |
| 1339 |
</xsl:call-template> |
| 1340 |
</span> |
| 1341 |
</xsl:if> |
| 1342 |
<!-- Display class "titleportion" in 700 field --> |
| 1343 |
<xsl:variable name="titleportionfields" select="boolean(marc:subfield[@code='t' or @code='j' or @code='k' or @code='u'])"/> |
| 1344 |
<xsl:if test="@tag=700 and $titleportionfields"> |
| 1345 |
<span class="titleportion"> |
| 1346 |
<xsl:text>. </xsl:text> |
| 1347 |
<xsl:call-template name="chopPunctuation"> |
| 1348 |
<xsl:with-param name="chopString"> |
| 1349 |
<xsl:call-template name="subfieldSelect"> |
| 1350 |
<xsl:with-param name="codes">fghjklmnoprstux</xsl:with-param> |
| 1351 |
</xsl:call-template> |
| 1352 |
</xsl:with-param> |
| 1353 |
</xsl:call-template> |
| 1354 |
</span> |
| 1355 |
</xsl:if> |
| 1356 |
|
| 1357 |
</xsl:when> |
| 1358 |
</xsl:choose> |
| 1359 |
|
| 1360 |
<!-- add relator code too between brackets--> |
| 1241 |
<!-- #13383 include relator code j for field 111 --> |
1361 |
<!-- #13383 include relator code j for field 111 --> |
| 1242 |
<xsl:if test="marc:subfield[@code='4' or @code='e'][not(parent::*[@tag=111])] or (self::*[@tag=111] and marc:subfield[@code='4' or @code='j'][. != ''])"> |
1362 |
<xsl:if test="marc:subfield[@code='4' or @code='e'][not(parent::*[@tag=111])] or (self::*[@tag=111] and marc:subfield[@code='4' or @code='j'][. != ''])"> |
| 1243 |
<span class="relatorcode"> |
1363 |
<span class="relatorcode"> |
| 1244 |
<xsl:text> [</xsl:text> |
1364 |
<xsl:text> [</xsl:text> |
| 1245 |
<xsl:choose> |
1365 |
<xsl:choose> |
| 1246 |
<xsl:when test="@tag=111"> |
1366 |
<xsl:when test="@tag=111 or @tag=711"> |
| 1247 |
<xsl:choose> |
1367 |
<xsl:choose> |
| 1248 |
<!-- Prefer j over 4 --> |
1368 |
<!-- Prefer j over 4 for fields 111 and 711--> |
| 1249 |
<xsl:when test="marc:subfield[@code='j']"> |
1369 |
<xsl:when test="marc:subfield[@code='j']"> |
| 1250 |
<xsl:for-each select="marc:subfield[@code='j']"> |
1370 |
<xsl:for-each select="marc:subfield[@code='j']"> |
| 1251 |
<xsl:value-of select="."/> |
1371 |
<xsl:value-of select="."/> |
|
Lines 1260-1267
Link Here
|
| 1260 |
</xsl:otherwise> |
1380 |
</xsl:otherwise> |
| 1261 |
</xsl:choose> |
1381 |
</xsl:choose> |
| 1262 |
</xsl:when> |
1382 |
</xsl:when> |
| 1263 |
<!-- Prefer e over 4 --> |
1383 |
<!-- Prefer e over 4 for fields 111 and 711--> |
| 1264 |
<xsl:when test="marc:subfield[@code='e']"> |
1384 |
<xsl:when test="marc:subfield[@code='e'][not(@tag=111) or not(@tag=711)]"> |
| 1265 |
<xsl:for-each select="marc:subfield[@code='e']"> |
1385 |
<xsl:for-each select="marc:subfield[@code='e']"> |
| 1266 |
<xsl:value-of select="."/> |
1386 |
<xsl:value-of select="."/> |
| 1267 |
<xsl:if test="position() != last()">, </xsl:if> |
1387 |
<xsl:if test="position() != last()">, </xsl:if> |
|
Lines 1277-1283
Link Here
|
| 1277 |
<xsl:text>]</xsl:text> |
1397 |
<xsl:text>]</xsl:text> |
| 1278 |
</span> |
1398 |
</span> |
| 1279 |
</xsl:if> |
1399 |
</xsl:if> |
| 1280 |
</a> |
1400 |
</a> |
| 1281 |
<xsl:choose> |
1401 |
<xsl:choose> |
| 1282 |
<xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><span class="separator"><xsl:text> | </xsl:text></span></xsl:otherwise> |
1402 |
<xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><span class="separator"><xsl:text> | </xsl:text></span></xsl:otherwise> |
| 1283 |
</xsl:choose> |
1403 |
</xsl:choose> |