Hi Jeffrey,
> Any ideas on which answer is correct?
It depends how much you care about namespaces.
*[not(name()='a' or name()='b')]
Gives you all the elements aside from a and b elements that are in the
default namespace in their document. I'd tend to steer clear of this
because the default namespace could be anything at all.
[not(self::a or self::b)]
Gives you all the elements aside from a and b elements that are in no
namespace. Use this if the a and b elements that you want to ignore
don't have a namespace or if you're not using namespaces at all.
*[not(local-name()='a' or local-name()='b')]
Gives you all the elements aside from a and b elements in any
namespace. Use this if you want to ignore all a and b elements no
matter what namespace they're in.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|