View | Details | Raw Unified | Return to bug 11758
Collapse All | Expand All

(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl (-6 / +58 lines)
Lines 91-96 Link Here
91
            </xsl:choose>
91
            </xsl:choose>
92
        </xsl:variable>
92
        </xsl:variable>
93
93
94
    <!-- Wrapper for schema.org structured data (RDFa) -->
95
    <div>
96
        <xsl:attribute name="vocab">http://schema.org/</xsl:attribute>
97
        <xsl:attribute name="typeof">
98
            <xsl:choose>
99
                <xsl:when test="$materialTypeLabel='Book'">Book</xsl:when>
100
                <xsl:when test="$materialTypeLabel='Map'">Map</xsl:when>
101
                <xsl:when test="$materialTypeLabel='Music'">MusicAlbum</xsl:when>
102
                <xsl:otherwise>CreativeWork</xsl:otherwise>
103
            </xsl:choose>
104
            <xsl:text> Product</xsl:text>
105
        </xsl:attribute>
106
        <xsl:attribute name="resource">#record</xsl:attribute>
107
94
        <!-- Title Statement -->
108
        <!-- Title Statement -->
95
        <!-- Alternate Graphic Representation (MARC 880) -->
109
        <!-- Alternate Graphic Representation (MARC 880) -->
96
        <xsl:if test="$display880">
110
        <xsl:if test="$display880">
Lines 103-109 Link Here
103
        </xsl:if>
117
        </xsl:if>
104
118
105
        <xsl:if test="marc:datafield[@tag=245]">
119
        <xsl:if test="marc:datafield[@tag=245]">
106
        <h1 class="title">
120
        <h1 class="title" property="name">
107
            <xsl:for-each select="marc:datafield[@tag=245]">
121
            <xsl:for-each select="marc:datafield[@tag=245]">
108
                    <xsl:call-template name="subfieldSelect">
122
                    <xsl:call-template name="subfieldSelect">
109
                        <xsl:with-param name="codes">a</xsl:with-param>
123
                        <xsl:with-param name="codes">a</xsl:with-param>
Lines 145-150 Link Here
145
                    <xsl:call-template name="showAuthor">
159
                    <xsl:call-template name="showAuthor">
146
                        <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]"/>
160
                        <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]"/>
147
                        <xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/>
161
                        <xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/>
162
                        <xsl:with-param name="materialTypeLabel" select="$materialTypeLabel"/>
148
                    </xsl:call-template>
163
                    </xsl:call-template>
149
                </h5>
164
                </h5>
150
            </xsl:when>
165
            </xsl:when>
Lines 308-327 Link Here
308
        <xsl:if test="marc:datafield[@tag=260]">
323
        <xsl:if test="marc:datafield[@tag=260]">
309
        <span class="results_summary publisher"><span class="label">Publisher: </span>
324
        <span class="results_summary publisher"><span class="label">Publisher: </span>
310
            <xsl:for-each select="marc:datafield[@tag=260]">
325
            <xsl:for-each select="marc:datafield[@tag=260]">
326
                <span property="publisher" typeof="Organization" resource="#publisher">
311
                <xsl:if test="marc:subfield[@code='a']">
327
                <xsl:if test="marc:subfield[@code='a']">
328
                    <span property="location">
312
                    <xsl:call-template name="subfieldSelect">
329
                    <xsl:call-template name="subfieldSelect">
313
                        <xsl:with-param name="codes">a</xsl:with-param>
330
                        <xsl:with-param name="codes">a</xsl:with-param>
314
                    </xsl:call-template>
331
                    </xsl:call-template>
332
                    </span>
315
                </xsl:if>
333
                </xsl:if>
316
                <xsl:text> </xsl:text>
334
                <xsl:text> </xsl:text>
317
                <xsl:if test="marc:subfield[@code='b']">
335
                <xsl:if test="marc:subfield[@code='b']">
318
                <a href="/cgi-bin/koha/opac-search.pl?q=pb:{marc:subfield[@code='b']}">
