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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] (simple?) xpath question, Evan Lenz | Thread | Re: [xsl] (simple?) xpath question, Evan Lenz |
Re: [xsl] (simple?) xpath question, Evan Lenz | Date | Re: [xsl] (simple?) xpath question, Evan Lenz |
Month |