|
Subject: RE: [xsl] XPath: better way to check for text nodes that aren't descendents of x or y nodes? From: "Passin, Tom" <tpassin@xxxxxxxxxxxx> Date: Wed, 14 May 2003 17:11:48 -0400 |
[ Lars Huttar]
> Tom Passim wrote:
> > You could use
> >
> > test='not(.//*[local-name() != "vernac" and local-name() !=
> > "gloss"]/text()[1]
> > | text())'
>
> Hmm... I don't think this would give the correct result in all cases,
> e.g. if we have
> ./llcd:vernac/llcd:stretch/text()
> this should be legal, but it would show up as illegal by your test.
>
Oh, yes, I read your criterion as "children" but you really wrote
"descendants". If llcd:vernac and llcd:gloss could only be immediate
children of the current node, then you could just change it to this -
count(*[local-name() != "vernac"
and local-name() !="gloss"]//text()[1]
| text())
Otherwise this kind of approach gets more complicated and one of the
other suggestions already posted would be better.
As to efficiency, that is likely to be very processor-dependent since it
may depend on optimizations. You would need to test to be sure.
Cheers,
Tom P
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] XPath: better way to chec, Lars Huttar | Thread | [xsl] re-ordering an instance to ma, S Woodside |
| Re: [xsl] re-ordering an instance t, Wendell Piez | Date | RE: [xsl] XPath: following sibling/, Lars Huttar |
| Month |