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

(-)a/etc/zebradb/xsl/koha-indexdefs-to-zebra.xsl (-1 / +37 lines)
Lines 15-20 Link Here
15
    <xsl:key name="index_control_field_tag"   match="kohaidx:index_control_field"   use="@tag"/>
15
    <xsl:key name="index_control_field_tag"   match="kohaidx:index_control_field"   use="@tag"/>
16
    <xsl:key name="index_subfields_tag" match="kohaidx:index_subfields" use="@tag"/>
16
    <xsl:key name="index_subfields_tag" match="kohaidx:index_subfields" use="@tag"/>
17
    <xsl:key name="index_heading_tag"   match="kohaidx:index_heading"   use="@tag"/>
17
    <xsl:key name="index_heading_tag"   match="kohaidx:index_heading"   use="@tag"/>
18
    <xsl:key name="index_data_field_tag"   match="kohaidx:index_data_field"   use="@tag"/>
18
    <xsl:key name="index_match_heading_tag" match="kohaidx:index_match_heading" use="@tag"/>
19
    <xsl:key name="index_match_heading_tag" match="kohaidx:index_match_heading" use="@tag"/>
19
20
20
    <xsl:template match="kohaidx:index_defs">
21
    <xsl:template match="kohaidx:index_defs">
Lines 30-35 authority-zebra-indexdefs.xsl` (substituting the appropriate file names). Link Here
30
            <xslo:output indent="yes" method="xml" version="1.0" encoding="UTF-8"/>
31
            <xslo:output indent="yes" method="xml" version="1.0" encoding="UTF-8"/>
31
            <xslo:template match="text()"/>
32
            <xslo:template match="text()"/>
32
            <xslo:template match="text()" mode="index_subfields"/>
33
            <xslo:template match="text()" mode="index_subfields"/>
34
            <xslo:template match="text()" mode="index_data_field"/>
33
            <xslo:template match="text()" mode="index_heading"/>
35
            <xslo:template match="text()" mode="index_heading"/>
34
            <xslo:template match="text()" mode="index_match_heading"/>
36
            <xslo:template match="text()" mode="index_match_heading"/>
35
            <xslo:template match="text()" mode="index_subject_thesaurus"/>
37
            <xslo:template match="text()" mode="index_subject_thesaurus"/>
Lines 50-55 authority-zebra-indexdefs.xsl` (substituting the appropriate file names). Link Here
50
                    <xslo:attribute name="z:id"><xslo:value-of select="$controlField001"/></xslo:attribute>
52
                    <xslo:attribute name="z:id"><xslo:value-of select="$controlField001"/></xslo:attribute>
51
                    <xslo:apply-templates/>
53
                    <xslo:apply-templates/>
52
                    <xslo:apply-templates mode="index_subfields"/>
54
                    <xslo:apply-templates mode="index_subfields"/>
55
                    <xslo:apply-templates mode="index_data_field"/>
53
                    <xslo:apply-templates mode="index_heading"/>
56
                    <xslo:apply-templates mode="index_heading"/>
54
                    <xslo:apply-templates mode="index_match_heading"/>
57
                    <xslo:apply-templates mode="index_match_heading"/>
55
                    <xslo:apply-templates mode="index_subject_thesaurus"/>
58
                    <xslo:apply-templates mode="index_subject_thesaurus"/>
Lines 59-64 authority-zebra-indexdefs.xsl` (substituting the appropriate file names). Link Here
59
            <xsl:call-template name="handle-index-leader"/>
62
            <xsl:call-template name="handle-index-leader"/>
60
            <xsl:call-template name="handle-index-control-field"/>
63
            <xsl:call-template name="handle-index-control-field"/>
61
            <xsl:call-template name="handle-index-subfields"/>
64
            <xsl:call-template name="handle-index-subfields"/>
65
            <xsl:call-template name="handle-index-data-field"/>
62
            <xsl:call-template name="handle-index-heading"/>
66
            <xsl:call-template name="handle-index-heading"/>
63
            <xsl:call-template name="handle-index-match-heading"/>
67
            <xsl:call-template name="handle-index-match-heading"/>
64
            <xsl:apply-templates/>
68
            <xsl:apply-templates/>
Lines 260-265 authority-zebra-indexdefs.xsl` (substituting the appropriate file names). Link Here
260
            </xslo:for-each>
264
            </xslo:for-each>
261
    </xsl:template>
265
    </xsl:template>
262
266
267
    <xsl:template name="handle-index-data-field">
268
        <xsl:for-each select="//kohaidx:index_data_field[generate-id() = generate-id(key('index_data_field_tag', @tag)[1])]">
269
            <xslo:template mode="index_data_field">
270
                <xsl:attribute name="match">
271
                    <xsl:text>marc:datafield[@tag='</xsl:text>
272
                    <xsl:value-of select="@tag"/>
273
                    <xsl:text>']</xsl:text>
274
                </xsl:attribute>
275
                <xsl:for-each select="key('index_data_field_tag', @tag)">
276
                    <xsl:call-template name="handle-one-data-field"/>
277
                </xsl:for-each>
278
            </xslo:template>
279
        </xsl:for-each>
280
    </xsl:template>
281
282
    <xsl:template name="handle-one-data-field">
283
        <xsl:variable name="indexes">
284
            <xsl:call-template name="get-target-indexes"/>
285
        </xsl:variable>
286
        <z:index>
287
            <xsl:attribute name="name"><xsl:value-of select="normalize-space($indexes)"/></xsl:attribute>
288
            <xslo:variable name="raw_heading">
289
                <xslo:for-each select="marc:subfield">
290
                        <xslo:if test="position() > 1">
291
                            <xslo:value-of select="substring(' ', 1, 1)"/> <!-- FIXME surely there's a better way  to specify a space -->
292
                        </xslo:if>
293
                        <xslo:value-of select="."/>
294
                </xslo:for-each>
295
            </xslo:variable>
296
            <xslo:value-of select="normalize-space($raw_heading)"/>
297
        </z:index>
298
    </xsl:template>
299
263
    <xsl:template name="handle-index-heading">
300
    <xsl:template name="handle-index-heading">
264
        <xsl:for-each select="//kohaidx:index_heading[generate-id() = generate-id(key('index_heading_tag', @tag)[1])]">
301
        <xsl:for-each select="//kohaidx:index_heading[generate-id() = generate-id(key('index_heading_tag', @tag)[1])]">
265
            <xslo:template mode="index_heading">
302
            <xslo:template mode="index_heading">
266
- 

Return to bug 7818