This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: XSL exclusion of elements


> 
> I want to do a combination of two items in one select so it 
> only returns the elements that are valid:
> 
>    <xsl:for-each select="Group/Field">
> 
>   
>    <xsl:variable name="val" 
> select="normalize-space(concat('//',DatabaseVariableName))"/>
>      <xsl:if test="( not(DatabaseVariableName='endDate')
>                     and not(DatabaseVariableName='password')
>                     and not(DatabaseVariableName='access')
>                     and not(DatabaseVariableName='status')
>                     and 
> (not(normalize-space(saxon:evaluate($val))=''))
>                     and 
> (not(normalize-space(saxon:evaluate($val))='0'))
>                     and
> (not(normalize-space(saxon:evaluate($val))='0.0'))
>                     and
> (not(normalize-space(saxon:evaluate($val))='0.0'))
>                     and (not(normalize-space(saxon:evaluate($val))=
> '$NON_VALUE'))

I would recommend that you evaluate
normalize-space(saxon:evaluate($val)) once and put it in a variable.
Saxon doesn't eliminate common sub-expressions, and the saxon:evaluate
call is quite expensive; so is the "//xxx" expression that it's
evaluating.


>                     and
> (not(normalize-space(saxon:evaluate($val))='false'))
>                     and
> (not(normalize-space(DatabaseVariableName)='listingTerms'))
>                     and 
> (not(normalize-space(saxon:evaluate($val))='*None Selected*')) )">
> 
> 
> AT THIS POINT: I want to be able to select all elements that 
> are in "Group/Field", excluding out everything in the xsl:if test.
> 
Why don't you use xsl:choose/xsl:when instead of xsl:if, and put the
remaining code in xsl:otherwise?

Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]