336
                <a href="/cgi-bin/koha/opac-search.pl?q=pb:{marc:subfield[@code='b']}">
337
                    <span resource="#publisher"><span property="name">
319
                    <xsl:call-template name="subfieldSelect">
338
                    <xsl:call-template name="subfieldSelect">
320
                        <xsl:with-param name="codes">b</xsl:with-param>
339
                        <xsl:with-param name="codes">b</xsl:with-param>
321
                    </xsl:call-template>
340
                    </xsl:call-template>
341
                    </span></span>
322
               </a>
342
               </a>
323
               </xsl:if>
343
               </xsl:if>
344
               </span>
324
               <xsl:text> </xsl:text>
345
               <xsl:text> </xsl:text>
346
               <span property="datePublished">
325
                <xsl:call-template name="chopPunctuation">
347
                <xsl:call-template name="chopPunctuation">
326
                  <xsl:with-param name="chopString">
348
                  <xsl:with-param name="chopString">
327
                    <xsl:call-template name="subfieldSelect">
349
                    <xsl:call-template name="subfieldSelect">
Lines 329-334 Link Here
329
                    </xsl:call-template>
351
                    </xsl:call-template>
330
                   </xsl:with-param>
352
                   </xsl:with-param>
331
               </xsl:call-template>
353
               </xsl:call-template>
354
               </span>
332
                    <xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
355
                    <xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
333
            </xsl:for-each>
356
            </xsl:for-each>
334
        </span>
357
        </span>
Lines 388-394 Link Here
388
        <span class="results_summary isbn"><span class="label">ISBN: </span>
411
        <span class="results_summary isbn"><span class="label">ISBN: </span>
389
        <xsl:for-each select="marc:datafield[@tag=020]">
412
        <xsl:for-each select="marc:datafield[@tag=020]">
390
        <xsl:variable name="isbn" select="marc:subfield[@code='a']"/>
413
        <xsl:variable name="isbn" select="marc:subfield[@code='a']"/>
391
                <xsl:value-of select="marc:subfield[@code='a']"/>
414
                <span property="isbn"><xsl:value-of select="marc:subfield[@code='a']"/></span>
392
                <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:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
393
        </xsl:for-each>
416
        </xsl:for-each>
394
        </span>
417
        </span>
Lines 397-403 Link Here
397
        <xsl:if test="marc:datafield[@tag=022]">
420
        <xsl:if test="marc:datafield[@tag=022]">
398
        <span class="results_summary issn"><span class="label">ISSN: </span>
421
        <span class="results_summary issn"><span class="label">ISSN: </span>
399
        <xsl:for-each select="marc:datafield[@tag=022]">
422
        <xsl:for-each select="marc:datafield[@tag=022]">
400
                <xsl:value-of select="marc:subfield[@code='a']"/>
423
                <span property="issn"><xsl:value-of select="marc:subfield[@code='a']"/></span>
401
                <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:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
402
        </xsl:for-each>
425
        </xsl:for-each>
403
        </span>
426
        </span>
Lines 441-446 Link Here
441
        <xsl:if test="marc:datafield[@tag=246]">
464
        <xsl:if test="marc:datafield[@tag=246]">
442
        <span class="results_summary other_title"><span class="label">Other title: </span>
465
        <span class="results_summary other_title"><span class="label">Other title: </span>
443
            <xsl:for-each select="marc:datafield[@tag=246]">
466
            <xsl:for-each select="marc:datafield[@tag=246]">
467
                <span property="alternateName">
444
                <xsl:call-template name="chopPunctuation">
468
                <xsl:call-template name="chopPunctuation">
445
                  <xsl:with-param name="chopString">
469
                  <xsl:with-param name="chopString">
446
                    <xsl:call-template name="subfieldSelect">
470
                    <xsl:call-template name="subfieldSelect">
Lines 448-453 Link Here
448
                    </xsl:call-template>
472
                    </xsl:call-template>
449
                   </xsl:with-param>
473
                   </xsl:with-param>
450
               </xsl:call-template>
474
               </xsl:call-template>
475
                </span>
451
                    <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
476
                    <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
