एक्सएसडी गुण
सभी विशेषताओं को सरल प्रकार के रूप में घोषित किया जाता है।
एक गुण क्या है?
सरल तत्वों में गुण नहीं हो सकते। यदि किसी तत्व में विशेषताएँ हैं, तो उसे एक जटिल प्रकार का माना जाता है। लेकिन विशेषता को हमेशा एक साधारण प्रकार के रूप में घोषित किया जाता है।
एक विशेषता को कैसे परिभाषित करें?
एक विशेषता को परिभाषित करने के लिए वाक्य रचना है:
<xs:attribute name="xxx" type="yyy"/>
जहां xxx विशेषता का नाम है और yyy विशेषता के डेटा प्रकार को निर्दिष्ट करता है।
XML स्कीमा में बहुत सारे अंतर्निहित डेटा प्रकार हैं। सबसे आम प्रकार हैं:
- एक्सएस: स्ट्रिंग
- एक्सएस:दशमलव
- xs: पूर्णांक
- एक्सएस: बूलियन
- एक्सएस: तारीख
- एक्सएस: समय
उदाहरण
यहाँ एक विशेषता के साथ एक XML तत्व है:
<lastname lang="EN">Smith</lastname>
और यहाँ संबंधित विशेषता परिभाषा है:
<xs:attribute name="lang" type="xs:string"/>
विशेषताओं के लिए डिफ़ॉल्ट और निश्चित मान
विशेषताओं में एक डिफ़ॉल्ट मान या एक निश्चित मान निर्दिष्ट हो सकता है।
जब कोई अन्य मान निर्दिष्ट नहीं किया जाता है तो एक डिफ़ॉल्ट मान स्वचालित रूप से विशेषता को असाइन किया जाता है।
निम्नलिखित उदाहरण में डिफ़ॉल्ट मान "EN" है:
<xs:attribute name="lang" type="xs:string" default="EN"/>
एक निश्चित मान भी स्वचालित रूप से विशेषता को असाइन किया जाता है, और आप कोई अन्य मान निर्दिष्ट नहीं कर सकते।
निम्नलिखित उदाहरण में निश्चित मान "EN" है:
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
वैकल्पिक और आवश्यक गुण
विशेषताएँ डिफ़ॉल्ट रूप से वैकल्पिक होती हैं। यह निर्दिष्ट करने के लिए कि विशेषता आवश्यक है, "उपयोग" विशेषता का उपयोग करें:
<xs:attribute name="lang" type="xs:string" use="required"/>
सामग्री पर प्रतिबंध
जब किसी XML तत्व या विशेषता में डेटा प्रकार परिभाषित होता है, तो यह तत्व या विशेषता की सामग्री पर प्रतिबंध लगाता है।
यदि कोई XML तत्व "xs: date" प्रकार का है और इसमें "Hello World" जैसी स्ट्रिंग है, तो तत्व मान्य नहीं होगा।
एक्सएमएल स्कीमा के साथ, आप अपने एक्सएमएल तत्वों और विशेषताओं में अपने स्वयं के प्रतिबंध भी जोड़ सकते हैं। इन प्रतिबंधों को पहलू कहा जाता है। आप अगले अध्याय में पहलुओं के बारे में अधिक पढ़ सकते हैं।