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>