452
            </xsl:for-each>
477
            </xsl:for-each>
453
        </span>
478
        </span>
Lines 522-527 Link Here
522
                <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=su<xsl:value-of select="$SubjectModifier"/>:<xsl:value-of select="$TracingQuotesLeft"/><xsl:value-of select="marc:subfield[@code='a']"/><xsl:value-of select="$TracingQuotesRight"/></xsl:attribute>
547
                <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=su<xsl:value-of select="$SubjectModifier"/>:<xsl:value-of select="$TracingQuotesLeft"/><xsl:value-of select="marc:subfield[@code='a']"/><xsl:value-of select="$TracingQuotesRight"/></xsl:attribute>
523
            </xsl:otherwise>
548
            </xsl:otherwise>
524
            </xsl:choose>
549
            </xsl:choose>
550
            <span resource="#record"><span property="keywords">
525
            <xsl:call-template name="chopPunctuation">
551
            <xsl:call-template name="chopPunctuation">
526
                <xsl:with-param name="chopString">
552
                <xsl:with-param name="chopString">
527
                    <xsl:call-template name="subfieldSelect">
553
                    <xsl:call-template name="subfieldSelect">
Lines 531-536 Link Here
531
                    </xsl:call-template>
557
                    </xsl:call-template>
532
                </xsl:with-param>
558
                </xsl:with-param>
533
            </xsl:call-template>
559
            </xsl:call-template>
560
            </span></span>
534
            </a>
561
            </a>
535
            <xsl:if test="marc:subfield[@code=9]">
562
            <xsl:if test="marc:subfield[@code=9]">
536
                <a class='authlink'>
563
                <a class='authlink'>
Lines 628-634 Link Here
628
            </xsl:otherwise>
655
            </xsl:otherwise>
629
            </xsl:choose>
656
            </xsl:choose>
630
        </xsl:if>
657
        </xsl:if>
631
        <div class='contentblock'>
658
        <div class='contentblock' property="description">
632
        <xsl:choose>
659
        <xsl:choose>
633
        <xsl:when test="@ind2=0">
660
        <xsl:when test="@ind2=0">
634
            <xsl:call-template name="subfieldSelectSpan">
661
            <xsl:call-template name="subfieldSelectSpan">
Lines 743-751 Link Here
743
            <span class="results_summary diss_note">
770
            <span class="results_summary diss_note">
744
                <span class="label">Dissertation note: </span>
771
                <span class="label">Dissertation note: </span>
745
                <xsl:for-each select="marc:datafield[@tag=502]">
772
                <xsl:for-each select="marc:datafield[@tag=502]">
773
                    <span property="description">
746
                    <xsl:call-template name="subfieldSelect">
774
                    <xsl:call-template name="subfieldSelect">
747
                        <xsl:with-param name="codes">abcdgo</xsl:with-param>
775
                        <xsl:with-param name="codes">abcdgo</xsl:with-param>
748
                    </xsl:call-template>
776
                    </xsl:call-template>
777
                    </span>
749
                </xsl:for-each>
778
                </xsl:for-each>
750
                <xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><xsl:text> </xsl:text></xsl:otherwise></xsl:choose>
779
                <xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><xsl:text> </xsl:text></xsl:otherwise></xsl:choose>
751
            </span>
780
            </span>
Lines 762-771 Link Here
762
          <xsl:otherwise><xsl:text>Summary: </xsl:text></xsl:otherwise>
791
          <xsl:otherwise><xsl:text>Summary: </xsl:text></xsl:otherwise>
763
        </xsl:choose>
792
        </xsl:choose>
764
        </span>
793
        </span>
794
        <span property="description">
765
        <xsl:call-template name="subfieldSelect">
795
        <xsl:call-template name="subfieldSelect">
766
          <xsl:with-param name="codes">abcu</xsl:with-param>
796
          <xsl:with-param name="codes">abcu</xsl:with-param>
767
        </xsl:call-template>
797
        </xsl:call-template>
768
        </span>
798
        </span></span>
769
        </xsl:for-each>
