|
Lines 19-36
Link Here
|
| 19 |
<!-- Option: Display Alternate Graphic Representation (MARC 880) --> |
19 |
<!-- Option: Display Alternate Graphic Representation (MARC 880) --> |
| 20 |
<xsl:variable name="display880" select="boolean(marc:datafield[@tag=880])"/> |
20 |
<xsl:variable name="display880" select="boolean(marc:datafield[@tag=880])"/> |
| 21 |
|
21 |
|
| 22 |
<xsl:variable name="hidelostitems" select="marc:sysprefs/marc:syspref[@name='hidelostitems']"/> |
22 |
<xsl:variable name="hidelostitems" select="marc:sysprefs/marc:syspref[@name='hidelostitems']"/> |
| 23 |
<xsl:variable name="URLLinkText" select="marc:sysprefs/marc:syspref[@name='URLLinkText']"/> |
23 |
<xsl:variable name="URLLinkText" select="marc:sysprefs/marc:syspref[@name='URLLinkText']"/> |
| 24 |
<xsl:variable name="Show856uAsImage" select="marc:sysprefs/marc:syspref[@name='OPACDisplay856uAsImage']"/> |
24 |
<xsl:variable name="Show856uAsImage" select="marc:sysprefs/marc:syspref[@name='Display856uAsImage']"/> |
| 25 |
<xsl:variable name="AlternateHoldingsField" select="substring(marc:sysprefs/marc:syspref[@name='AlternateHoldingsField'], 1, 3)"/> |
25 |
<xsl:variable name="AlternateHoldingsField" select="substring(marc:sysprefs/marc:syspref[@name='AlternateHoldingsField'], 1, 3)"/> |
| 26 |
<xsl:variable name="AlternateHoldingsSubfields" select="substring(marc:sysprefs/marc:syspref[@name='AlternateHoldingsField'], 4)"/> |
26 |
<xsl:variable name="AlternateHoldingsSubfields" select="substring(marc:sysprefs/marc:syspref[@name='AlternateHoldingsField'], 4)"/> |
| 27 |
<xsl:variable name="AlternateHoldingsSeparator" select="marc:sysprefs/marc:syspref[@name='AlternateHoldingsSeparator']"/> |
27 |
<xsl:variable name="AlternateHoldingsSeparator" select="marc:sysprefs/marc:syspref[@name='AlternateHoldingsSeparator']"/> |
|
|
28 |
<xsl:variable name="UseAuthoritiesForTracings" select="marc:sysprefs/marc:syspref[@name='UseAuthoritiesForTracings']"/> |
| 28 |
<xsl:variable name="leader" select="marc:leader"/> |
29 |
<xsl:variable name="leader" select="marc:leader"/> |
| 29 |
<xsl:variable name="leader6" select="substring($leader,7,1)"/> |
30 |
<xsl:variable name="leader6" select="substring($leader,7,1)"/> |
| 30 |
<xsl:variable name="leader7" select="substring($leader,8,1)"/> |
31 |
<xsl:variable name="leader7" select="substring($leader,8,1)"/> |
| 31 |
<xsl:variable name="leader19" select="substring($leader,20,1)"/> |
32 |
<xsl:variable name="leader19" select="substring($leader,20,1)"/> |
| 32 |
<xsl:variable name="biblionumber" select="marc:datafield[@tag=999]/marc:subfield[@code='c']"/> |
33 |
<xsl:variable name="biblionumber" select="marc:datafield[@tag=999]/marc:subfield[@code='c']"/> |
| 33 |
<xsl:variable name="isbn" select="marc:datafield[@tag=020]/marc:subfield[@code='a']"/> |
|
|
| 34 |
<xsl:variable name="controlField008" select="marc:controlfield[@tag=008]"/> |
34 |
<xsl:variable name="controlField008" select="marc:controlfield[@tag=008]"/> |
| 35 |
<xsl:variable name="typeOf008"> |
35 |
<xsl:variable name="typeOf008"> |
| 36 |
<xsl:choose> |
36 |
<xsl:choose> |
|
Lines 324-330
Link Here
|
| 324 |
</xsl:for-each> |
324 |
</xsl:for-each> |
| 325 |
</xsl:if> |
325 |
</xsl:if> |
| 326 |
</a> |
326 |
</a> |
| 327 |
<p> |
|
|
| 328 |
|
327 |
|
| 329 |
<!-- Author Statement: Alternate Graphic Representation (MARC 880) --> |
328 |
<!-- Author Statement: Alternate Graphic Representation (MARC 880) --> |
| 330 |
<xsl:if test="$display880"> |
329 |
<xsl:if test="$display880"> |
|
Lines 336-398
Link Here
|
| 336 |
|
335 |
|
| 337 |
<xsl:choose> |
336 |
<xsl:choose> |
| 338 |
<xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]"> |
337 |
<xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]"> |
|
|
338 |
<p class="author">by |
| 339 |
<xsl:for-each select="marc:datafield[@tag=100 or @tag=700]"> |
| 340 |
<a> |
| 341 |
<xsl:choose> |
| 342 |
<xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'"> |
| 343 |
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute> |
| 344 |
</xsl:when> |
| 345 |
<xsl:otherwise> |
| 346 |
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute> |
| 347 |
</xsl:otherwise> |
| 348 |
</xsl:choose> |
| 349 |
<xsl:call-template name="nameABCDQ"/></a> |
| 350 |
<xsl:choose> |
| 351 |
<xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> |
| 352 |
</xsl:for-each> |
| 339 |
|
353 |
|
| 340 |
by <span class="author"> |
354 |
<xsl:for-each select="marc:datafield[@tag=110 or @tag=710]"> |
| 341 |
<xsl:for-each select="marc:datafield[@tag=100 or @tag=700]"> |
355 |
<a> |
| 342 |
<xsl:choose> |
356 |
<xsl:choose> |
| 343 |
<xsl:when test="position()=last()"> |
357 |
<xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'"> |
| 344 |
<xsl:call-template name="nameABCDQ"/>. |
358 |
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute> |
| 345 |
</xsl:when> |
359 |
</xsl:when> |
| 346 |
<xsl:otherwise> |
360 |
<xsl:otherwise> |
| 347 |
<xsl:call-template name="nameABCDQ"/>; |
361 |
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute> |
| 348 |
</xsl:otherwise> |
362 |
</xsl:otherwise> |
| 349 |
</xsl:choose> |
363 |
</xsl:choose> |
| 350 |
</xsl:for-each> |
364 |
<xsl:call-template name="nameABCDN"/></a> |
|
|
365 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text> </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> |
| 366 |
</xsl:for-each> |
| 351 |
|
367 |
|
| 352 |
<xsl:for-each select="marc:datafield[@tag=110 or @tag=710]"> |
368 |
<xsl:for-each select="marc:datafield[@tag=111 or @tag=711]"> |
| 353 |
<xsl:choose> |
369 |
<xsl:choose> |
| 354 |
<xsl:when test="position()=1"> |
370 |
<xsl:when test="marc:subfield[@code='n']"> |
| 355 |
<xsl:text> -- </xsl:text> |
371 |
<xsl:text> </xsl:text> |
| 356 |
</xsl:when> |
372 |
<xsl:call-template name="subfieldSelect"> |
| 357 |
</xsl:choose> |
373 |
<xsl:with-param name="codes">n</xsl:with-param> </xsl:call-template> |
| 358 |
<xsl:choose> |
374 |
<xsl:text> </xsl:text> |
| 359 |
<xsl:when test="position()=last()"> |
375 |
</xsl:when> |
| 360 |
<xsl:call-template name="nameABCDN"/> |
376 |
</xsl:choose> |
| 361 |
</xsl:when> |
377 |
<a> |
| 362 |
<xsl:otherwise> |
378 |
<xsl:choose> |
| 363 |
<xsl:call-template name="nameABCDN"/>; |
379 |
<xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'"> |
| 364 |
</xsl:otherwise> |
380 |
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute> |
| 365 |
</xsl:choose> |
381 |
</xsl:when> |
| 366 |
</xsl:for-each> |
382 |
<xsl:otherwise> |
|
|
383 |
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute> |
| 384 |
</xsl:otherwise> |
| 385 |
</xsl:choose> |
| 386 |
<xsl:call-template name="nameACDEQ"/></a> |
| 387 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> |
| 367 |
|
388 |
|
| 368 |
<xsl:for-each select="marc:datafield[@tag=111 or @tag=711]"> |
389 |
</xsl:for-each> |
| 369 |
<xsl:choose> |
390 |
</p> |
| 370 |
<xsl:when test="position()=1"> |
|
|
| 371 |
<xsl:text> -- </xsl:text> |
| 372 |
</xsl:when> |
| 373 |
</xsl:choose> |
| 374 |
<xsl:choose> |
| 375 |
<xsl:when test="marc:subfield[@code='n']"> |
| 376 |
<xsl:text> </xsl:text> |
| 377 |
<xsl:call-template name="subfieldSelect"> |
| 378 |
<xsl:with-param name="codes">n</xsl:with-param> |
| 379 |
</xsl:call-template> |
| 380 |
<xsl:text> </xsl:text> |
| 381 |
</xsl:when> |
| 382 |
</xsl:choose> |
| 383 |
<xsl:choose> |
| 384 |
<xsl:when test="position()=last()"> |
| 385 |
<xsl:call-template name="nameACDEQ"/>. |
| 386 |
</xsl:when> |
| 387 |
<xsl:otherwise> |
| 388 |
<xsl:call-template name="nameACDEQ"/>; |
| 389 |
</xsl:otherwise> |
| 390 |
</xsl:choose> |
| 391 |
</xsl:for-each> |
| 392 |
</span> |
| 393 |
</xsl:when> |
391 |
</xsl:when> |
| 394 |
</xsl:choose> |
392 |
</xsl:choose> |
| 395 |
</p> |
393 |
|
|
|
394 |
<xsl:if test="marc:datafield[@tag=300]"> |
| 395 |
<span class="results_summary description"><span class="label">Description: </span> |
| 396 |
<xsl:for-each select="marc:datafield[@tag=300]"> |
| 397 |
<xsl:call-template name="chopPunctuation"> |
| 398 |
<xsl:with-param name="chopString"> |
| 399 |
<xsl:call-template name="subfieldSelect"> |
| 400 |
<xsl:with-param name="codes">abceg</xsl:with-param> |
| 401 |
</xsl:call-template> |
| 402 |
</xsl:with-param> |
| 403 |
</xsl:call-template> |
| 404 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> |
| 405 |
</xsl:for-each> |
| 406 |
</span> |
| 407 |
</xsl:if> |
| 408 |
|
| 409 |
<xsl:if test="marc:datafield[@tag=020]"> |
| 410 |
<span class="results_summary isbn"><span class="label">ISBN: </span> |
| 411 |
<xsl:for-each select="marc:datafield[@tag=020]"> |
| 412 |
<xsl:variable name="isbn" select="marc:subfield[@code='a']"/> |
| 413 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
| 414 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> |
| 415 |
</xsl:for-each> |
| 416 |
</span> |
| 417 |
</xsl:if> |
| 418 |
|
| 419 |
<xsl:if test="marc:datafield[@tag=022]"> |
| 420 |
<span class="results_summary issn"><span class="label">ISSN: </span> |
| 421 |
<xsl:for-each select="marc:datafield[@tag=022]"> |
| 422 |
<xsl:value-of select="marc:subfield[@code='a']"/> |
| 423 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> |
| 424 |
</xsl:for-each> |
| 425 |
</span> |
| 426 |
</xsl:if> |
| 396 |
|
427 |
|
| 397 |
<xsl:if test="marc:datafield[@tag=250]"> |
428 |
<xsl:if test="marc:datafield[@tag=250]"> |
| 398 |
<span class="results_summary"> |
429 |
<span class="results_summary"> |
|
Lines 803-911
Link Here
|
| 803 |
</xsl:for-each> |
834 |
</xsl:for-each> |
| 804 |
</span> |
835 |
</span> |
| 805 |
</xsl:if> |
836 |
</xsl:if> |
| 806 |
<span class="results_summary" id="availability"> |
|
|
| 807 |
<span class="label">Availability: </span> |
| 808 |
<xsl:choose> |
| 809 |
<xsl:when test="count(key('item-by-status', 'available'))=0 and count(key('item-by-status', 'reference'))=0"> |
| 810 |
<xsl:choose> |
| 811 |
<xsl:when test="string-length($AlternateHoldingsField)=3 and marc:datafield[@tag=$AlternateHoldingsField]"> |
| 812 |
<xsl:variable name="AlternateHoldingsCount" select="count(marc:datafield[@tag=$AlternateHoldingsField])"/> |
| 813 |
<xsl:for-each select="marc:datafield[@tag=$AlternateHoldingsField][1]"> |
| 814 |
<xsl:call-template select="marc:datafield[@tag=$AlternateHoldingsField]" name="subfieldSelect"> |
| 815 |
<xsl:with-param name="codes"><xsl:value-of select="$AlternateHoldingsSubfields"/></xsl:with-param> |
| 816 |
<xsl:with-param name="delimeter"><xsl:value-of select="$AlternateHoldingsSeparator"/></xsl:with-param> |
| 817 |
</xsl:call-template> |
| 818 |
</xsl:for-each> |
| 819 |
(<xsl:value-of select="$AlternateHoldingsCount"/>) |
| 820 |
</xsl:when> |
| 821 |
<xsl:otherwise>No copies available </xsl:otherwise> |
| 822 |
</xsl:choose> |
| 823 |
</xsl:when> |
| 824 |
<xsl:when test="count(key('item-by-status', 'available'))>0"> |
| 825 |
<span class="available"> |
| 826 |
<b><xsl:text>Copies available for loan: </xsl:text></b> |
| 827 |
<xsl:variable name="available_items" |
| 828 |
select="key('item-by-status', 'available')"/> |
| 829 |
<xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]"> |
| 830 |
<xsl:value-of select="items:homebranch"/> |
| 831 |
<xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if> |
| 832 |
<xsl:text> (</xsl:text> |
| 833 |
<xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/> |
| 834 |
<xsl:text>)</xsl:text> |
| 835 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose> |
| 836 |
</xsl:for-each> |
| 837 |
</span> |
| 838 |
</xsl:when> |
| 839 |
</xsl:choose> |
| 840 |
|
| 841 |
<xsl:choose> <xsl:when test="count(key('item-by-status', 'available'))>0"> |
| 842 |
<xsl:choose><xsl:when test="count(key('item-by-status', 'reference'))>0"> |
| 843 |
<br/> |
| 844 |
</xsl:when></xsl:choose> |
| 845 |
</xsl:when> </xsl:choose> |
| 846 |
|
| 847 |
<xsl:choose> |
| 848 |
<xsl:when test="count(key('item-by-status', 'reference'))>0"> |
| 849 |
<span class="available"> |
| 850 |
<b><xsl:text>Copies available for reference: </xsl:text></b> |
| 851 |
<xsl:variable name="reference_items" |
| 852 |
select="key('item-by-status', 'reference')"/> |
| 853 |
<xsl:for-each select="$reference_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]"> |
| 854 |
<xsl:value-of select="items:homebranch"/> |
| 855 |
<xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if> |
| 856 |
<xsl:text> (</xsl:text> |
| 857 |
<xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/> |
| 858 |
<xsl:text>)</xsl:text> |
| 859 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose> |
| 860 |
</xsl:for-each> |
| 861 |
</span> |
| 862 |
</xsl:when> |
| 863 |
</xsl:choose> |
| 864 |
|
| 865 |
<xsl:if test="count(key('item-by-status', 'Checked out'))>0"> |
| 866 |
<span class="unavailable"> |
| 867 |
<xsl:text>Checked out (</xsl:text> |
| 868 |
<xsl:value-of select="count(key('item-by-status', 'Checked out'))"/> |
| 869 |
<xsl:text>). </xsl:text> |
| 870 |
</span> |
| 871 |
</xsl:if> |
| 872 |
<xsl:if test="count(key('item-by-status', 'Withdrawn'))>0"> |
| 873 |
<span class="unavailable"> |
| 874 |
<xsl:text>Withdrawn (</xsl:text> |
| 875 |
<xsl:value-of select="count(key('item-by-status', 'Withdrawn'))"/> |
| 876 |
<xsl:text>). </xsl:text> </span> |
| 877 |
</xsl:if> |
| 878 |
<xsl:if test="$hidelostitems='0' and count(key('item-by-status', 'Lost'))>0"> |
| 879 |
<span class="unavailable"> |
| 880 |
<xsl:text>Lost (</xsl:text> |
| 881 |
<xsl:value-of select="count(key('item-by-status', 'Lost'))"/> |
| 882 |
<xsl:text>). </xsl:text> </span> |
| 883 |
</xsl:if> |
| 884 |
<xsl:if test="count(key('item-by-status', 'Damaged'))>0"> |
| 885 |
<span class="unavailable"> |
| 886 |
<xsl:text>Damaged (</xsl:text> |
| 887 |
<xsl:value-of select="count(key('item-by-status', 'Damaged'))"/> |
| 888 |
<xsl:text>). </xsl:text> </span> |
| 889 |
</xsl:if> |
| 890 |
<xsl:if test="count(key('item-by-status', 'On order'))>0"> |
| 891 |
<span class="unavailable"> |
| 892 |
<xsl:text>On order (</xsl:text> |
| 893 |
<xsl:value-of select="count(key('item-by-status', 'On order'))"/> |
| 894 |
<xsl:text>). </xsl:text> </span> |
| 895 |
</xsl:if> |
| 896 |
<xsl:if test="count(key('item-by-status', 'In transit'))>0"> |
| 897 |
<span class="unavailable"> |
| 898 |
<xsl:text>In transit (</xsl:text> |
| 899 |
<xsl:value-of select="count(key('item-by-status', 'In transit'))"/> |
| 900 |
<xsl:text>). </xsl:text> </span> |
| 901 |
</xsl:if> |
| 902 |
<xsl:if test="count(key('item-by-status', 'Waiting'))>0"> |
| 903 |
<span class="unavailable"> |
| 904 |
<xsl:text>On hold (</xsl:text> |
| 905 |
<xsl:value-of select="count(key('item-by-status', 'Waiting'))"/> |
| 906 |
<xsl:text>). </xsl:text> </span> |
| 907 |
</xsl:if> |
| 908 |
</span> |
| 909 |
</xsl:template> |
837 |
</xsl:template> |
| 910 |
|
838 |
|
| 911 |
<xsl:template name="nameABCDQ"> |
839 |
<xsl:template name="nameABCDQ"> |
| 912 |
- |
|
|