gpt4 book ai didi

xml - xsl 标识符以索引相关性

转载 作者:行者123 更新时间:2023-12-04 06:00:07 26 4
gpt4 key购买 nike

我有一个 xml,其中包含人员列表、他们的数据库 ID 以及他们之间的关系列表。它看起来像这样:

<root>
<person>
<id>1000</id>
<name>p1</name>
</person>
<person>
<id>1001</id>
<name>p2</name>
</person>
<rel>
<personid>1001</personid>
<personid>1000</personid>
</rel>
</root>

我想使用 xslt 1.0 从 java 生成,如下:
person 2 relates to person 1.

逻辑是根据它在xml中出现的顺序显示人员的索引。

我目前的想法:
  • 在java中预处理xml并将映射作为参数发送到具有[person_id,person_index]的xsl,然后对于每个关系从person_id获取person_index
  • 在 xsl 中创建一个 xpath,通过给定的 id 找到一个人的索引(虽然我不知道为此构建一个 xpath)
  • 在java中预处理并构造映射,将其放置在一个ThreadLocal变量中,然后从xsl调用另一个使用此ThreadLocal的方法从person id中获取person索引

  • 任何其他想法,希望更简单,非常感谢。

    谢谢!

    最佳答案

    不需要 Java 预处理或映射。

    <xsl:key name="kPersonById" match="person" use="id" />

    <xsl:template match="rel">
    <xsl:text>Person </xsl:text>
    <xsl:value-of select="key('kPersonById', personid[1])/name" />
    <xsl:text> relates to </xsl:text>
    <xsl:value-of select="key('kPersonById', personid[2])/name" />
    <xsl:text>.&#10;</xsl:text>
    </xsl:template>

    这将为每个 <rel> 生成一行文本有。这不是一个完整的样式表,剩下的就交给你了。

    关于xml - xsl 标识符以索引相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9011922/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com