|
Lines 20-27
Link Here
|
| 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="DisplayOPACiconsXSLT" select="marc:sysprefs/marc:syspref[@name='DisplayOPACiconsXSLT']"/> |
22 |
<xsl:variable name="DisplayOPACiconsXSLT" select="marc:sysprefs/marc:syspref[@name='DisplayOPACiconsXSLT']"/> |
| 23 |
<xsl:variable name="OPACURLOpenInNewWindow" select="marc:sysprefs/marc:syspref[@name='OPACURLOpenInNewWindow']"/> |
|
|
| 24 |
<xsl:variable name="URLLinkText" select="marc:sysprefs/marc:syspref[@name='URLLinkText']"/> |
| 25 |
<xsl:variable name="leader" select="marc:leader"/> |
23 |
<xsl:variable name="leader" select="marc:leader"/> |
| 26 |
<xsl:variable name="leader6" select="substring($leader,7,1)"/> |
24 |
<xsl:variable name="leader6" select="substring($leader,7,1)"/> |
| 27 |
<xsl:variable name="leader7" select="substring($leader,8,1)"/> |
25 |
<xsl:variable name="leader7" select="substring($leader,8,1)"/> |
|
Lines 899-1041
Link Here
|
| 899 |
</xsl:for-each> |
897 |
</xsl:for-each> |
| 900 |
</span> |
898 |
</span> |
| 901 |
</xsl:if> |
899 |
</xsl:if> |
| 902 |
<xsl:if test="marc:datafield[@tag=856]"> |
900 |
|
| 903 |
<span class="results_summary"> |
901 |
<xsl:call-template name="ShowELocation"/> |
| 904 |
<span class="label">Online Access: </span> |
902 |
|
| 905 |
<xsl:for-each select="marc:datafield[@tag=856]"> |
903 |
<!-- Remove surrouding comments to show call number too --> |
| 906 |
<xsl:if test="$OPACURLOpenInNewWindow='0'"> |
904 |
<!-- |
| 907 |
<a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute> |
905 |
<xsl:call-template name="ShowCallNumber"/> |
| 908 |
<xsl:choose> |
906 |
--> |
| 909 |
<xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']"> |
907 |
|
| 910 |
<xsl:call-template name="subfieldSelect"> |
908 |
<xsl:call-template name="ShowAvailable"/> |
| 911 |
<xsl:with-param name="codes">y3z</xsl:with-param> |
909 |
</xsl:template> |
| 912 |
</xsl:call-template> |
910 |
<!-- end of match marc:record --> |
| 913 |
</xsl:when> |
911 |
|
| 914 |
<xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])"> |
912 |
|
| 915 |
<xsl:choose> |
913 |
<xsl:template name="ShowELocation"> |
| 916 |
<xsl:when test="$URLLinkText!=''"> |
914 |
<xsl:variable name="OPACURLOpenInNewWindow" select="marc:sysprefs/marc:syspref[@name='OPACURLOpenInNewWindow']"/> |
| 917 |
<xsl:value-of select="$URLLinkText"/> |
915 |
<xsl:variable name="URLLinkText" select="marc:sysprefs/marc:syspref[@name='URLLinkText']"/> |
| 918 |
</xsl:when> |
916 |
<xsl:if test="marc:datafield[@tag=856]"> |
| 919 |
<xsl:otherwise> |
917 |
<span class="results_summary"> |
| 920 |
<xsl:text>Click here to access online</xsl:text> |
918 |
<span class="label">Online Access: </span> |
| 921 |
</xsl:otherwise> |
919 |
<xsl:for-each select="marc:datafield[@tag=856]"> |
| 922 |
</xsl:choose> |
920 |
<xsl:if test="$OPACURLOpenInNewWindow='0'"> |
| 923 |
</xsl:when> |
921 |
<a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute> |
| 924 |
</xsl:choose> |
922 |
<xsl:choose> |
| 925 |
</a> |
923 |
<xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']"> |
| 926 |
</xsl:if> |
924 |
<xsl:call-template name="subfieldSelect"> |
| 927 |
<xsl:if test="$OPACURLOpenInNewWindow='1'"> |
925 |
<xsl:with-param name="codes">y3z</xsl:with-param> |
| 928 |
<a target='_blank'><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute> |
926 |
</xsl:call-template> |
| 929 |
<xsl:choose> |
927 |
</xsl:when> |
| 930 |
<xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']"> |
928 |
<xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])"> |
| 931 |
<xsl:call-template name="subfieldSelect"> |
929 |
<xsl:choose> |
| 932 |
<xsl:with-param name="codes">y3z</xsl:with-param> |
930 |
<xsl:when test="$URLLinkText!=''"> |
| 933 |
</xsl:call-template> |
931 |
<xsl:value-of select="$URLLinkText"/> |
| 934 |
</xsl:when> |
|
|
| 935 |
<xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])"> |
| 936 |
<xsl:choose> |
| 937 |
<xsl:when test="$URLLinkText!=''"> |
| 938 |
<xsl:value-of select="$URLLinkText"/> |
| 939 |
</xsl:when> |
| 940 |
<xsl:otherwise> |
| 941 |
<xsl:text>Click here to access online</xsl:text> |
| 942 |
</xsl:otherwise> |
| 943 |
</xsl:choose> |
| 944 |
</xsl:when> |
932 |
</xsl:when> |
| 945 |
</xsl:choose> |
933 |
<xsl:otherwise> |
| 946 |
</a> |
934 |
<xsl:text>Click here to access online</xsl:text> |
| 947 |
</xsl:if> |
935 |
</xsl:otherwise> |
| 948 |
<xsl:choose> |
936 |
</xsl:choose> |
| 949 |
<xsl:when test="position()=last()"><xsl:text> </xsl:text></xsl:when> |
937 |
</xsl:when> |
| 950 |
<xsl:otherwise> | </xsl:otherwise> |
938 |
</xsl:choose> |
| 951 |
</xsl:choose> |
939 |
</a> |
| 952 |
</xsl:for-each> |
940 |
</xsl:if> |
| 953 |
</span> |
941 |
<xsl:if test="$OPACURLOpenInNewWindow='1'"> |
| 954 |
</xsl:if> |
942 |
<a target='_blank'><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute> |
| 955 |
<span class="results_summary"> |
|
|
| 956 |
<span class="label">Availability: </span> |
| 957 |
<xsl:choose> |
943 |
<xsl:choose> |
| 958 |
<xsl:when test="count(key('item-by-status', 'available'))=0 and count(key('item-by-status', 'reference'))=0">No copies available |
944 |
<xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']"> |
| 959 |
</xsl:when> |
945 |
<xsl:call-template name="subfieldSelect"> |
| 960 |
<xsl:when test="count(key('item-by-status', 'available'))>0"> |
946 |
<xsl:with-param name="codes">y3z</xsl:with-param> |
| 961 |
<span class="available"> |
947 |
</xsl:call-template> |
| 962 |
<b><xsl:text>Copies available for loan: </xsl:text></b> |
948 |
</xsl:when> |
| 963 |
<xsl:variable name="available_items" |
949 |
<xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])"> |
|
|
950 |
<xsl:choose> |
| 951 |
<xsl:when test="$URLLinkText!=''"> |
| 952 |
<xsl:value-of select="$URLLinkText"/> |
| 953 |
</xsl:when> |
| 954 |
<xsl:otherwise> |
| 955 |
<xsl:text>Click here to access online</xsl:text> |
| 956 |
</xsl:otherwise> |
| 957 |
</xsl:choose> |
| 958 |
</xsl:when> |
| 959 |
</xsl:choose> |
| 960 |
</a> |
| 961 |
</xsl:if> |
| 962 |
<xsl:choose> |
| 963 |
<xsl:when test="position()=last()"><xsl:text> </xsl:text></xsl:when> |
| 964 |
<xsl:otherwise> | </xsl:otherwise> |
| 965 |
</xsl:choose> |
| 966 |
</xsl:for-each> |
| 967 |
</span> |
| 968 |
</xsl:if> |
| 969 |
</xsl:template> |
| 970 |
|
| 971 |
<xsl:template name="ShowAvailable"> |
| 972 |
<span class="results_summary"> |
| 973 |
<span class="label">Availability: </span> |
| 974 |
<xsl:choose> |
| 975 |
<xsl:when test="count(key('item-by-status', 'available'))=0 and count(key('item-by-status', 'reference'))=0">No copies available |
| 976 |
</xsl:when> |
| 977 |
<xsl:when test="count(key('item-by-status', 'available'))>0"> |
| 978 |
<span class="available"> |
| 979 |
<b><xsl:text>Copies available for loan: </xsl:text></b> |
| 980 |
<xsl:variable name="available_items" |
| 964 |
select="key('item-by-status', 'available')"/> |
981 |
select="key('item-by-status', 'available')"/> |
| 965 |
<xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]"> |
982 |
<xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]"> |
| 966 |
<xsl:value-of select="items:homebranch"/> |
983 |
<xsl:value-of select="items:homebranch"/> |
| 967 |
<xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if> |
984 |
<xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if> |
| 968 |
<xsl:text> (</xsl:text> |
985 |
<xsl:text> (</xsl:text> |
| 969 |
<xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/> |
986 |
<xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/> |
| 970 |
<xsl:text>)</xsl:text> |
987 |
<xsl:text>)</xsl:text> |
| 971 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose> |
988 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose> |
| 972 |
</xsl:for-each> |
989 |
</xsl:for-each> |
| 973 |
</span> |
990 |
</span> |
| 974 |
</xsl:when> |
991 |
</xsl:when> |
| 975 |
</xsl:choose> |
992 |
</xsl:choose> |
| 976 |
|
993 |
|
| 977 |
<xsl:choose> |
994 |
<xsl:choose> |
| 978 |
<xsl:when test="count(key('item-by-status', 'reference'))>0"> |
995 |
<xsl:when test="count(key('item-by-status', 'reference'))>0"> |
| 979 |
<span class="available"> |
996 |
<span class="available"> |
| 980 |
<b><xsl:text>Copies available for reference: </xsl:text></b> |
997 |
<b><xsl:text>Copies available for reference: </xsl:text></b> |
| 981 |
<xsl:variable name="reference_items" |
998 |
<xsl:variable name="reference_items" |
| 982 |
select="key('item-by-status', 'reference')"/> |
999 |
select="key('item-by-status', 'reference')"/> |
| 983 |
<xsl:for-each select="$reference_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]"> |
1000 |
<xsl:for-each select="$reference_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]"> |
| 984 |
<xsl:value-of select="items:homebranch"/> |
1001 |
<xsl:value-of select="items:homebranch"/> |
| 985 |
<xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if> |
1002 |
<xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if> |
| 986 |
<xsl:text> (</xsl:text> |
1003 |
<xsl:text> (</xsl:text> |
| 987 |
<xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/> |
1004 |
<xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/> |
| 988 |
<xsl:text>)</xsl:text> |
1005 |
<xsl:text>)</xsl:text> |
| 989 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose> |
1006 |
<xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose> |
| 990 |
</xsl:for-each> |
1007 |
</xsl:for-each> |
| 991 |
</span> |
1008 |
</span> |
| 992 |
</xsl:when> |
1009 |
</xsl:when> |
| 993 |
</xsl:choose> |
1010 |
</xsl:choose> |
|
|
1011 |
|
| 1012 |
<xsl:if test="count(key('item-by-status', 'Checked out'))>0"> |
| 1013 |
<span class="unavailable"> |
| 1014 |
<xsl:text>Checked out (</xsl:text> |
| 1015 |
<xsl:value-of select="count(key('item-by-status', 'Checked out'))"/> |
| 1016 |
<xsl:text>). </xsl:text> |
| 1017 |
</span> |
| 1018 |
</xsl:if> |
| 1019 |
|
| 1020 |
<xsl:if test="count(key('item-by-status', 'Withdrawn'))>0"> |
| 1021 |
<span class="unavailable"> |
| 1022 |
<xsl:text>Withdrawn (</xsl:text> |
| 1023 |
<xsl:value-of select="count(key('item-by-status', 'Withdrawn'))"/> |
| 1024 |
<xsl:text>). </xsl:text> |
| 1025 |
</span> |
| 1026 |
</xsl:if> |
| 1027 |
|
| 1028 |
<xsl:if test="count(key('item-by-status', 'Lost'))>0"> |
| 1029 |
<span class="unavailable"> |
| 1030 |
<xsl:text>Lost (</xsl:text> |
| 1031 |
<xsl:value-of select="count(key('item-by-status', 'Lost'))"/> |
| 1032 |
<xsl:text>). </xsl:text> |
| 1033 |
</span> |
| 1034 |
</xsl:if> |
| 1035 |
|
| 1036 |
<xsl:if test="count(key('item-by-status', 'Damaged'))>0"> |
| 1037 |
<span class="unavailable"> |
| 1038 |
<xsl:text>Damaged (</xsl:text> |
| 1039 |
<xsl:value-of select="count(key('item-by-status', 'Damaged'))"/> |
| 1040 |
<xsl:text>). </xsl:text> |
| 1041 |
</span> |
| 1042 |
</xsl:if> |
| 994 |
|
1043 |
|
| 995 |
<xsl:if test="count(key('item-by-status', 'Checked out'))>0"> |
1044 |
<xsl:if test="count(key('item-by-status', 'On order'))>0"> |
| 996 |
<span class="unavailable"> |
1045 |
<span class="unavailable"> |
| 997 |
<xsl:text>Checked out (</xsl:text> |
1046 |
<xsl:text>On order (</xsl:text> |
| 998 |
<xsl:value-of select="count(key('item-by-status', 'Checked out'))"/> |
1047 |
<xsl:value-of select="count(key('item-by-status', 'On order'))"/> |
| 999 |
<xsl:text>). </xsl:text> |
1048 |
<xsl:text>). </xsl:text> |
| 1000 |
</span> |
1049 |
</span> |
| 1001 |
</xsl:if> |
1050 |
</xsl:if> |
| 1002 |
<xsl:if test="count(key('item-by-status', 'Withdrawn'))>0"> |
1051 |
|
| 1003 |
<span class="unavailable"> |
1052 |
<xsl:if test="count(key('item-by-status', 'In transit'))>0"> |
| 1004 |
<xsl:text>Withdrawn (</xsl:text> |
1053 |
<span class="unavailable"> |
| 1005 |
<xsl:value-of select="count(key('item-by-status', 'Withdrawn'))"/> |
1054 |
<xsl:text>In transit (</xsl:text> |
| 1006 |
<xsl:text>). </xsl:text> </span> |
1055 |
<xsl:value-of select="count(key('item-by-status', 'In transit'))"/> |
| 1007 |
</xsl:if> |
1056 |
<xsl:text>). </xsl:text> |
| 1008 |
<xsl:if test="count(key('item-by-status', 'Lost'))>0"> |
1057 |
</span> |
| 1009 |
<span class="unavailable"> |
1058 |
</xsl:if> |
| 1010 |
<xsl:text>Lost (</xsl:text> |
1059 |
|
| 1011 |
<xsl:value-of select="count(key('item-by-status', 'Lost'))"/> |
1060 |
<xsl:if test="count(key('item-by-status', 'Waiting'))>0"> |
| 1012 |
<xsl:text>). </xsl:text> </span> |
1061 |
<span class="unavailable"> |
| 1013 |
</xsl:if> |
1062 |
<xsl:text>On hold (</xsl:text> |
| 1014 |
<xsl:if test="count(key('item-by-status', 'Damaged'))>0"> |
1063 |
<xsl:value-of select="count(key('item-by-status', 'Waiting'))"/> |
| 1015 |
<span class="unavailable"> |
1064 |
<xsl:text>). </xsl:text> |
| 1016 |
<xsl:text>Damaged (</xsl:text> |
1065 |
</span> |
| 1017 |
<xsl:value-of select="count(key('item-by-status', 'Damaged'))"/> |
1066 |
</xsl:if> |
| 1018 |
<xsl:text>). </xsl:text> </span> |
1067 |
</span> |
| 1019 |
</xsl:if> |
1068 |
</xsl:template> |
| 1020 |
<xsl:if test="count(key('item-by-status', 'On order'))>0"> |
1069 |
|
| 1021 |
<span class="unavailable"> |
1070 |
<xsl:template name="ShowCallNumber"> |
| 1022 |
<xsl:text>On order (</xsl:text> |
1071 |
<span class="results_summary"> |
| 1023 |
<xsl:value-of select="count(key('item-by-status', 'On order'))"/> |
1072 |
<span class="label">Call Number: </span> |
| 1024 |
<xsl:text>). </xsl:text> </span> |
1073 |
<xsl:for-each select="marc:datafield[@tag=952]/marc:subfield[@code='o']"> |
| 1025 |
</xsl:if> |
1074 |
<xsl:value-of select="."/> |
| 1026 |
<xsl:if test="count(key('item-by-status', 'In transit'))>0"> |
1075 |
<xsl:choose> |
| 1027 |
<span class="unavailable"> |
1076 |
<xsl:when test="position()=last()"></xsl:when> |
| 1028 |
<xsl:text>In transit (</xsl:text> |
1077 |
<xsl:otherwise>, </xsl:otherwise> |
| 1029 |
<xsl:value-of select="count(key('item-by-status', 'In transit'))"/> |
1078 |
</xsl:choose> |
| 1030 |
<xsl:text>). </xsl:text> </span> |
1079 |
</xsl:for-each> |
| 1031 |
</xsl:if> |
1080 |
</span> |
| 1032 |
<xsl:if test="count(key('item-by-status', 'Waiting'))>0"> |
|
|
| 1033 |
<span class="unavailable"> |
| 1034 |
<xsl:text>On hold (</xsl:text> |
| 1035 |
<xsl:value-of select="count(key('item-by-status', 'Waiting'))"/> |
| 1036 |
<xsl:text>). </xsl:text> </span> |
| 1037 |
</xsl:if> |
| 1038 |
</span> |
| 1039 |
</xsl:template> |
1081 |
</xsl:template> |
| 1040 |
|
1082 |
|
| 1041 |
<xsl:template name="nameABCDQ"> |
1083 |
<xsl:template name="nameABCDQ"> |
| 1042 |
- |
|
|