Lines 517-613
Link Here
|
517 |
<xsl:choose> |
517 |
<xsl:choose> |
518 |
<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]"> |
518 |
<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]"> |
519 |
|
519 |
|
520 |
<span class="byAuthor">by </span> |
520 |
<span class="byAuthor">by</span><xsl:text> </xsl:text> |
521 |
<ul class="author resource_list"> |
521 |
<ul class="author resource_list"> |
522 |
<!-- #13383 --> |
522 |
<!-- #13383 --> |
523 |
<xsl:for-each select="marc:datafield[(@tag=100 or @tag=700 or @tag=110 or @tag=710 or @tag=111 or @tag=711) and @ind1!='z']"> |
523 |
<xsl:for-each select="marc:datafield[(@tag=100 or @tag=700 or @tag=110 or @tag=710 or @tag=111 or @tag=711) and @ind1!='z']"> |
524 |
<li> |
524 |
<li> |
525 |
<xsl:call-template name="chopPunctuation"> |
525 |
<a> |
526 |
<xsl:with-param name="chopString"> |
|
|
527 |
<xsl:call-template name="subfieldSelect"> |
528 |
<xsl:with-param name="codes"> |
529 |
<xsl:choose> |
530 |
<!-- #13383 include subfield e for field 111 --> |
531 |
<xsl:when test="@tag=111 or @tag=711">aeq</xsl:when> |
532 |
<xsl:when test="@tag=110 or @tag=710">ab</xsl:when> |
533 |
<xsl:otherwise>abcjq</xsl:otherwise> |
534 |
</xsl:choose> |
535 |
</xsl:with-param> |
536 |
</xsl:call-template> |
537 |
</xsl:with-param> |
538 |
<xsl:with-param name="punctuation"> |
539 |
<xsl:text>:,;/ </xsl:text> |
540 |
</xsl:with-param> |
541 |
</xsl:call-template> |
542 |
<!-- Display title portion for 110 and 710 fields --> |
543 |
<xsl:if test="(@tag=110 or @tag=710) and boolean(marc:subfield[@code='c' or @code='d' or @code='n' or @code='t'])"> |
544 |
<span class="titleportion"> |
545 |
<xsl:choose> |
546 |
<xsl:when test="marc:subfield[@code='c' or @code='d' or @code='n'][not(marc:subfield[@code='t'])]"><xsl:text> </xsl:text></xsl:when> |
547 |
<xsl:otherwise><xsl:text>. </xsl:text></xsl:otherwise> |
548 |
</xsl:choose> |
549 |
<xsl:call-template name="chopPunctuation"> |
550 |
<xsl:with-param name="chopString"> |
551 |
<xsl:call-template name="subfieldSelect"> |
552 |
<xsl:with-param name="codes">cdnt</xsl:with-param> |
553 |
</xsl:call-template> |
554 |
</xsl:with-param> |
555 |
</xsl:call-template> |
556 |
</span> |
557 |
</xsl:if> |
558 |
<!-- Display title portion for 111 and 711 fields --> |
559 |
<xsl:if test="(@tag=111 or @tag=711) and boolean(marc:subfield[@code='c' or @code='d' or @code='g' or @code='n' or @code='t'])"> |
560 |
<span class="titleportion"> |
561 |
<xsl:choose> |
526 |
<xsl:choose> |
562 |
<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> |
527 |
<xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'"> |
563 |
<xsl:otherwise><xsl:text>. </xsl:text></xsl:otherwise> |
528 |
<xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="str:encode-uri(marc:subfield[@code=9], true())"/></xsl:attribute> |
|
|
529 |
</xsl:when> |
530 |
<xsl:otherwise> |
531 |
<xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:"<xsl:value-of select="str:encode-uri(marc:subfield[@code='a'], true())"/>"</xsl:attribute> |
532 |
</xsl:otherwise> |
564 |
</xsl:choose> |
533 |
</xsl:choose> |
565 |
|
|
|
566 |
<xsl:call-template name="chopPunctuation"> |
534 |
<xsl:call-template name="chopPunctuation"> |
567 |
<xsl:with-param name="chopString"> |
535 |
<xsl:with-param name="chopString"> |
568 |
<xsl:call-template name="subfieldSelect"> |
536 |
<xsl:call-template name="subfieldSelect"> |
569 |
<xsl:with-param name="codes">cdgnt</xsl:with-param> |
537 |
<xsl:with-param name="codes"> |
570 |
</xsl:call-template> |
538 |
<xsl:choose> |
|
|
539 |
<!-- #13383 include subfield e for field 111 --> |
540 |
<xsl:when test="@tag=111 or @tag=711">aeq</xsl:when> |
541 |
<xsl:when test="@tag=110 or @tag=710">ab</xsl:when> |
542 |
<xsl:otherwise>abcjq</xsl:otherwise> |
543 |
</xsl:choose> |
544 |
</xsl:with-param> |
545 |
</xsl:call-template> |
546 |
</xsl:with-param> |
547 |
<xsl:with-param name="punctuation"> |
548 |
<xsl:text>:,;/ </xsl:text> |
571 |
</xsl:with-param> |
549 |
</xsl:with-param> |
572 |
</xsl:call-template> |
550 |
</xsl:call-template> |
573 |
</span> |
551 |
<!-- Display title portion for 110 and 710 fields --> |
574 |
</xsl:if> |
552 |
<xsl:if test="(@tag=110 or @tag=710) and boolean(marc:subfield[@code='c' or @code='d' or @code='n' or @code='t'])"> |
575 |
<!-- Display dates for 100 and 700 fields --> |
553 |
<span class="titleportion"> |
576 |
<xsl:if test="(@tag=100 or @tag=700) and marc:subfield[@code='d']"> |
554 |
<xsl:choose> |
577 |
<span class="authordates"> |
555 |
<xsl:when test="marc:subfield[@code='c' or @code='d' or @code='n'][not(marc:subfield[@code='t'])]"><xsl:text> </xsl:text></xsl:when> |
578 |
<xsl:text>, </xsl:text> |
556 |
<xsl:otherwise><xsl:text>. </xsl:text></xsl:otherwise> |
579 |
<xsl:call-template name="chopPunctuation"> |
557 |
</xsl:choose> |
580 |
<xsl:with-param name="chopString"> |
558 |
<xsl:call-template name="chopPunctuation"> |
581 |
<xsl:call-template name="subfieldSelect"> |
559 |
<xsl:with-param name="chopString"> |
582 |
<xsl:with-param name="codes">d</xsl:with-param> |
560 |
<xsl:call-template name="subfieldSelect"> |
|
|
561 |
<xsl:with-param name="codes">cdnt</xsl:with-param> |
562 |
</xsl:call-template> |
563 |
</xsl:with-param> |
583 |
</xsl:call-template> |
564 |
</xsl:call-template> |
584 |
</xsl:with-param> |
565 |
</span> |
585 |
</xsl:call-template> |
566 |
</xsl:if> |
586 |
</span> |
567 |
<!-- Display title portion for 111 and 711 fields --> |
587 |
</xsl:if> |
568 |
<xsl:if test="(@tag=111 or @tag=711) and boolean(marc:subfield[@code='c' or @code='d' or @code='g' or @code='n' or @code='t'])"> |
588 |
<!-- Display title portion for 100 and 700 fields --> |
569 |
<span class="titleportion"> |
589 |
<xsl:if test="@tag=700 and marc:subfield[@code='t']"> |
570 |
<xsl:choose> |
590 |
<span class="titleportion"> |
571 |
<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> |
591 |
<xsl:text>. </xsl:text> |
572 |
<xsl:otherwise><xsl:text>. </xsl:text></xsl:otherwise> |
592 |
<xsl:call-template name="chopPunctuation"> |
573 |
</xsl:choose> |
593 |
<xsl:with-param name="chopString"> |
574 |
|
594 |
<xsl:call-template name="subfieldSelect"> |
575 |
<xsl:call-template name="chopPunctuation"> |
595 |
<xsl:with-param name="codes">t</xsl:with-param> |
576 |
<xsl:with-param name="chopString"> |
|
|
577 |
<xsl:call-template name="subfieldSelect"> |
578 |
<xsl:with-param name="codes">cdgnt</xsl:with-param> |
579 |
</xsl:call-template> |
580 |
</xsl:with-param> |
581 |
</xsl:call-template> |
582 |
</span> |
583 |
</xsl:if> |
584 |
<!-- Display dates for 100 and 700 fields --> |
585 |
<xsl:if test="(@tag=100 or @tag=700) and marc:subfield[@code='d']"> |
586 |
<span class="authordates"> |
587 |
<xsl:text>, </xsl:text> |
588 |
<xsl:call-template name="chopPunctuation"> |
589 |
<xsl:with-param name="chopString"> |
590 |
<xsl:call-template name="subfieldSelect"> |
591 |
<xsl:with-param name="codes">d</xsl:with-param> |
592 |
</xsl:call-template> |
593 |
</xsl:with-param> |
596 |
</xsl:call-template> |
594 |
</xsl:call-template> |
597 |
</xsl:with-param> |
595 |
</span> |
598 |
</xsl:call-template> |
596 |
</xsl:if> |
599 |
</span> |
597 |
<!-- Display title portion for 100 and 700 fields --> |
600 |
</xsl:if> |
598 |
<xsl:if test="@tag=700 and marc:subfield[@code='t']"> |
601 |
<!-- Display relators for 1XX and 7XX fields --> |
599 |
<span class="titleportion"> |
602 |
<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'][. != ''])"> |
600 |
<xsl:text>. </xsl:text> |
603 |
<span class="relatorcode"> |
601 |
<xsl:call-template name="chopPunctuation"> |
604 |
<xsl:text> [</xsl:text> |
602 |
<xsl:with-param name="chopString"> |
605 |
<xsl:choose> |
603 |
<xsl:call-template name="subfieldSelect"> |
606 |
<xsl:when test="@tag=111 or @tag=711"> |
604 |
<xsl:with-param name="codes">t</xsl:with-param> |
|
|
605 |
</xsl:call-template> |
606 |
</xsl:with-param> |
607 |
</xsl:call-template> |
608 |
</span> |
609 |
</xsl:if> |
610 |
<!-- Display relators for 1XX and 7XX fields --> |
611 |
<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'][. != ''])"> |
612 |
<span class="relatorcode"> |
613 |
<xsl:text> [</xsl:text> |
607 |
<xsl:choose> |
614 |
<xsl:choose> |
608 |
<!-- Prefer j over 4 for 111 and 711 --> |
615 |
<xsl:when test="@tag=111 or @tag=711"> |
609 |
<xsl:when test="marc:subfield[@code='j']"> |
616 |
<xsl:choose> |
610 |
<xsl:for-each select="marc:subfield[@code='j']"> |
617 |
<!-- Prefer j over 4 for 111 and 711 --> |
|
|
618 |
<xsl:when test="marc:subfield[@code='j']"> |
619 |
<xsl:for-each select="marc:subfield[@code='j']"> |
620 |
<xsl:value-of select="."/> |
621 |
<xsl:if test="position() != last()">, </xsl:if> |
622 |
</xsl:for-each> |
623 |
</xsl:when> |
624 |
<xsl:otherwise> |
625 |
<xsl:for-each select="marc:subfield[@code=4]"> |
626 |
<xsl:value-of select="."/> |
627 |
<xsl:if test="position() != last()">, </xsl:if> |
628 |
</xsl:for-each> |
629 |
</xsl:otherwise> |
630 |
</xsl:choose> |
631 |
</xsl:when> |
632 |
<!-- Prefer e over 4 on 100 and 110 --> |
633 |
<xsl:when test="marc:subfield[@code='e']"> |
634 |
<xsl:for-each select="marc:subfield[@code='e'][not(@tag=111) or not(@tag=711)]"> |
611 |
<xsl:value-of select="."/> |
635 |
<xsl:value-of select="."/> |
612 |
<xsl:if test="position() != last()">, </xsl:if> |
636 |
<xsl:if test="position() != last()">, </xsl:if> |
613 |
</xsl:for-each> |
637 |
</xsl:for-each> |
Lines 619-642
Link Here
|
619 |
</xsl:for-each> |
643 |
</xsl:for-each> |
620 |
</xsl:otherwise> |
644 |
</xsl:otherwise> |
621 |
</xsl:choose> |
645 |
</xsl:choose> |
622 |
</xsl:when> |
646 |
<xsl:text>]</xsl:text> |
623 |
<!-- Prefer e over 4 on 100 and 110 --> |
647 |
</span> |
624 |
<xsl:when test="marc:subfield[@code='e']"> |
648 |
</xsl:if> |
625 |
<xsl:for-each select="marc:subfield[@code='e'][not(@tag=111) or not(@tag=711)]"> |
649 |
</a> |
626 |
<xsl:value-of select="."/> |
|
|
627 |
<xsl:if test="position() != last()">, </xsl:if> |
628 |
</xsl:for-each> |
629 |
</xsl:when> |
630 |
<xsl:otherwise> |
631 |
<xsl:for-each select="marc:subfield[@code=4]"> |
632 |
<xsl:value-of select="."/> |
633 |
<xsl:if test="position() != last()">, </xsl:if> |
634 |
</xsl:for-each> |
635 |
</xsl:otherwise> |
636 |
</xsl:choose> |
637 |
<xsl:text>]</xsl:text> |
638 |
</span> |
639 |
</xsl:if> |
640 |
</li> |
650 |
</li> |
641 |
</xsl:for-each> |
651 |
</xsl:for-each> |
642 |
</ul> |
652 |
</ul> |
643 |
- |
|
|