A better approach is to use the self axis along with true name tests:
//*[self::a or self::c]
The name() function will work too, but it will also select <a> and <c>
elements regardless of what their namespace is (and it may give
inconsistent results in such cases depending on whether prefixes are
used in the input or not). An actual name test in the expression,
indicating that you're only interested in <a> and <c> elements that
aren't in a namespace, is the way to go.
Evan
mozer wrote:
Mark,
//*[name() = 'a' or name() = 'c']
is the right syntax
Xmlizer
On Fri, Aug 29, 2008 at 9:57 PM, mark bordelon
<markcbordelon(_at_)yahoo(_dot_)com> wrote:
Thanks, Colin,
Although the requirements cannot assume how many levels there are between the
root node and the desired node, your solution points me to something like this.
Does this work?
//[name() == "a" and name() == "c"]
--- On Fri, 8/29/08, Colin Paul Adams
<colin(_at_)colina(_dot_)demon(_dot_)co(_dot_)uk> wrote:
From: Colin Paul Adams <colin(_at_)colina(_dot_)demon(_dot_)co(_dot_)uk>
Subject: Re: [xsl] (simple?) xpath question
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Date: Friday, August 29, 2008, 12:22 PM
"Mark" == mark bordelon
<markcbordelon(_at_)yahoo(_dot_)com> writes:
Mark> All *help*! What is the best way to query
xml with xpath
Mark> to get a disjoint nodelist? Specifically i
want to include
Mark> just the root node alongwith a descendent
node. XML:
Mark> <a> <b> <c>
</c> </b> </a> XPATH: //c
Mark> DESIRED RESULT NODELIST: i.e. not this:
<c> </c> but
Mark> rather this: <a> <c>
</c> </a>
One possibility is:
//*[name() != "b"]
It depends on your exact requirements.
--
Colin Adams
Preston Lancashire
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--