xsd:unsignedByte + xsd:unsignedShort = xsd:decimal?

Hi,

According to SPARQL test 'typePromotion-decimal-decimal-pass' (below),
adding unsignedByte to unsignedShort should return xsd:decimal.
According to http://www.w3.org/TR/xpath-functions/#numeric-functions however
this should be xsd:integer (which makes more sense to me).  Am I correct to
conclude this test is wrong?

	Thanks --- Jan

# Positive test: product of type promotion within the xsd:decimal type tree.
# $Id: typePromotion-decimal-decimal-pass.rq,v 1.2 2006/01/13 15:24:07 eric 
Exp $

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?one ?two
 WHERE { ?one rdf:value ?oneL .
         ?two rdf:value ?twoL .
         FILTER ( datatype(?oneL) = xsd:unsignedByte &&
                  datatype(?twoL) = xsd:unsignedShort &&
                  datatype(?oneL + ?twoL) = xsd:decimal ) }

Received on Thursday, 22 June 2006 11:39:52 UTC