[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
On 02/03/2011 21:23, Henry S. Thompson wrote:
personally I'd just use <xsl:sequence select="$s=$stops"/>
and leave it to the query optimiser to make this common requirement efficient rather than using a more complicated idiom and then hoping the query optimiser recognises it.
As Dimitre just commented if you want to manually control the efficiency you can build different structures "by hand" or (you could use a xsl:key (although I believe the commercial version of saxon's optimiser may index the sequence lookup even without the hint of using xsl:key, which is a bit inconvenient for a sequence of strings rather than nodes)
David
Re: [xsl] Efficient way to check sequence membership
Subject: Re: [xsl] Efficient way to check sequence membership From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 02 Mar 2011 22:28:38 +0000 |
On 02/03/2011 21:23, Henry S. Thompson wrote:
<xsl:variable name="stopPat">it|its|itself|they|them|their|what|which|who|whom|this|that|these|those|am|is|are|was|were|be|been|being|have|has|had|having|do|does|did|doing|a|an|the|and|but|if|or|because|as|until|while|of|at|by|for|with|about|against|between|into|through|during|before|after|above|below|to|from|up|down|in|out|on|off|over|under|again|further|then|once|here|there|when|where|why|how|all|any|both|each|few|more|most|other|some|such|no|nor|not|only|own|same|so|than|too|very|s|t|can|will|just|don|should|now</xsl:variable>
<xsl:variable name="stops" select="tokenize($stopPat,'\|')"/>
<xsl:function name="my:stop1" as="xs:boolean"> <xsl:param name="w" as="xs:string"/> <xsl:sequence select="some $s in $stops satisfies ($s eq $w)"/> </xsl:function>
For obvious reasons this seems unlikely to be very efficient.
personally I'd just use <xsl:sequence select="$s=$stops"/>
and leave it to the query optimiser to make this common requirement efficient rather than using a more complicated idiom and then hoping the query optimiser recognises it.
As Dimitre just commented if you want to manually control the efficiency you can build different structures "by hand" or (you could use a xsl:key (although I believe the commercial version of saxon's optimiser may index the sequence lookup even without the hint of using xsl:key, which is a bit inconvenient for a sequence of strings rather than nodes)
David
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] HST's answers Re: [xsl] E, Michael Kay | Thread | Re: [xsl] Efficient way to check se, Henry S. Thompson |
[xsl] HST's answers Re: [xsl] Effic, Henry S. Thompson | Date | Re: [xsl] Efficient way to check se, Henry S. Thompson |
Month |