799
        </xsl:for-each>
770
800
771
        <!-- 866 textual holdings -->
801
        <!-- 866 textual holdings -->
Lines 938-948 Link Here
938
        </xsl:for-each>
968
        </xsl:for-each>
939
        </xsl:if>
969
        </xsl:if>
940
970
971
        </div>
941
    </xsl:template>
972
    </xsl:template>
942
973
943
    <xsl:template name="showAuthor">
974
    <xsl:template name="showAuthor">
944
        <xsl:param name="authorfield" />
975
        <xsl:param name="authorfield" />
945
        <xsl:param name="UseAuthoritiesForTracings" />
976
        <xsl:param name="UseAuthoritiesForTracings" />
977
        <xsl:param name="materialTypeLabel" />
946
        <xsl:for-each select="$authorfield">
978
        <xsl:for-each select="$authorfield">
947
            <xsl:choose><xsl:when test="position()!=1"><xsl:text>; </xsl:text></xsl:when></xsl:choose>
979
            <xsl:choose><xsl:when test="position()!=1"><xsl:text>; </xsl:text></xsl:when></xsl:choose>
948
            <xsl:choose>
980
            <xsl:choose>
Lines 964-974 Link Here
964
                        <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
996
                        <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
965
                    </xsl:otherwise>
997
                    </xsl:otherwise>
966
                </xsl:choose>
998
                </xsl:choose>
999
                <span resource="#record"><span>
1000
                    <xsl:choose>
1001
                        <xsl:when test="substring(@tag, 1, 1)='1'">
1002
                            <xsl:choose>
1003
                                <xsl:when test="$materialTypeLabel='Music'"><xsl:attribute name="property">byArtist</xsl:attribute></xsl:when>
1004
                                <xsl:otherwise><xsl:attribute name="property">author</xsl:attribute></xsl:otherwise>
1005
                            </xsl:choose>
1006
                        </xsl:when>
1007
                        <xsl:otherwise><xsl:attribute name="property">contributor</xsl:attribute></xsl:otherwise>
1008
                    </xsl:choose>
1009
                    <xsl:choose>
1010
                        <xsl:when test="substring(@tag, 2, 1)='0'">
1011
                            <xsl:choose>
1012
                                <xsl:when test="$materialTypeLabel='Music'"><xsl:attribute name="typeof">MusicGroup</xsl:attribute></xsl:when>
1013
                                <xsl:otherwise><xsl:attribute name="typeof">Person</xsl:attribute></xsl:otherwise>
1014
                            </xsl:choose>
1015
                        </xsl:when>
1016
                        <xsl:otherwise><xsl:attribute name="typeof">Organization</xsl:attribute></xsl:otherwise>
1017
                    </xsl:choose>
1018
                <span property="name">
967
                <xsl:choose>
1019
                <xsl:choose>
968
                    <xsl:when test="@tag=100 or @tag=700"><xsl:call-template name="nameABCDQ"/></xsl:when>
1020
                    <xsl:when test="@tag=100 or @tag=700"><xsl:call-template name="nameABCDQ"/></xsl:when>
969
                    <xsl:when test="@tag=110 or @tag=710"><xsl:call-template name="nameABCDN"/></xsl:when>
1021
                    <xsl:when test="@tag=110 or @tag=710"><xsl:call-template name="nameABCDN"/></xsl:when>
970
                    <xsl:when test="@tag=111 or @tag=711"><xsl:call-template name="nameACDEQ"/></xsl:when>
1022
                    <xsl:when test="@tag=111 or @tag=711"><xsl:call-template name="nameACDEQ"/></xsl:when>
971
                </xsl:choose>
1023
                </xsl:choose>
1024
                </span></span></span>
972
                <!-- add relator code too between brackets-->
1025
                <!-- add relator code too between brackets-->
973
                <xsl:if test="marc:subfield[@code='4' or @code='e']">
1026
                <xsl:if test="marc:subfield[@code='4' or @code='e']">
974
                    <span class="relatorcode">
1027
                    <span class="relatorcode">
975
- 

Return to bug 11758