|
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 |
- |
|
|