XSLT key statement return a group and i cannot separate 结果
XSLT key statement return a group and i can not separate the result
我有一个问题,我需要你帮助解决以下 XML 示例。
<A>
<B Name="Alpha">
<C>
<D>
<E Nr="1" Wert="A"/>
<E Nr="2" Wert="B"/>
<E Nr="3" Wert="C"/>
<E Nr="4" Wert="D"/>
</D>
<F Name="Fo" E_Nr="3"/>
</C>
</B>
<B Name="Beta">
<C>
<D>
<E Nr="1" Wert="E"/>
<E Nr="2" Wert="F"/>
<E Nr="3" Wert="G"/>
<E Nr="4" Wert="H"/>
</D>
<F Name="Bar" E_Nr="2"/>
</C>
</B>
转换后的结果应该是下面的文字。
Fo C
Bar F
在我的 XSLT 中,我使用了键语句,但我得到了不止一个键 link 的结果。
<xsl:key name="test" match="//E" use="@Nr"/>
为了区分子树我想使用来自B的属性。
所以我的结果是:
Fo C
Bar C
但是我觉得有必要使用key因为in D可以在千个E节点里面
是否可以使用 XSLT 有效地解决这个问题?
谢谢你的帮助!
要限制键为当前B
元素,定义为:
<xsl:key name="e" match="E" use="concat(@Nr, '|', generate-id(ancestor::B))" />
然后从 F
的上下文中将其调用为:
<xsl:value-of select="key('e', concat(@E_Nr, '|', generate-id(ancestor::B)))/@Wert"/>
我有一个问题,我需要你帮助解决以下 XML 示例。
<A>
<B Name="Alpha">
<C>
<D>
<E Nr="1" Wert="A"/>
<E Nr="2" Wert="B"/>
<E Nr="3" Wert="C"/>
<E Nr="4" Wert="D"/>
</D>
<F Name="Fo" E_Nr="3"/>
</C>
</B>
<B Name="Beta">
<C>
<D>
<E Nr="1" Wert="E"/>
<E Nr="2" Wert="F"/>
<E Nr="3" Wert="G"/>
<E Nr="4" Wert="H"/>
</D>
<F Name="Bar" E_Nr="2"/>
</C>
</B>
转换后的结果应该是下面的文字。
Fo C
Bar F
在我的 XSLT 中,我使用了键语句,但我得到了不止一个键 link 的结果。
<xsl:key name="test" match="//E" use="@Nr"/>
为了区分子树我想使用来自B的属性。 所以我的结果是:
Fo C
Bar C
但是我觉得有必要使用key因为in D可以在千个E节点里面
是否可以使用 XSLT 有效地解决这个问题?
谢谢你的帮助!
要限制键为当前B
元素,定义为:
<xsl:key name="e" match="E" use="concat(@Nr, '|', generate-id(ancestor::B))" />
然后从 F
的上下文中将其调用为:
<xsl:value-of select="key('e', concat(@E_Nr, '|', generate-id(ancestor::B)))/@Wert"/>