XML Schema restriction एलीमेंट

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

restriction एलीमेंट परिभाषा simpleType, simpleContent या complexContent के लिए निर्बंध करता है।

एलीमेंट के विवरण

दिखाए जाता है एक बार
माता एलीमेंट complexContent
सामग्री group, all, choice, sequence, attribute, attributeGroup, anyAttribute

व्याकरण

<restriction
id=ID
base=QName
किसी अन्य गुण
>
simpleType के लिए सामग्री:
(annotation?,(simpleType?,(minExclusive|minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*))
simpleContent के लिए सामग्री:
(annotation?,(simpleType?,(minExclusive |minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
(length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, 
((attribute|attributeGroup)*,anyAttribute?))
complexContent के लिए सामग्री:
(annotation?,(group|all|choice|sequence)?,
((attribute|attributeGroup)*,anyAttribute?))
</restriction>

(? सूचकक निर्बंध एलीमेंट में इस एलीमेंट को शून्य या एक बार दिखाया जाता है।)

गुण वर्णन
id चुनिंदा। इस एलीमेंट के अद्वितीय ID का परिवर्धन करें।
base अनिवार्य। इस schema (या निर्दिष्ट नामस्पाद द्वारा सूचित अन्य schema) में परिभाषित बिना schema वाले डाटा टाइप, simpleType या complexType एलीमेंट के नाम का परिवर्धन करें।
किसी अन्य गुण चुनिंदा। non-schema नामस्पाद वाले किसी अन्य गुण का परिवर्धन करें।

उदाहरण

उदाहरण 1

नीचे के उदाहरण में, एक सीमा-साझा और नाम "age" वाले एलीमेंट को परिभाषित किया गया है। age का मान 0 से कम या 100 से अधिक नहीं हो सकता:

<xs:element name="age">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="100"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

उदाहरण 2

इस उदाहरण में, एक नाम "initials" वाले एलीमेंट को परिभाषित किया गया है। "initials" एलीमेंट एक सीमा-साझा साधारण प्रकार है। स्वीकार्य मान तीन से एक a से z के बड़े या छोटे अक्षर हो सकते हैं:

<xs:element name="initials">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

उदाहरण 3

इस उदाहरण में, एक नाम "password" वाले एलीमेंट को परिभाषित किया गया है। "password" एलीमेंट एक सीमा-साझा साधारण प्रकार है। इसके मान को कम से कम 5 अक्षरों और अधिकतम 8 अक्षरों के लिए होना चाहिए:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:minLength value="5"/>
      <xs:maxLength value="8"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

उदाहरण 4

इस उदाहरण में, एक सीमा-साझा सचरजना प्रकार की प्रस्तुति की गई है। सचरजना प्रकार "Chinese_customer" एक सामान्य "customer" सचरजना प्रकार से उत्पन्न होता है, जिसके "country" एलीमेंट का निश्चित मान "China" है:

<xs:complexType name="customer">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="country" type="xs:string"/>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="Chinese_customer">
  <xs:complexContent>
    <xs:restriction base="customer">
      <xs:sequence>
        <xs:element name="firstname" type="xs:string"/>
        <xs:element name="lastname" type="xs:string"/>
        <xs:element name="country" type="xs:string" fixed="China"/>
      </xs:sequence>
    </xs:restriction>
  </xs:complexContent>
</xs:complexType>