Re: What is the difference between patterns - "*|/" and "*"

Subject: Re: What is the difference between patterns - "*|/" and "*"
From: Keith Visco <kvisco@xxxxxxxxx>
Date: Fri, 12 Feb 1999 09:49:54 -0500
Tyler wrote: 
> My take on things is that:
> 
> <xsl:template match="//*">
> 
> is effectively the same as:
> 
> <xsl:template match="*">
> 
> However I don't think this is a legal pattern anyways because a
> ComposeExpression does not start with the union operator.

// is not the Union operator, but the Ancestry operator and starting a
MatchExpr or SelectExpr with // is valid.
| is the union operator.

<xsl:template match="//*"/> and <xsl:template match="*"/> are
effectively the same as you pointed out. Sometimes there are more than 
one way of doing something, however

<xsl:apply-templates select="//*"/> and

<xsl:apply-templates select="*"/>

are very different in that "//*" will start at the document and select
all descendant elements, where "*" will start at the current element and
select only it's child elements.

--Keith


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


Current Thread