如何选择要从关键功能返回的元素(XSLT)

时间:2018-07-31 13:22:11

标签: xml xslt key func

我的XML文件如下:

<Geometry>
   <Shapes>
    <Shape id="b1" author-id="a1">
        <width>First</width>
        <height>Shape</height>
        <color>Color</color>
     <Shape id="b2" author-id="a2">
        <width>Second</width>
        <height>Shape</height>
        <color>Color</color>
    </Shape>
</Shapes>
<Authors>
    <Author id="b1">
        <name>Andrew</name>
        <secondname>Coldwater</secondname>
        <tel>978-3-16-148410-0</tel>
    </Author>
    <Author id="b2">
        <name>Andrew</name>
        <secondname>Coolwater</secondname>
        <tel>9781-140-201</tel>
    </Author>
</Author>

我在使用时

<xsl:key name="exampleName" match="Author" use="@id"/> 

  <xsl:apply-templates select="key('exampleName', @author-id)" />

返回时,我拥有作者的所有属性。我需要做的只是接收名字和名字。也许是琐碎的问题,但我找不到答案...或者我不知道该怎么问:)

1 个答案:

答案 0 :(得分:0)

使用模板来匹配Author中的<xsl:apply-templates select="key('exampleName', @author-id)" />个元素。

喜欢

<xsl:template match="Author">
    <xsl:value-of select="name" />
    <xsl:value-of select="secondname" />
</xsl:template>