Yanıtlar:
Aradaki fark şudur:
xs:intişaretli bir 32 bit tam sayıdır.
xs:integertamsayı sınırsız bir değerdir. Ayrıntılar için bakın https://web.archive.org/web/20151117073716/http://www.w3schools.com/schema/schema_dtypes_numeric.asp
Örneğin, XJC (Java) Integerfor xs:intve BigIntegerfor üretir xs:integer.
Sonuç olarak: xs:intplatformlar arası çalışmak istiyorsanız kullanın ve sayılarınızın sorunsuz geçeceğinden emin olun. Daha büyük sayılar istiyorsanız - xs:longyerine kullanın xs:integer(oluşturulacaktır Long).
Xs: tamsayı fractionDigits sıfıra ise yasal olur ondalık noktayı ve arka sıfır yasaklayan bir sözcük alanı ile ayarlanır, bir yüzüyle ondalık: türü xs bir sınırlamadır. Minimum veya maksimum değeri yoktur, ancak sonlu boyutlu makinelerde çalışan uygulamaların keyfi olarak büyük veya küçük değerleri kabul edebilmesi gerekmez. (16 ondalık basamaklı değerleri desteklemeleri gerekir.)
Xs int türü xs bir kısıtlama: uzun, 2147483647 maxInclusive faset seti ve -2147483648 için minInclusive yüz,. (Gördüğünüz gibi, iki tamamlayıcı 32 bitlik işaretli tamsayı alanına uygun şekilde sığacaktır; xs: long, 64 bitlik işaretli tamsayı alanına sığar.)
Genel kural şudur: Söylemek istediklerinize uygun olanı kullanın. Bir öğe veya öznitelik üzerindeki kısıtlama, değerinin bir tam sayı olması gerektiğiyse, xs: integer bunu kısaca söyler. Kısıtlama, değerin iki tamamlayıcı gösterimde en fazla 32 bit ile ifade edilebilecek bir tamsayı olması gerektiği yönündeyse, xs: int kullanın. (İkincil ancak bazen önemli bir endişe, alet zincirinizin biriyle diğerinden daha iyi çalışıp çalışmadığıdır. Alet zincirinizden daha uzun ömürlü olan veriler için, önce verileri dinlemek akıllıca olacaktır; yalnızca aracı beslemek için var olan veriler için zincir ve alet zincirinizi değiştirirseniz ilginizi çekmeyecek, alet zincirini dinlememek için hiçbir neden yoktur.)
Bazı insanlar için önemli olabilecek bir bilgiçlik notu ekleyeceğim: xs: int'in 32 bitlik imzalı bir tamsayı olduğunu söylemek doğru değil. Bu tür sözcükler, ikili bir dijital bilgisayar içinde bellekte (veya kayıtlarda, vb.) Bir uygulamayı ima eder. XML karakter tabanlıdır ve maksimum 32 bitlik işaretli değeri "2147483647" (elbette benim tırnak işaretleri) olarak uygular, bu da 32 bitten çok daha fazladır! Doğru olan şey, xs: int'in (dolaylı olarak) bir xs: tamsayı kısıtlamasıdır ve izin verilen maksimum ve minimum değerleri, bir işaret biti olan 32 bitlik bir tamsayının karşılık gelen uygulama tarafından empoze edilen sınırlarıyla aynı olacak şekilde ayarlar.
, but notxs: int` veyaxs:long.