У меня проблема, и мне нужна ваша помощь в следующем 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 я использую оператор ключа, но я получаю более одного результата для ключевой ссылки.
<xsl:key name="test" match="//E" use="@Nr"/>
Чтобы отличить guish поддеревьев, которые я хочу использовать атрибут от B . Итак, мой результат:
Fo C
Bar C
Но я думаю, что необходимо использовать ключ, потому что в D может быть внутри тысячи E узлов.
Можно ли эффективно решить эту проблему с помощью XSLT?
Резервуары за вашу помощь!