Subject: Re: select all nodes WITHOUT a specific attribute?
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Mon, 03 Dec 2001 15:29:45 -0500
|
William,
At 02:41 PM 12/3/01, you wrote:
What I got so far is
<xsl:for-each select="things/thing[string-length(@id) = 0]">
...
</xsl:for-each>
This seems to work, but it rubs me the wrong way. Is there a more elegant
solution?
Your instincts are good.
things/thing[not(@id)]"
will return things that have no id attribute, as opposed to things whose id
attribute is length zero.
Mind you, a <thing id=""/> will be left out by your test, but caught by
mine. If you wanted something truly equivalent,
things/thing[not(string(@id))]"
will not include <thing id=""/> -- it almost amounts to the same test you have.
Hope that helps,
Wendell
======================================================================
Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|