Hi,
Here is an XPath 1.0 expression that does something other than what
was requested (return all element declarations of type string):
//xs:element[@type= concat(substring-before(name(),'element'),'string')]
(where 'xs' indicates "http://www.w3.org/2001/XMLSchema")
(I design solutions for a living. I think up hacks for fun.)
Cheers, Wendell
On Mon, Jul 20, 2015 at 2:28 PM, Michael Kay mike(_at_)saxonica(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
I believe that in its most general form this problem doesn't have a
pure XPath 1.0 solution (though it is easy if we are allowed to use
XSLT 1.0).
We either need the feature of range variables, or the feature of being
able to specify a function call as the last location step in a path
expression.
I came to the same conclusion, though I’m always reluctant to say that
something’s impossible. Essentially you need to examine the namespace nodes
to map the prefix to a URI, and that involves a join, and joins are
restricted in XPath 1.0 by the absence of range variables - XPath 1.0 is not
“relationally complete” in Codd’s sense.
Michael Kay
Saxonica
--
Wendell Piez | http://www.wendellpiez.com
XML | XSLT | electronic publishing
Eat Your Vegetables
_____oo_________o_o___ooooo____ooooooo_^
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--