Xml XSLT选项选择器

Xml XSLT选项选择器,xml,xslt,Xml,Xslt,当遇到 <entity1> <name>2345</name> <type notNull="1" size="normal">select</type> <value>D</value> <options> <option /> <option> <value>A</va

当遇到

<entity1>
    <name>2345</name>
    <type notNull="1" size="normal">select</type>
    <value>D</value>
    <options>
        <option />
        <option>
            <value>A</value>
            <show>Alpha</show>
        </option>
        <option>
            <value>B</value>
            <show>Beta</show>
        </option>
        <option>
            <value>G</value>
            <show>Gamma</show>
        </option>
        <option>
            <value>D</value>
            <show>Delta</show>
            <selected />
        </option>
</entity1>

2345
选择
D
A.
阿尔法
B
贝塔
G
伽马射线
D
三角洲
如何从entity1中提取“增量”,基于值或“”标记进行加工

谢谢

您可以使用,如下所示:

   <xsl:template match="/entity1">
      <xsl:variable name="selected" select="value"></xsl:variable>
      <xsl:value-of select="options/option[value=$selected]/show"/>
   </xsl:template>

对于批量查找,更好的选择是使用


假设当前上下文节点是您可以使用的
实体1

<xsl:value-of select="options/option[selected]/show" />

根据
元素的存在查找,或

<xsl:value-of select="options/option[value=current()/value]/show"/>

要在匹配
的基础上找到它(函数
current()
为您提供当前上下文节点,即
顶层的
选择
表达式,在本例中选择
实体1

<xsl:value-of select="options/option[value=current()/value]/show"/>