Subject: Re: [xsl] better way to say "all attrs except"? From: Graydon <graydon@xxxxxxxxx> Date: Sun, 5 Feb 2012 22:37:55 -0500 |
On Sun, Feb 05, 2012 at 10:30:15PM -0500, Syd Bauman scripsit: > For years I've used expressoins like > @*[not(name(.)='xml:id' or name(.)='rend')] > to ask for all of the attributes *except* xml:id= or rend=. And some > time ago Jeni recommended essentially the same approach.[1] But I'm > wondering if that isn't an XPath 1-ish way to do things, and if there > isn't a nicer way to get the same set when using XSLT 2 (and thus can > make use of XPath 2). @* except (@xml:id,@rend) is how that goes in XSLT 2. (or @*[name(.) != ('xml:id','rend')] if you're preferential toward the predicate, but the except is the way to go, since that's an actual node test and keeps you out of the stringy land of names.) The only tricky thing I've so far noticed about 'except' is that it doesn't always affect the implicit context of position() just how you would expect without the write-stuff-down-and-stare-at-it step. -- Graydon
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] better way to say "all attrs , Syd Bauman | Thread | Re: [xsl] better way to say "all at, Wendell Piez |
[xsl] better way to say "all attrs , Syd Bauman | Date | [xsl] Possible to create XSLT with , TW |
Month |