[xsl] Fetching the value of a dynamically assigned attribute

Subject: [xsl] Fetching the value of a dynamically assigned attribute
From: "Joseph L. Casale jcasale@xxxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 18 Jul 2017 23:52:10 -0000
While mocking up some examples related to a previous question,
I have an example where I add a namespace to my stylesheet and
add some data to it:


I also load another XML doc I am using data from:

  <xsl:variable name="documentAppConfig"
select="document('some_binary.exe.config')" />

While looping over the elements from the data I added to my stylesheet, I
am trying to select the value of an attribute where the attribute name is
dynamically specified:

    <xsl:for-each select="document('')/xsl:stylesheet/myns:data/foo/bar">

        <!-- this works: -->
        <xsl:value-of select="concat('some-text', text())" />

        <!-- this does not work: -->
select="$documentAppConfig/configuration/myNode/@*[local-name()=text()]" />

        <!-- this works: -->
        <xsl:variable name="text" select="text()" />
select="$documentAppConfig/configuration/myNode/@*[local-name()=$text]" />


That result is not surprising, but what is the syntactically correct
way of accomplishing this, or is the intermediate assignment the only


Current Thread