xsl-list
[Top] [All Lists]

RE: [xsl] Filter out elements that have one specific sub-element and nothing else

2007-02-21 06:29:01
select="listitem[node()[last()=1][self::formatinfo]]"

Michael Kay


-----Original Message-----
From: stephan(_at_)wissel(_dot_)net [mailto:stephan(_at_)wissel(_dot_)net] 
Sent: 21 February 2007 13:05
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Filter out elements that have one specific 
sub-element and nothing else

Hi there,

I have an XML file like this:

<?xml version="1.0" encoding="UTF-8"?>
<funnylist>
    <listitem>
        <formatinfo color="yellow" />
        <stuffinside>Info</stuffinside> MoreInfo
    </listitem>
    <listitem>
        <formatinfo color="blue" />
    </listitem>
    <listitem>
        <formatinfo color="red" />EvenMoreInfo
    </listitem>
</funnylist>

I need to filter out this element:
    <listitem>
        <formatinfo color="blue" />
    </listitem>

The rule: if listitem contains only formatinfo and no other 
element or text then remove it.

I have no clue how to formulate the xPath.
Help appreciated.
:-) stw

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--