I want to grab a node from my XML file, the node has a prefix such as \"latest_\", but this may change and I\'m keen for my XSLT to be as fluid as possible. Here\'s the XPat
With XPath 1.0 you can use /data/stats/*[substring-after(name(), '_cost') = ''] pattern. That checks if the element's name ends with the _cost suffix.
/data/stats/*[substring-after(name(), '_cost') = '']
_cost
In XPath 2.0 there is fn:ends-with(str, str) and your corresponding expression will be *[ends-with(name(), '_cost')].
fn:ends-with(str, str)
*[ends-with(name(), '_cost')]