RE: [xsl] Excluding text fragments

Subject: RE: [xsl] Excluding text fragments
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 6 Sep 2005 11:01:44 +0100
If it's a performance question then the answer depends on which processor
you're using. There's unlikely to be a big difference, and you'll only find
out which is faster by measuring it. In Saxon there's almost certainly no
difference, since a template rule with match="a|b" is essentially compiled
into two rules match="a" and match="b" that point to the same template body.
It might be fractionally faster to do match="*[@type=('a','b')]" (that's 2.0
syntax) but I doubt it's noticeable.

Michael Kay
http://www.saxonica.com/ 


> -----Original Message-----
> From: Lensch, Thomas [mailto:Lensch@xxxxxxxx] 
> Sent: 06 September 2005 10:44
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Excluding text fragments
> 
> Hi,
> 
> we have text in HTML as a part of our documents. Additionally we use
> attributes to express several special semantics of the HTML elment.
> 
> Dependant on the value of such an attribute we want to 
> exclude the text
> fragment in the output.
> 
> So, i have the following xsl:
> 
> ...
> 	<xsl:template match="*[@type='a'] | *[@type='b'] | ...">
> 	</xsl:template>
> 
> Instead of this the following would be possible:
> 
> 	<xsl:template match="*[@type='a']">
> 	</xsl:template>
> 
> 	<xsl:template match="*[@type='b']">
> 	</xsl:template>
> 
> 	...
> 
> Which is the best (most efficient) way to exclude such text fragments?
> 
> Best Regards
> Thomas.

Current Thread