Я пытаюсь перебрать карту (ключ, пара значений) со значением в виде «xpath», используя XSLT. Но я не могу перебрать запись карты, используя xslt 2.0.
Карта:
<xsl:variable name="map">
<entry key="Access">//DataService [@type ='PR_ACC']/ID</entry>
<entry key="Transport">//DataService [@type ='PR_IB']/ID</entry>
<entry key="CHE">//EquipmentService [@type ='PR_CPE']/ID</entry>
</xsl:variable>
Цикличность:
<Id><xsl:value-of select="$map/entry[@key=ID/@schemeID]"/></Id>
xpath:
ID/@schemeID will return any one of (Access, Transport, CPE)
Пример входного XML:
<ID schemeID="CHE"></ID>
<Services>
<DataService type ='PR_ACC'>
<ID>12345<ID>
</DataService>
<DataService type ='PR_BCC'>
<ID>12345<ID>
</DataService>
<EquipmentService type =' PR_CPE '>
<ID>98765<ID>
</EquipmentService>
</Services>
Ожидаемый результат:
<Id> 98765 </Id>
Кто-нибудь, скажите мне, что мне не хватает, пожалуйста?