xsl-list
[Top] [All Lists]

Re: [xsl] Writing array elements based on a an evaluation of one of the child elements

2006-05-24 05:44:15


 <xsl:for-each select="." >

That is a no-op it youst changes the current node to that selected by
. which is the cuurrent node.

   <xsl:if test="string-length(ACCOUNT-NO/text() > 0)">

ACCOUNT-NO/text() > 0 is a boolean valued expression so
string-length(ACCOUNT-NO/text() > 0) is the length of either the string "true" 
or
"false" depending, so either 4 or 5 and then as it's used in a test expression 
both
strings "true" and "false" are coerced to true() (as they are non-zero).

You meant

test="string-length(ACCOUNT-NO/text()) > 0">
Although that doesn't do what you want as you want to iterate over all
the ACCOUNT-NO elements. <xsl:template match = "ACCOUNT-LIST"> 

I think this does what you want:

 <xsl:template match = "ACCOUNT-LIST"> 
  <xsl:copy>
   <xsl:copy-of select="ACCOUNT-LIST[text()]"/>
  </xsl:copy>
  </xsl:template>


David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>