首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当有多个叔叔时,XSL会找到正确的叔叔

当有多个叔叔时,XSL会找到正确的叔叔
EN

Stack Overflow用户
提问于 2016-07-21 20:33:36
回答 0查看 46关注 0票数 0

我有这个XML (大大简化了)

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="uncle.xsl"?>
<report>
<title>Bibliography</title>
<dateCreated>2016-07-21T10:33:22</dateCreated>
<dateFormat>yyyy/mm/dd</dateFormat>
    <catalog>
        <marc>
            <marcEntry tag="245" label="Title" ind="00">Title 1</marcEntry>
        </marc>
        <call>
            <callNumber>Call_1_VALLA</callNumber>
            <item>
                <itemID>item_1_VALLA</itemID>
            </item>
        </call>
        <call>
            <callNumber>Call_2_VALLA</callNumber>
            <item>
                <itemID>item_2_VALLA</itemID>
            </item>
            <item>
                <itemID>item_2_2_VALLA</itemID>
            </item>
        </call>
        <call>
            <callNumber>Call_3_CNB</callNumber>
            <item>
                <itemID>item_3_CNB</itemID>
            </item>
        </call>
    </catalog>
    <catalog>
        <marc>
            <marcEntry tag="245" label="Title" ind="04">Title 2</marcEntry>
        </marc>
        <call>
            <callNumber>Call_4_VALLA</callNumber>
            <item>
                <itemID>item_4-VALLA</itemID>
            </item>
        </call>
        <call>
            <callNumber>Call_5_CNB</callNumber>
            <item>
                <itemID>item_5_CNB</itemID>
            </item>
            <item>
                <itemID>item_5_2_CNB</itemID>
            </item>
        </call>
    </catalog>
</report>

我希望将每个标题与最接近的前面的“itemID”(callNumber)组合在一起,这样我就可以得到一个类似下面这样的列表: Title 1 Call_1_VALLA item_1_VALLA

标题1 Call_2_VALLA item_2_VALLA

标题1 Call_2_VALLA item_2_2_VALLA

标题1 Call_3_CNB item_3_CNB

Title 2 Call_4_VALLA item_4-VALLA

标题2 Call_5_CNB item_5_CNB

标题2 Call_5_CNB item_5_2_CNB

我创建了一个样式表-但是,它选择了第一个叔叔,而不是最近的前一个。

标题1 Call_1_VALLA item_1_VALLA

标题1 Call_1_VALLA item_2_VALLA

标题1 Call_1_VALLA item_2_2_VALLA

标题1 Call_1_VALLA item_3_CNB

Title 2 Call_4_VALLA item_4-VALLA

标题2 Call_4_VALLA item_5_CNB

标题2 Call_4_VALLA item_5_2_CNB

这些都是我的样式表的相关部分--需要改进的地方是什么?

代码语言:javascript
复制
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>


<xsl:template match="/">
    <catalog>

        <xsl:for-each select="report/catalog/call/item">

                        <itemline>
                            <Title><xsl:value-of select="../../marc/marcEntry[@tag='245']"/></Title>
                            <callNumber><xsl:value-of select="../../call/callNumber"/></callNumber>
                            <itemID><xsl:value-of select="itemID"/></itemID>
                        </itemline>

        </xsl:for-each>
    </catalog>
</xsl:template>

</xsl:stylesheet>
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38504436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档