जवाबों:
अंतर निम्नलिखित है:
xs:int
एक हस्ताक्षरित 32-बिट पूर्णांक है।
xs:integer
एक पूर्णांक अनबाउंड वैल्यू है। विवरण के लिए देखें https://web.archive.org/web/20151117073716/http://www.w3schools.com/schema/schema_dtypes_numeric.asp
उदाहरण के लिए, XJC (Java) के Integer
लिए xs:int
और इसके BigInteger
लिए जनरेट करता है xs:integer
।
नीचे की रेखा: xs:int
यदि आप क्रॉस प्लेटफॉर्म पर काम करना चाहते हैं तो उपयोग करें और सुनिश्चित करें कि आपके नंबर बिना किसी समस्या के पास हो जाएंगे। यदि आप बड़ी संख्या चाहते हैं - xs:long
इसके बजाय उपयोग करें xs:integer
(यह उत्पन्न हो जाएगा Long
)।
XS: पूर्णांक के साथ fractionDigits शून्य करने के लिए और एक शाब्दिक अंतरिक्ष जो दशमलव बिंदु और अनुगामी शून्य जो अन्यथा कानूनी होगा मनाही के साथ सेट पहलू, दशमलव: प्रकार XS की एक प्रतिबंध है। इसका कोई न्यूनतम या अधिकतम मूल्य नहीं है, हालांकि परिमित आकार की मशीनों में चलने वाले कार्यान्वयन को मनमाने ढंग से बड़े या छोटे मूल्यों को स्वीकार करने में सक्षम होने की आवश्यकता नहीं है। (उन्हें 16 दशमलव अंकों के साथ मूल्यों का समर्थन करना आवश्यक है।)
XS: पूर्णांक 2147483647 को maxInclusive पहलू सेट और -२१४७४८३६४८ को minInclusive पहलू के साथ लंबे समय,: प्रकार XS की एक प्रतिबंध है। (जैसा कि आप देख सकते हैं, यह दो-पूरक 32-बिट हस्ताक्षरित-पूर्णांक फ़ील्ड में आसानी से फिट होगा; xs: 64-बिट हस्ताक्षरित-पूर्णांक फ़ील्ड में लंबा फिट बैठता है।)
सामान्य नियम यह है: उस चीज़ का उपयोग करें जो आप कहना चाहते हैं। यदि किसी तत्व या विशेषता पर बाधा यह है कि इसका मान पूर्णांक होना चाहिए, xs: पूर्णांक कहता है कि संक्षिप्त रूप से। यदि बाधा यह है कि मान एक पूर्णांक होना चाहिए जिसे दो-पूरक प्रतिनिधित्व में अधिकतम 32 बिट्स के साथ व्यक्त किया जा सकता है, तो xs का उपयोग करें: int। (एक द्वितीयक लेकिन कभी-कभी महत्वपूर्ण चिंता यह है कि क्या आपकी टूल चेन एक से दूसरे के साथ बेहतर काम करती है। डेटा के लिए जो आपके टूल चेन की तुलना में अधिक समय तक जीवित रहेगा। पहले डेटा को सुनना बुद्धिमानी है; डेटा के लिए जो केवल टूल को खिलाने के लिए मौजूद है। यदि आप अपनी टूल चेन बदलते हैं, तो कोई भी रुचि नहीं होगी, टूल चेन को न सुनने का कोई कारण नहीं है।)
मैं सिर्फ कुछ लोगों के लिए महत्वपूर्ण हो सकता है कि पैदल सेना का एक नोट जोड़ूंगा: यह कहना सही नहीं है कि xs: int "एक हस्ताक्षरित 32-बिट पूर्णांक है। शब्दों का वह रूप एक बाइनरी डिजिटल कंप्यूटर के भीतर मेमोरी (या रजिस्टर, आदि) में कार्यान्वयन का अर्थ है। XML चरित्र-आधारित है और अधिकतम 32-बिट हस्ताक्षरित मूल्य को "2147483647" (मेरे उद्धरण, निश्चित रूप से) के रूप में लागू करेगा, जो कि 32 बिट्स से बहुत अधिक है! क्या सच है कि xs: int (परोक्ष रूप से) xs का एक प्रतिबंध है: पूर्णांक जो अधिकतम और न्यूनतम अनुमत मानों को एक बिट के साथ 32-बिट पूर्णांक के संबंधित कार्यान्वयन-लागू सीमा के समान होने के लिए निर्धारित करता है।
, but not
xs: int` या का समर्थन करता हैxs:long
।