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?