From: Evan Lenz <evan(_at_)evanlenz(_dot_)net>
Subject: Re: [xsl] (simple?) xpath question
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Date: Friday, August 29, 2008, 1:32 PM
You either need to post more details about the input XML, or
contact
Altova support. Otherwise, it's pure speculation. The
only thing I can
think of is that there's a namespace declaration at the
top that you're
failing to take into account (e.g.,
xmlns="http://example.com"). But
even then, the name() function should work if prefixes
aren't being used.
Evan
mark bordelon wrote:
Evan, (and everyone)
Thanks for this great help.
I am seizing the xpath solution so far (keeping the
xsl solution in the back of my mind as plan B)
However, in Altova Spy neither
//*[self::a or self::c]
nor
//*[name() = 'a' or name() = 'c']
is returning any results. Syntax is fine, just no
results.
This is the only tool I have for testing, other than
writing code. Is there a configuration in Altova Spy I need
to tweek?
Mark
--- On Fri, 8/29/08, Evan Lenz
<evan(_at_)evanlenz(_dot_)net> wrote:
From: Evan Lenz <evan(_at_)evanlenz(_dot_)net>
Subject: Re: [xsl] (simple?) xpath question
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Date: Friday, August 29, 2008, 1:14 PM
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>
--~--
--~------------------------------------------------------------------
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>
--~--