Les W3C Schemas et la valeur maximale d'un entier

Stephane Bortzmeyer <[email protected]> Tue, 18 Nov 2008 22:12:29 +0100
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Je travaille avec un W3C Schema (que je n'ai pas =E9crit) et xmllint
proteste avec :

traceroute.xsd:658: element element: Schemas parser error : Element
 '{http://www.w3.org/2001/XMLSchema}element', attribute 'maxOccurs': The =
value
 '4294967295' is not valid. Expected is '(xs:nonNegativeInteger | unbound=
ed)'.

Allons-bon, je me dis, 4294967295, c'est 2^32-1, il faut 32 bits non
sign=E9s pour le repr=E9senter et le sch=E9ma est all=E9 trop loin.

Sauf que le W3C ne semble pas imposer de valeur maximale aux entiers
dans maxOccurs :

http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#p-max_=
occurs
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#nonNega=
tiveInteger
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#integer

Donc, est-ce la faute de xmllint qui a impl=E9ment=E9 les entiers sous
forme de 32bits-sign=E9, alors qu'il aurait d=FB utiliser des
=AB=A0bigints=A0=BB=A0? Ou bien les auteurs du sch=E9ma ont-ils =E9t=E9 i=
mprudents
(quoique dans leur droit) en mettant une limite aussi haute=A0?