Re: [xsl] (simple?) xpath question

Subject: Re: [xsl] (simple?) xpath question
From: mark bordelon <markcbordelon@xxxxxxxxx>
Date: Fri, 29 Aug 2008 13:19:45 -0700 (PDT)
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@xxxxxxxxxxxx> wrote:

> From: Evan Lenz <evan@xxxxxxxxxxxx>
> Subject: Re: [xsl] (simple?) xpath question
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 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@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxxx> wrote:
> >>
> >>     
> >>> From: Colin Paul Adams
> <colin@xxxxxxxxxxxxxxxxxx>
> >>> Subject: Re: [xsl] (simple?) xpath question
> >>> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> >>> Date: Friday, August 29, 2008, 12:22 PM
> >>>       
> >>>>>>>> "Mark" == mark
> bordelon
> >>>>>>>>                 
> >>> <markcbordelon@xxxxxxxxx> 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

Current Thread