[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XPath using descendant and negative matching
<xsl:template match="*[descendant::*/Partners]"> that matches all elements that have a descendent that has a Partners child, note it doesn't match elements that have a Partners child (unless that Partners itself has a Partners descendant) You probably just want to match elements that have a Partners child *[Partners] or elements that have a Partners descendant *[.//Partners] although note that any use of // is potentially expensive. <xsl:template match="*[descendant::*/[not Partners]]"> not() is a function so takes () like all otherf unctions <xsl:template match="*[descendant::*/[not(Partners)]]"> matches any element that has a descendent that is not a Partners which is almost certainly not what you want. Assuming you want one of teh above, teh negation is *[not(Partners)] or *[not(.//Partners)] or more simply, just * as a match="*" has lower priority than match="*[Partners]" so will only be used in teh "other" case. David -- http://www.dcarlisle.demon.co.uk/matthew ________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|