我使用W3C XML Schema(不是我寫的)。一個工具,xmllint, 拒絕使用模式:W3C XML Schema和maxOccurs的最大整數
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 | unbounded)'.
4294967295是2^32-1所以,很顯然,xmllint實現整數與 簽署32位號碼,這還不夠。
xmllint是對不對?該標準顯然是不限制的 整數大小:
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#nonNegativeInteger
非負 的價值空間是無窮集合{0,1,2,...}。
因此,實現者應該使用無限的整數...
什麼是最好的做法?
應該使用bigint還是類似的東西? ( xmllint是錯誤的。雖然也許作爲maxOccurs
屬性的「技術」正確使用(在這種情況下,我將問題報告給架構 作者。)
因此是_「2147483647」_maxofccurs可以處理的最大值? maxOccurs可以處理的最大值是多少? @bortzmeyer – javaPlease42 2013-12-03 14:42:47