Re: [xsl] XPath MOD 10 calculation

Subject: Re: [xsl] XPath MOD 10 calculation
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Fri, 25 May 2007 10:16:30 +0100
On 5/25/07, David Carlisle <davidc@xxxxxxxxx> wrote:

> <xsl:variable name="calc" select="(10 - ((sum($odd) * 3) + > sum($even)) mod 10) mod 10" as="xs:integer"/> > <xsl:if test="$calc ne $check-digit">UPC not legal</xsl:if>

foo mod 10 mod 10  is the same as foo mod 10, and 10 mod 10 is 0 so the
above is

<xsl:if test="($check-digit + ((sum($odd) * 3) + sum($even))) mod 10 =0">

Nice!


That give a boolean to check the UPC is correct - is it ok to re-write it as:

10 - ((sum($odd) * 3) + sum($even)) mod 10

to give you the check-digit?  If so it makes the outermost "mod 10" of
$calc redundant?  (if it is then step #4 on the wikipedia article isnt
needed)

Current Thread