This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Testing for Parent Nodes of multiple types
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Testing for Parent Nodes of multiple types
- From: "Ciaran Byrne" <ciaran dot byrne at 3tl dot com>
- Date: Wed, 14 Mar 2001 18:18:53 -0800
- Reply-To: xsl-list at lists dot mulberrytech dot com
Thanks Mike that worked well.
Although David Carlisle now has me thinking.
At the moment I check the parent type of the context node
but as David suggested why not work the other way
and check the child node of the context node.
My opinion on this would be that each node can
have multiple children so therefore each child would
have to checked (David's approach).
While each child only has one parent so only one
parent would ever need to be checked. (Current approach)
Although it is probably also the case that checking the
parent for each child (current) is the same as checking
the child for each parent (David). Confused ? I know I am ;o)
Any one any ideas on the best approach ?
-----Original Message-----
From: owner-xsl-list@lists.mulberrytech.com
[mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Michael Kay
Sent: Wednesday, March 14, 2001 9:02 AM
To: xsl-list@lists.mulberrytech.com
Subject: RE: [xsl] Testing for Parent Nodes of multiple types
One technique I used once was to write
<xsl:variable name="cat"><xsl:apply-templates select=".."
mode="cat"/></xsl:variable>
<xsl:template match="p|b|i|u" mode="cat">A</xsl:template>
<xsl:template match="*" mode="cat">B</xsl:template>
<xsl:if test="$cat='A'"> ...
Don't know whether that's appropriate here though: I had about 50 element
types in the same category.
Mike Kay
Software AG
> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of
> Ciaran Byrne
> Sent: 15 March 2001 00:36
> To: Xsl-List
> Subject: [xsl] Testing for Parent Nodes of multiple types
>
>
> Hi all,
> In my content I am testing for the parent of
> my context node. The parent can be one of several different
> elements.
>
> For example, let's say that the parent of the element 'b' can
> be 'p','b','i','u','td'.
>
> At the moment in my xsl:if I have the node test
>
> <xsl:if test="parent::p or parent::b or parent::i or parent::u or
> parent::td">
> ...
> </xsl:if>
>
>
> Is anyone aware of a more efficient way to implement this ?
>
> Thanks,
> Ciaran.
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list