Wie kann man bei einer XPath-Abfrage ein Attribut abfragen, dessen Name in einer Variable deklariert ist?
Beispiel XML:
<sample>
<el name="test1" desc="description 1">sample1</el>
<el name="test2" desc="description 2">sample2</el>
<el name="test3" desc="description 3">sample3</el>
</sample>
Mit XPath kann man problemlos ein Element anhand eines Attributes abfragen:
<xsl:variable name="test">test1</xsl:variable>
<xsl:value-of select="/sample/el[@name=$test]" />
ergibt "sample1"
Aber wie funktioniert das, wenn man ein dynamisches Attribut anhand einer Variable abfragen möchte? Dazu kann mit @* gearbeitet werden
<xsl:variable name="test">desc</xsl:variable>
<xsl:value-of select="/sample/el[@name='test1']/@*[name() = $test]" />
ergibt "description1"