XML Schema element एलीमेंट
परिभाषा और उपयोग
element एलीमेंट एक एलीमेंट को परिभाषित करता है。
एलीमेंट सूचना
उपस्थिति बार | आर्किटेक्चर में परिभाषित एलीमेंट की संख्या。 |
पितृ एलीमेंट | schema、choice、all、sequence |
सामग्री | simpleType、complexType、key、keyref、unique |
व्याकरण
<element id=ID name=NCName ref=QName type=QName substitutionGroup=QName default=string fixed=string form=qualified|unqualified maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger minOccurs=nonNegativeInteger nillable=true|false abstract=true|false block=(#all|list of (extension|restriction)) किसी भी गुण final=(#all|list of (extension|restriction)) > annotation?,((simpleType|complexType)?,(unique|key|keyref)*))
</element>
अभियान्त्रिकी (? संकेतक एलीमेंट में घोषित होता है, इस एलीमेंट को शून्य या एक बार उपस्थित किया जा सकता है, * संकेतक एलीमेंट को शून्य या अधिक बार उपस्थित किया जा सकता है)。
id
चुनूँ। इस एलीमेंट के लिए अद्वितीय ID।
name
चुनूँ। एलीमेंट का नाम। यदि पारंपरिक एलीमेंट schema एलीमेंट है, तो इस अभियान्त्रिकी अनिवार्य है।
ref
चुनूँ। एक अन्य एलीमेंट के लिए संदर्भ। ref अभियान्त्रिकी में नामस्पेक्ट्रस पूर्वस्थिति शामिल की जा सकती है। यदि पारंपरिक एलीमेंट schema एलीमेंट है, तो इस अभियान्त्रिकी का प्रयोग नहीं किया जा सकता है।
type
चुनूँ। निर्मित डाटा तरीके के नाम निर्धारित करें या simpleType या complexType एलीमेंट के नाम निर्धारित करें।
substitutionGroup
चुनूँ। इस एलीमेंट के लिए बदले में उपयोग की गई एलीमेंट का नाम। इस एलीमेंट को एक समान तरीके का होना चाहिए या इसके निर्धारित तरीके से उत्पन्न होना चाहिए।
यदि पारंपरिक एलीमेंट schema एलीमेंट नहीं है, तो इस अभियान्त्रिकी का प्रयोग नहीं किया जा सकता है।
default
चुनूँ। एलीमेंट के लिए निर्धारित डिफ़ॉल्ट मान (केवल जब एलीमेंट की सामग्री साधारण तरीके का हो या textOnly हो)।
fixed
चुनूँ। एलीमेंट के लिए निर्धारित मान (केवल जब एलीमेंट की सामग्री साधारण तरीके का हो या textOnly हो)।
form
चुनूँ। इस एलीमेंट का रूप। डिफ़ॉल्ट मान शब्दांक के अभिन्न एलीमेंट के elementFormDefault अभियान्त्रिकी के मान है। यह मान निम्नलिखित शब्दांकों में से एक होना चाहिए: "qualified" या "unqualified"。
यदि पैरंट एलीमेंट schema एलीमेंट है, तो इस गुणवत्ता का उपयोग नहीं किया जा सकता।
- यदि यह मान "unqualified" है, तो इस एलीमेंट को नामस्पेक्ट्रस पूर्वस्थिति के बिना निर्धारित करना आवश्यक नहीं है।
- यदि यह मान "qualified" है, तो इस एलीमेंट को नामस्पेक्ट्रस पूर्वस्थिति के साथ निर्धारित करना आवश्यक है।
maxOccurs
चुनूँ। एलीमेंट एलीमेंट के पारंपरिक एलीमेंट में उपस्थित होने की अधिकतम बार निर्धारित करता है। यह मान 0 से बड़ा या बराबर का पूर्णांक हो सकता है। अगर आप अधिकतम बार निर्धारित नहीं करना चाहते हैं, तो "unbounded" शब्द का प्रयोग करें। डिफ़ॉल्ट मान 1 है।
यदि पैरंट एलीमेंट schema एलीमेंट है, तो इस गुणवत्ता का उपयोग नहीं किया जा सकता।
minOccurs
चुननेवाला।element एलीमेंट को पैरंट एलीमेंट में दिखाई देने की न्यूनतम बार निर्धारित करता है।यह मान शून्य से बड़ा या बराबर का पूर्ण संख्या हो सकता है।मूलभूत मान 1 है।
यदि पैरंट एलीमेंट schema एलीमेंट है, तो इस गुणवत्ता का उपयोग नहीं किया जा सकता।
nillable
चुननेवाला।इस एलीमेंट को स्पष्ट शून्य मान आवंटित करने के लिए सूचित करता है।यह एलीमेंट के सामग्री पर लागू होता है और यह एलीमेंट का गुणवत्ता नहीं है।मूलभूत मान false है।
यदि nillable true है, तो इस एलीमेंट के उदाहरण को nil गुणवत्ता true सेट करने की सुविधा होगी।nil गुणवत्ता उदाहरण के XML शास्त्राकार नामस्पाद (namespace) के एक भाग के रूप में परिभाषित है।
उदाहरण में, निम्न अनुच्छेद एक एलीमेंट को परिभाषित करता है और nillable को true सेट करता है।
<xs:element name="myDate" type="xs:date" nillable="true"/>
निम्न अनुच्छेद इस एलीमेंट का प्रयोग करता है और उसमें स्पष्ट शून्य मान (nil गुणवत्ता सेट किया गया है true) है।
<myDate xsi:nil="true"></myDate>
abstract
चुननेवाला।एलीमेंट को उसके प्रयोग को सूचित करता है कि क्या इसे उदाहरण दस्तावेज़ में प्रयोग किया जा सकता है।यदि यह मान true है, तो एलीमेंट उदाहरण दस्तावेज़ में नहीं दिखाई देता।उल्टा substitutionGroup गुणवत्ता इस एलीमेंट के नाम (QName) के अन्य एलीमेंट को इस एलीमेंट के स्थान पर प्रयोग करने के लिए समायोजित करती है।कई एलीमेंट उसके substitutionGroup गुणवत्ता में इस एलीमेंट को संदर्भित कर सकते हैं।मूलभूत मान false है।
block
चुननेवाला।उत्पन्न प्रकार।block गुणवत्ता इस एलीमेंट को उस प्रकार के उत्पन्न एलीमेंट के स्थान पर प्रयोग करने से रोकती है।यह मान #all या एक सूची हो सकता है जो extension, restriction या substitution का उपांश है:
- extension - उत्पन्न एलीमेंट को विस्तारित करके इस एलीमेंट के स्थान पर प्रयोग करने से रोकना।
- restriction - उत्पन्न एलीमेंट को प्रतिबंधित करके इस एलीमेंट के स्थान पर प्रयोग करने से रोकना।
- substitution - उत्पन्न एलीमेंट को प्रतिस्थापित करके इस एलीमेंट के स्थान पर प्रयोग करने से रोकना।
- #all - सभी उत्पन्न एलीमेंट को इस एलीमेंट के स्थान पर प्रयोग करने से रोकना।
final
चुननेवाला।element एलीमेंट पर final गुणवत्ता के डिफ़ॉल्ट मान को सेट करने के लिए।यदि पैरंट एलीमेंट schema एलीमेंट नहीं है, तो इस गुणवत्ता का उपयोग नहीं किया जा सकता।यह मान #all या एक सूची हो सकता है जो extension या restriction का उपांश है:
- extension - इस एलिमेंट को प्रतिस्थापित करने के लिए उपयोग किए जाने वाले विस्तार उत्पन्न एलिमेंटों को रोकता है
- restriction - इस एलिमेंट को प्रतिस्थापित करने के लिए उपयोग किए जाने वाले सीमित उत्पन्न एलिमेंटों को रोकता है
- #all - इस एलिमेंट को प्रतिस्थापित करने के लिए सभी उत्पन्न एलिमेंटों को रोकता है
किसी भी गुण
वैकल्पिक. non-schema नामस्पति के किसी अन्य गुण को निर्दिष्ट करता है。
उदाहरण
उदाहरण 1
नीचे दिए उदाहरण एक schema है, जिसमें चार साधारण एलिमेंट: "fname", "lname", "age" और "dateborn" हैं, जिनके प्रकार string, nonNegativeInteger और date हैं:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="fname" type="xs:string"/> <xs:element name="lname" type="xs:string"/> <xs:element name="age" type="xs:nonNegativeInteger"/> <xs:element name="dateborn" type="xs:date"/> </xs:schema>
उदाहरण 2
नीचे दिए उदाहरण एक complex type "note" एलिमेंट वाला schema है. "note" एलिमेंट चार साधारण एलिमेंट: "to", "from", "heading" और "body" को शामिल करता है:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
उदाहरण 3
इस उदाहरण और उदाहरण 2 समान है, लेकिन इस उदाहरण में, हम ref गुण का उपयोग करके एलिमेंट नाम को संदर्भित करने का चयन करते हैं:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element ref="to"/> <xs:element ref="from"/> <xs:element ref="heading"/> <xs:element ref="body"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:schema>