XML शेला एलीमेंट

परिभाषा और उपयोग

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
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

वैकल्पिक। इस एलिमेंट का रूप। डिफ़ॉल्ट मान शास्त्र (schema) में इस एट्रिब्यूट को शामिल करने वाले elementFormDefault एट्रिब्यूट का मान है। यह मान 'qualified' या 'unqualified' शब्दों में से एक होना चाहिए।

यदि मूल एलिमेंट schema एलिमेंट है तो इस एट्रिब्यूट का उपयोग नहीं किया जा सकता है।

  • यदि यह मान 'unqualified' है तो इस एलिमेंट को नामस्पास (namespace) के अग्रसूत्र के बिना निर्दिष्ट करना चाहिए।
  • यदि यह मान 'qualified' है तो इस एलिमेंट को नामस्पास (namespace) के अग्रसूत्र के साथ निर्दिष्ट करना चाहिए।

maxOccurs

वैकल्पिक। element एलिमेंट को उसके मूल एलिमेंट में उपस्थित होने की अधिकतम बार निर्धारित करता है। यह मान छोटे से शून्य से बड़ा बराबर होता है। अधिकतम बार को सीमित न करने के लिए 'unbounded' शब्द का उपयोग करें। डिफ़ॉल्ट मान 1 है।

यदि मूल एलिमेंट schema एलिमेंट है तो इस एट्रिब्यूट का उपयोग नहीं किया जा सकता है।

minOccurs

वैकल्पिक। element एलिमेंट को उसके मूल एलिमेंट में उपस्थित होने की न्यूनतम बार निर्धारित करता है। यह मान छोटे से शून्य से बड़ा बराबर होता है। डिफ़ॉल्ट मान 1 है।

यदि मूल एलिमेंट schema एलिमेंट है तो इस एट्रिब्यूट का उपयोग नहीं किया जा सकता है।

nillable

वैकल्पिक। इस एलिमेंट को स्पष्ट शून्य मान (nil) आवंटित करने की सुविधा है क्या। यह एलिमेंट के सामग्री पर लागू होता है और इसका एट्रिब्यूट नहीं है। डिफ़ॉल्ट मान false है।

यदि nillable true है तो इस एलिमेंट के इंस्टेंस को nil एट्रिब्यूट को true सेट करने की सुविधा होगी। nil एट्रिब्यूट इंस्टेंस के XML शास्त्र नामस्पीकर नामस्पास के एक हिस्से के रूप में परिभाषित है।

उदाहरण में, अगले भाग में एक एलिमेंट को परिभाषित किया जाता है और 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 - इस एलिमेंट को प्रतिस्थापित करने के लिए सभी उत्पन्न एलिमेंटों को रोकता है

किसी भी अट्रिब्यूट

वैकल्पिक। नॉन-स्कीमा नाम स्पेस के किसी अन्य अट्रिब्यूट को निर्दिष्ट करता है。

उदाहरण

उदाहरण 1

नीचे दिए उदाहरण में एक स्कीमा है जो चार सरल एलिमेंट: '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

नीचे दिए उदाहरण में एक स्कीमा है जो 'note' नाम के जटिल तरीके के एलिमेंट के साथ है।'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>