This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

select all nodes WITHOUT a specific attribute?


How do I select all nodes that DO NOT have a specific attribute?

For example, I have 

<things>
    <thing id="1">One</thing>
    <thing>shoe</thing>
    <thing>bear</thing>
    <thing id="2">Two</thing>
    <thing id="3">Three</thing>
    <thing>airplane</thing>
    <thing id="4">Four</thing> 
    <thing id="5">Five</thing>
</things>

and I want:

    <thing>shoe</thing> 
    <thing>bear</thing> 
    <thing>airplane</thing>

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?

William Bagby

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]