Thanks Ken.
That makes sense, anchoring current() to the point at which the XPath began
evaluating the expression. My more naïf was view was that it "returned me"
to my original context no matter what.
Mark
-----Original Message-----
From: G. Ken Holman
Sent: Friday, November 04, 2011 6:27 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Locating an attribute and its value indirectly
At 2011-11-04 17:05 -0700, Mark wrote:
That works. I think I get it.
Did my " <xsl:value-of select="../Formats/@*[name(.)=@text-location]"/>"try
to find @text-location in the <Formats> element?
Yes, because expressions in the predicate are evaluated against that
node that was selected in the step.
And your "<xsl:value-of
select="../Formats/@*[name(.)=current()/@text-location]"/>" switched the
path back to the current context where @text-location actually resides?
The current() function returns that node that was current at the
beginning of the evaluation of the XPath expression.
Which, in your case, is the context where @text-location resides,
thus Brandon's current()/@text-location works.
In other situations you may find yourself walking from that place to
find another node, as in current()/../@idref
I didn't want you to think current() was magic in knowing where
@text-location was, it was just coincidentally attached to the
element that was current at the beginning of the XPath expression
evaluation.
I hope this is helpful.
. . . . . . . . . . Ken
--
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour video lecture: XSLT/XPath 1.0 & 2.0 http://ude.my/t37DVX
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--