|
Lines 1-5
Link Here
|
| 1 |
<?xml version="1.0" encoding="UTF-8"?> |
1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 |
<!-- $Id: MARC21slim2DC.xsl,v 1.1 2003/01/06 08:20:27 adam Exp $ --> |
2 |
<!-- $Id: MARC21slim2DC.xsl,v 1.1 2003/01/06 08:20:27 adam Exp $ --> |
|
|
3 |
|
| 3 |
<!DOCTYPE stylesheet [<!ENTITY nbsp " " >]> |
4 |
<!DOCTYPE stylesheet [<!ENTITY nbsp " " >]> |
| 4 |
<xsl:stylesheet version="1.0" |
5 |
<xsl:stylesheet version="1.0" |
| 5 |
xmlns:marc="http://www.loc.gov/MARC21/slim" |
6 |
xmlns:marc="http://www.loc.gov/MARC21/slim" |
|
Lines 158-175
Link Here
|
| 158 |
</xsl:call-template> |
159 |
</xsl:call-template> |
| 159 |
</h5> |
160 |
</h5> |
| 160 |
</xsl:if> |
161 |
</xsl:if> |
| 161 |
<xsl:choose> |
162 |
|
| 162 |
<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]"> |
163 |
<!--#13382 Added Author Statement to seperate Authors and Contributors --> |
| 163 |
<h5 class="author">by |
164 |
<xsl:call-template name="showAuthor"> |
| 164 |
<xsl:call-template name="showAuthor"> |
165 |
<xsl:with-param name="authorfield" select="marc:datafield[@tag=100 or @tag=110 or @tag=111]"/> |
| 165 |
<xsl:with-param name="authorfield" select="marc:datafield[@tag=100 or @tag=110 or @tag=111 or @tag=700 or @tag=710 or @tag=711]"/> |
166 |
<xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/> |
| 166 |
<xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/> |
167 |
<xsl:with-param name="materialTypeLabel" select="$materialTypeLabel"/> |
| 167 |
<xsl:with-param name="materialTypeLabel" select="$materialTypeLabel"/> |
168 |
<xsl:with-param name="theme" select="$theme"/> |
| 168 |
<xsl:with-param name="theme" select="$theme"/> |
169 |
</xsl:call-template> |
| 169 |
</xsl:call-template> |
170 |
<xsl:call-template name="showAuthor"> |
| 170 |
</h5> |
171 |
<!-- #13382 suppress 700$i and 7xx/@ind2=2 --> |
| 171 |
</xsl:when> |
172 |
<xsl:with-param name="authorfield" select="marc:datafield[@tag=700 or @tag=710 or @tag=711][not(@ind2=2)][not(marc:subfield[@code='i'][parent::marc:datafield[@tag='700']])]"/> |
| 172 |
</xsl:choose> |
173 |
<xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/> |
|
|
174 |
<xsl:with-param name="materialTypeLabel" select="$materialTypeLabel"/> |
| 175 |
<xsl:with-param name="theme" select="$theme"/> |
| 176 |
</xsl:call-template> |
| 173 |
|
177 |
|
| 174 |
<xsl:if test="$DisplayOPACiconsXSLT!='0'"> |
178 |
<xsl:if test="$DisplayOPACiconsXSLT!='0'"> |
| 175 |
<xsl:if test="$materialTypeCode!=''"> |
179 |
<xsl:if test="$materialTypeCode!=''"> |
|
Lines 572-577
Link Here
|
| 572 |
</span> |
576 |
</span> |
| 573 |
</xsl:if> |
577 |
</xsl:if> |
| 574 |
|
578 |
|
|
|
579 |
|
| 580 |
<!-- #13382 Added Related works 700$i --> |
| 581 |
<xsl:if test="marc:datafield[@tag=700][marc:subfield[@code='i']]"> |
| 582 |
<span class="results_summary related_works"><span class="label">Related Works: </span> |
| 583 |
<xsl:for-each select="marc:datafield[@tag=700][marc:subfield[@code='i']]"> |
| 584 |
<xsl:variable name="str"> |
| 585 |
<xsl:call-template name="subfieldSelect"> |
| 586 |
<xsl:with-param name="codes">abcdfghiklmorstux</xsl:with-param> |
| 587 |
</xsl:call-template> |
| 588 |
</xsl:variable> |
| 589 |
<xsl:call-template name="chopPunctuation"> |
| 590 |
<xsl:with-param name="chopString"> |
| 591 |
<xsl:value-of select="$str"/> |
| 592 |
</xsl:with-param> |
| 593 |
</xsl:call-template> |
| 594 |
<!-- add relator code too between brackets--> |
| 595 |
<xsl:if test="marc:subfield[@code='4' or @code='e']"> |
| 596 |
<span class="relatorcode"> |
| 597 |
<xsl:text> [</xsl:text> |
| 598 |
<xsl:choose> |
| 599 |
<xsl:when test="marc:subfield[@code='e']"> |
| 600 |
<xsl:for-each select="marc:subfield[@code='e']"> |
| 601 |
<xsl:value-of select="."/> |
| 602 |
<xsl:if test="position() != last()"><xsl:text>, </xsl:text></xsl:if> |
| 603 |
</xsl:for-each> |
| 604 |
</xsl:when> |
| 605 |
<xsl:otherwise> |
| 606 |
<xsl:for-each select="marc:subfield[@code='4']"> |
| 607 |
<xsl:value-of select="."/> |
| 608 |
<xsl:if test="position() != last()"><xsl:text>, </xsl:text></xsl:if> |
| 609 |
</xsl:for-each> |
| 610 |
</xsl:otherwise> |
| 611 |
</xsl:choose> |
| 612 |
<xsl:text>]</xsl:text> |
| 613 |
</span> |
| 614 |
</xsl:if> |
| 615 |
<xsl:choose> |
| 616 |
<xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><span class="separator"><xsl:text> | </xsl:text></span></xsl:otherwise> |
| 617 |
</xsl:choose> |
| 618 |
</xsl:for-each> |
| 619 |
</span> |
| 620 |
</xsl:if> |
| 621 |
|
| 622 |
<!-- #13382 Added Contained Works 7xx@ind2=2 --> |
| 623 |
<xsl:if test="marc:datafield[@tag=700][@ind2=2][not(marc:subfield[@code='i'])] or marc:datafield[@tag=710][@ind2=2][not(marc:subfield[@code='i'])] or marc:datafield[@tag=711][@ind2=2][not(marc:subfield[@code='i'])]"> |
| 624 |
<span class="results_summary contained_works"><span class="label">Contained Works: </span> |
| 625 |
<xsl:for-each select="marc:datafield[@tag=700][@ind2=2][not(marc:subfield[@code='i'])] | marc:datafield[@tag=710][@ind2=2][not(marc:subfield[@code='i'])] | marc:datafield[@tag=711][@ind2=2][not(marc:subfield[@code='i'])]"> |
| 626 |
<xsl:variable name="str"> |
| 627 |
<xsl:call-template name="subfieldSelect"> |
| 628 |
<xsl:with-param name="codes">abcdfghiklmorstux</xsl:with-param> |
| 629 |
</xsl:call-template> |
| 630 |
</xsl:variable> |
| 631 |
<xsl:call-template name="chopPunctuation"> |
| 632 |
<xsl:with-param name="chopString"> |
| 633 |
<xsl:value-of select="$str"/> |
| 634 |
</xsl:with-param> |
| 635 |
</xsl:call-template> |
| 636 |
<!-- add relator code too between brackets--> |
| 637 |
<xsl:if test="marc:subfield[@code='4' or @code='e']"> |
| 638 |
<span class="relatorcode"> |
| 639 |
<xsl:text> [</xsl:text> |
| 640 |
<xsl:choose> |
| 641 |
<xsl:when test="marc:subfield[@code='e']"> |
| 642 |
<xsl:for-each select="marc:subfield[@code='e']"> |
| 643 |
<xsl:value-of select="."/> |
| 644 |
<xsl:if test="position() != last()"><xsl:text>, </xsl:text></xsl:if> |
| 645 |
</xsl:for-each> |
| 646 |
</xsl:when> |
| 647 |
<xsl:otherwise> |
| 648 |
<xsl:for-each select="marc:subfield[@code='4']"> |
| 649 |
<xsl:value-of select="."/> |
| 650 |
<xsl:if test="position() != last()"><xsl:text>, </xsl:text></xsl:if> |
| 651 |
</xsl:for-each> |
| 652 |
</xsl:otherwise> |
| 653 |
</xsl:choose> |
| 654 |
<xsl:text>]</xsl:text> |
| 655 |
</span> |
| 656 |
</xsl:if> |
| 657 |
<xsl:choose> |
| 658 |
<xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><span class="separator"><xsl:text> | </xsl:text></span></xsl:otherwise> |
| 659 |
</xsl:choose> |
| 660 |
</xsl:for-each> |
| 661 |
</span> |
| 662 |
</xsl:if> |
| 663 |
|
| 575 |
<xsl:if test="marc:datafield[substring(@tag, 1, 1) = '6']"> |
664 |
<xsl:if test="marc:datafield[substring(@tag, 1, 1) = '6']"> |
| 576 |
<span class="results_summary subjects"><span class="label">Subject(s): </span> |
665 |
<span class="results_summary subjects"><span class="label">Subject(s): </span> |
| 577 |
<xsl:for-each select="marc:datafield[substring(@tag, 1, 1) = '6']"> |
666 |
<xsl:for-each select="marc:datafield[substring(@tag, 1, 1) = '6']"> |
|
Lines 625-647
Link Here
|
| 625 |
</span> |
714 |
</span> |
| 626 |
</xsl:if> |
715 |
</xsl:if> |
| 627 |
|
716 |
|
| 628 |
<!-- DDC classification --> |
|
|
| 629 |
<xsl:if test="marc:datafield[@tag=082]"> |
| 630 |
<span class="results_summary ddc"> |
| 631 |
<span class="label">DDC classification: </span> |
| 632 |
<xsl:for-each select="marc:datafield[@tag=082]"> |
| 633 |
<xsl:call-template name="subfieldSelect"> |
| 634 |
<xsl:with-param name="codes">a</xsl:with-param> |
| 635 |
</xsl:call-template> |
| 636 |
<xsl:choose> |
| 637 |
<xsl:when test="position()=last()"><xsl:text> </xsl:text></xsl:when> |
| 638 |
<xsl:otherwise> | </xsl:otherwise> |
| 639 |
</xsl:choose> |
| 640 |
</xsl:for-each> |
| 641 |
</span> |
| 642 |
</xsl:if> |
| 643 |
|
| 644 |
|
| 645 |
<!-- Image processing code added here, takes precedence over text links including y3z text --> |
717 |
<!-- Image processing code added here, takes precedence over text links including y3z text --> |
| 646 |
<xsl:if test="marc:datafield[@tag=856]"> |
718 |
<xsl:if test="marc:datafield[@tag=856]"> |
| 647 |
<span class="results_summary online_resources"><span class="label">Online resources: </span> |
719 |
<span class="results_summary online_resources"><span class="label">Online resources: </span> |
|
Lines 1042-1049
Link Here
|
| 1042 |
<xsl:param name="UseAuthoritiesForTracings" /> |
1114 |
<xsl:param name="UseAuthoritiesForTracings" /> |
| 1043 |
<xsl:param name="materialTypeLabel" /> |
1115 |
<xsl:param name="materialTypeLabel" /> |
| 1044 |
<xsl:param name="theme" /> |
1116 |
<xsl:param name="theme" /> |
|
|
1117 |
<xsl:if test="count($authorfield)>0"> |
| 1118 |
<!--#13382 Changed Additional author to contributor --> |
| 1119 |
<h5> |
| 1045 |
<xsl:for-each select="$authorfield"> |
1120 |
<xsl:for-each select="$authorfield"> |
| 1046 |
<xsl:choose><xsl:when test="position()!=1"><xsl:text>; </xsl:text></xsl:when></xsl:choose> |
1121 |
<xsl:choose> |
|
|
1122 |
<xsl:when test="position()>1"/> |
| 1123 |
<xsl:when test="@tag<700">by </xsl:when> |
| 1124 |
<!--#13382 Changed Additional author to contributor --> |
| 1125 |
<xsl:otherwise>Contributor(s): </xsl:otherwise> |
| 1126 |
</xsl:choose> |
| 1047 |
<xsl:choose> |
1127 |
<xsl:choose> |
| 1048 |
<xsl:when test="not(@tag=111 or @tag=711)" /> |
1128 |
<xsl:when test="not(@tag=111 or @tag=711)" /> |
| 1049 |
<xsl:when test="marc:subfield[@code='n']"> |
1129 |
<xsl:when test="marc:subfield[@code='n']"> |
|
Lines 1084-1104
Link Here
|
| 1084 |
</xsl:choose> |
1164 |
</xsl:choose> |
| 1085 |
<span property="name"> |
1165 |
<span property="name"> |
| 1086 |
<xsl:choose> |
1166 |
<xsl:choose> |
| 1087 |
<xsl:when test="@tag=100 or @tag=700"><xsl:call-template name="nameABCQ"/></xsl:when> |
1167 |
<xsl:when test="@tag=100"><xsl:call-template name="nameABCQ"/></xsl:when> |
| 1088 |
<xsl:when test="@tag=110 or @tag=710"><xsl:call-template name="nameABCDN"/></xsl:when> |
1168 |
<xsl:when test="@tag=110"><xsl:call-template name="nameABCDN"/></xsl:when> |
| 1089 |
<xsl:when test="@tag=111 or @tag=711"><xsl:call-template name="nameACDEQ"/></xsl:when> |
1169 |
<xsl:when test="@tag=111"><xsl:call-template name="nameACDEQ"/></xsl:when> |
|
|
1170 |
<!-- #13382 excludes 700$i and ind2=2, displayed as Related Works --> |
| 1171 |
<!--#13382 Added all relevant subfields 4, e, are handled separately --> |
| 1172 |
<xsl:when test="@tag=700 or @tag=710 or @tag=711"> |
| 1173 |
<xsl:variable name="str"> |
| 1174 |
<xsl:call-template name="subfieldSelect"> |
| 1175 |
<xsl:with-param name="codes">abcdfghiklmnoprstux</xsl:with-param> |
| 1176 |
</xsl:call-template> |
| 1177 |
</xsl:variable> |
| 1178 |
<xsl:call-template name="chopPunctuation"> |
| 1179 |
<xsl:with-param name="chopString"> |
| 1180 |
<xsl:value-of select="$str"/> |
| 1181 |
</xsl:with-param> |
| 1182 |
<xsl:with-param name="punctuation"> |
| 1183 |
<xsl:text>:,;/. </xsl:text> |
| 1184 |
</xsl:with-param> |
| 1185 |
</xsl:call-template> |
| 1186 |
</xsl:when> |
| 1090 |
</xsl:choose> |
1187 |
</xsl:choose> |
| 1091 |
</span></span></span> |
1188 |
</span></span></span> |
| 1092 |
<!-- add relator code too between brackets--> |
1189 |
<!-- #13382 If both $e and $4 are present only display $e --> |
| 1093 |
<xsl:if test="marc:subfield[@code='4' or @code='e']"> |
1190 |
<xsl:if test="marc:subfield[@code='4' or @code='e']"> |
| 1094 |
<span class="relatorcode"> |
1191 |
<xsl:if test="not(@tag=111 or @tag=711)"> |
| 1095 |
<xsl:text> [</xsl:text> |
1192 |
<span class="relatorcode"> |
| 1096 |
<xsl:choose> |
1193 |
<xsl:text> [</xsl:text> |
| 1097 |
<xsl:when test="marc:subfield[@code=4]"><xsl:value-of select="marc:subfield[@code=4]"/></xsl:when> |
1194 |
<xsl:choose> |
| 1098 |
<xsl:otherwise><xsl:value-of select="marc:subfield[@code='e']"/></xsl:otherwise> |
1195 |
<xsl:when test="marc:subfield[@code='e']"> |
| 1099 |
</xsl:choose> |
1196 |
<xsl:for-each select="marc:subfield[@code='e']"> |
| 1100 |
<xsl:text>]</xsl:text> |
1197 |
<xsl:value-of select="."/> |
| 1101 |
</span> |
1198 |
<xsl:if test="position() != last()"><xsl:text>, </xsl:text></xsl:if> |
|
|
1199 |
</xsl:for-each> |
| 1200 |
</xsl:when> |
| 1201 |
<xsl:otherwise> |
| 1202 |
<xsl:for-each select="marc:subfield[@code='4']"> |
| 1203 |
<xsl:value-of select="."/> |
| 1204 |
<xsl:if test="position() != last()"><xsl:text>, </xsl:text></xsl:if> |
| 1205 |
</xsl:for-each> |
| 1206 |
</xsl:otherwise> |
| 1207 |
</xsl:choose> |
| 1208 |
<xsl:text>]</xsl:text> |
| 1209 |
</span> |
| 1210 |
</xsl:if> |
| 1102 |
</xsl:if> |
1211 |
</xsl:if> |
| 1103 |
</a> |
1212 |
</a> |
| 1104 |
<xsl:if test="marc:subfield[@code=9]"> |
1213 |
<xsl:if test="marc:subfield[@code=9]"> |
|
Lines 1112-1119
Link Here
|
| 1112 |
</xsl:element> |
1221 |
</xsl:element> |
| 1113 |
</a> |
1222 |
</a> |
| 1114 |
</xsl:if> |
1223 |
</xsl:if> |
|
|
1224 |
<!--#13382 Changed separator to | --> |
| 1225 |
<xsl:choose> |
| 1226 |
<xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><span class="separator"><xsl:text> | </xsl:text></span></xsl:otherwise> |
| 1227 |
</xsl:choose> |
| 1115 |
</xsl:for-each> |
1228 |
</xsl:for-each> |
| 1116 |
<xsl:text>.</xsl:text> |
1229 |
</h5> |
|
|
1230 |
</xsl:if> |
| 1117 |
</xsl:template> |
1231 |
</xsl:template> |
| 1118 |
|
1232 |
|
| 1119 |
<xsl:template name="nameABCQ"> |
1233 |
<xsl:template name="nameABCQ"> |
|
Lines 1190-1193
Link Here
|
| 1190 |
</xsl:variable> |
1304 |
</xsl:variable> |
| 1191 |
<xsl:value-of select="substring($str,1,string-length($str)-1)"/> |
1305 |
<xsl:value-of select="substring($str,1,string-length($str)-1)"/> |
| 1192 |
</xsl:template> |
1306 |
</xsl:template> |
| 1193 |
</xsl:stylesheet> |
1307 |
</xsl:stylesheet> |
| 1194 |
- |
|
|