xsl-list
[Top] [All Lists]

Re: [xsl] XPath MOD 10 calculation

2007-05-25 02:16:46
On 5/25/07, David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk> 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)

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