At 2012-09-20 13:56 +0100, Andrew Welch wrote:
> I saw a lot of comments talking about "[1]" and "[last()]" talking about
> attributes, and I think that is the problem regarding the discussion: The
> predicate "[1]" and "[last()]" is *not* based on the markup (attributes),
> but rather is based on the order of nodes in the XPath data model
(attribute
> nodes).
it's based on the dynamic context, which, changes eg:
(@foo)[last()]
(@foo, @bar)[last()]
nothing special about attributes...
Granted, Andrew, thank you. Of course you are right that it is based
on the context list which is dynamically changing all the time.
But I understood the discussion to be oriented around "@*[1]" and
"@*[last()]", which when the abbreviation is expanded is
"attribute::*[1]" and "attribute::*[last()]", which itself is
oriented around nodes found along the attribute axis attached to an
element. The predicates are not being applied to the artefacts found
as markup in start tags.
For all we know an implementation might have alphabetized the nodes
along the attribute axis in order to stop looking for an attribute
when the name being looked for comes before the name of a given node
on the axis!
So the specs say there is no order to attribute specifications and
defaulted attributes, and the building of the XDM model imposes an
order of attribute nodes on the attribute axis any way it wants or
needs from the attribute specifications and defaults.
. . . . . . . . . Ken
--
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm
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>
--~--