This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: $5 PAYPAL for correct answer still not claimed! Searching for an attribute across different elements with ancestoral elements returned
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] $5 PAYPAL for correct answer still not claimed! Searching for an attribute across different elements with ancestoral elements returned
- From: Bedwell Tom <Tom dot Bedwell at icl dot com>
- Date: Fri, 20 Jul 2001 12:14:47 +0100
- Reply-To: xsl-list at lists dot mulberrytech dot com
I wish to return all brands/lines/items that have this @OFFER attribute.
If it is an ITEM I wish to return its parent LINE and grandparent BRAND as
well. If it is a LINE, I wish to return its child ITEMs and parent BRAND as
well. If it is BRAND I wish it to return its child LINEs and its
grandchildren ITEMs. I DO NOT WANT any siblings of the matched element.
______________________________
Transform the problem so you look at the attributes of decendants and you
get a solution like this.
<!-- This copies any element having a descendant with an OFFER attribute
-->
<xsl:template match="*[descendant::*[@OFFER]]">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates select="*"/>
</xsl:copy>
</xsl:template>
<!-- this duplicates an offer element and all its descendants-->
<xsl:template match="*[@OFFER]">
<xsl:copy-of select="."/>
</xsl:template>
Tom
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list