XSD संकर तरीका संकेतक
- पिछला पृष्ठ XSD मिश्रित सामग्री
- अगला पृष्ठ XSD <any>
इंडिकेटर के माध्यम से, हम दस्तावेज़ में एलिमेंट के उपयोग को नियंत्रित कर सकते हैं।
इंडिकेटर
सात इंडिकेटर हैं:
ऑर्डर इंडिकेटर:
- सभी
- चोइस
- सीक्वेंस
ओकरेंस इंडिकेटर:
- maxOccurs
- minOccurs
ग्रुप इंडिकेटर:
- ग्रुप नाम
- attributeGroup name
Order संकेतक
Order संकेतक एक तत्व के क्रम को निर्धारित करता है।
All संकेतक
<all> संकेतक उपतत्व को अविशेषित क्रम में प्रदर्शित होने का प्रतिबिंबित करता है, और प्रत्येक उपतत्व को केवल एक बार प्रदर्शित होना चाहिए:
<xs:element name="person"> <xs:complexType> <xs:all> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:all> </xs:complexType> </xs:element>
टिप्पणी:जब <all> संकेतक का उपयोग किया जाता है, तो <minOccurs> को 0 या 1 सेट किया जा सकता है, लेकिन <maxOccurs> संकेतक को केवल 1 सेट किया जा सकता है (आगे minOccurs और maxOccurs को बताया जाएगा)।
Choice संकेतक
<choice> संकेतक एक उपतत्व को या दूसरा उपतत्व (या ना तो यह ना तो वह) प्रदर्शित होने का प्रतिबिंबित करता है:
<xs:element name="person"> <xs:complexType> <xs:choice> <xs:element name="employee" type="employee"/> <xs:element name="member" type="member"/> </xs:choice> </xs:complexType> </xs:element>
सूचना:यदि आप उपतत्व को अविशेषित बार दिखाना चाहते हैं, तो <maxOccurs> (आगे बताया जाएगा) को unbounded (असीमित) रूप से सेट करें।
Sequence संकेतक
<sequence> उपतत्व को विशेष क्रम में प्रदर्शित होने का प्रतिबिंबित करता है:
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
Occurrence संकेतक
Occurrence संकेतक एक तत्व के प्रदर्शन की बार निर्धारित करता है।
टिप्पणी:सभी "Order" और "Group" संकेतक (any, all, choice, sequence, group name और group reference) के लिए, maxOccurs और minOccurs का मूलभूत मान 1 है।
maxOccurs संकेतक
<maxOccurs> संकेतक एक तत्व को प्रदर्शित होने की अधिकतम बार निर्धारित करता है:
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="full_name" type="xs:string"/> <xs:element name="child_name" type="xs:string"> maxOccurs="10"/> </xs:sequence> </xs:complexType> </xs:element>
उपरोक्त उदाहरण से पता चलता है कि उपतत्व "child_name" "person" तत्व में कम से कम एक बार प्रदर्शित हो सकता है (में minOccurs की मूलभूत मान 1 है), अधिकतम 10 बार प्रदर्शित हो सकता है。
minOccurs संकेतक
<minOccurs> संकेतक एक तत्व को प्रदर्शित होने की कम से कम बार निर्धारित करता है:
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="full_name" type="xs:string"/> <xs:element name="child_name" type="xs:string"> maxOccurs="10" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>
उपरोक्त उदाहरण से पता चलता है कि उपतत्व "child_name" "person" तत्व में कम से कम 0 बार, अधिकतम 10 बार प्रदर्शित हो सकता है。
सूचना:यदि किसी तत्व के प्रदर्शन की बार असीमित होने देना है, तो maxOccurs="unbounded" यह घोषणा उपयोग करें:
एक वास्तविक उदाहरण:
"Myfamily.xml" नाम का XML फ़ाइल:
<?xml version="1.0" encoding="ISO-8859-1"?> <persons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="family.xsd"> <person> <full_name>Tony Smith</full_name> <child_name>Cecilie</child_name> </person> <person> <full_name>David Smith</full_name> <child_name>Jogn</child_name> <child_name>mike</child_name> <child_name>kyle</child_name> <child_name>mary</child_name> </person> <person> <full_name>Michael Smith</full_name> </person> </persons>
उपरोक्त XML फ़ाइल में "persons" नाम का एक मूल तत्व है। इस मूल तत्व के अंदर हमने तीन "person" तत्वों को परिभाषित किया है। प्रत्येक "person" तत्व को एक "full_name" तत्व रखना चाहिए, और यह 5 तक "child_name" तत्वों को रख सकता है。
यह schema फ़ाइल "family.xsd" है:
<?xml version="1.0" encoding="ISO-8859-1"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="persons"> <xs:complexType> <xs:sequence> <xs:element name="person" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="full_name" type="xs:string"/> <xs:element name="child_name" type="xs:string"> minOccurs="0" maxOccurs="5"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Group संकेतक
Group संकेतक का उपयोग संबंधित संख्या तत्वों को परिभाषित करने के लिए किया जाता है。
एलीमेंट ग्रुप
एलीमेंट ग्रुप ग्रुप डिफाइन द्वारा डिफाइन की जाती है:
<xs:group name="组名称"> ... </xs:group>
आपको ग्रुप डिफाइन अंदर एक all, choice या sequence एलीमेंट डिफाइन करना होगा. इस उदाहरण में, "persongroup" नाम का एक ग्रुप डिफाइन किया गया है, जो एलीमेंटों के एक विशिष्ट क्रम में दिखाई देता है:
<xs:group name="persongroup"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:element name="birthday" type="xs:date"/> </xs:sequence> </xs:group>
आप अब ग्रुप डिफाइन करने के बाद, इसे दूसरी डिफाइनिशन में रेफर कर सकते हैं:
<xs:group name="persongroup"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:element name="birthday" type="xs:date"/> </xs:sequence> </xs:group> <xs:element name="person" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:group ref="persongroup"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:complexType>
अटेब्यूट ग्रुप
अटेब्यूट ग्रुप अटेब्यूटग्रुप डिफाइन द्वारा डिफाइन की जाती है:
<xs:attributeGroup name="组名称"> ... </xs:attributeGroup>
इस उदाहरण में, "personattrgroup" नाम की एक अटेब्यूट ग्रुप डिफाइन की गई है:
<xs:attributeGroup name="personattrgroup"> <xs:attribute name="firstname" type="xs:string"/> <xs:attribute name="lastname" type="xs:string"/> <xs:attribute name="birthday" type="xs:date"/> </xs:attributeGroup>
आप अब अटेब्यूट ग्रुप डिफाइनिट करने के बाद, इसे दूसरी डिफाइनिशन में रेफर कर सकते हैं, जैसे कि इस तरह:
<xs:attributeGroup name="personattrgroup"> <xs:attribute name="firstname" type="xs:string"/> <xs:attribute name="lastname" type="xs:string"/> <xs:attribute name="birthday" type="xs:date"/> </xs:attributeGroup> <xs:element name="person"> <xs:complexType> <xs:attributeGroup ref="personattrgroup"/> </xs:complexType> </xs:element>
- पिछला पृष्ठ XSD मिश्रित सामग्री
- अगला पृष्ठ XSD <any>