xsl-list
[Top] [All Lists]

Re: [xsl] Calculate the average line length within variable name="lines" as="element()*" not including the last line

2010-04-12 05:44:37
Thanks, that could be useful however now seems my problem is counting
the number of lines accurately.

I am trying to do a count of the number lines however perhaps this is
not correct way to count the number of lines accurately in the lines
variable

 <xsl:variable name="numberLines" select="count($lines)" as="xs:integer"/>

I then do a check as follows before finding AvarageLineLength but
still get the empty sequence problem.

    <xsl:when test="$numberLines ge 2">
 <xsl:variable name="AvarageLineLength"
         select="round(avg($lines[last()]/preceding-sibling::node()/@length))"
as="xs:double"/>
       <xsl:choose>

I tried the following as well with the same problem
<xsl:variable name="numberLines" select="count($lines/@length)"
as="xs:integer"/>

On Mon, Apr 12, 2010 at 10:19 AM, David Carlisle 
<davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:
On 12/04/2010 11:00, Alex Muir wrote:

<xsl:variable name="averageLineLength"

  select="round(avg($lines[last()]/preceding-sibling::node()/@length))"
 as="xs:double"/>


you have used an as attribute that says this mmust return one value but if
$lines has less than two items
$lines[last()]/preceding-sibling::node()
will be empty, so avg() will get an empty sequence, and so return () so you
fail the type check.

perhaps



select="(round(avg($lines[last()]/preceding-sibling::node()/@length)),0)[1]"

woul dbe what you want, returning 0 if there are no lines to average.

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________




-- 
Alex
https://sites.google.com/a/utg.edu.gm/alex

Some Good Music
http://sites.google.com/site/greigconteh/

--~------------------------------------------------------------------
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>
--~--