XSD <any> एलीमेंट
- पिछला पृष्ठ XSD संकेतक
- अगला पृष्ठ XSD <anyAttribute>
<any> एलीमेंट हमें XML दस्तावेज को schema द्वारा निर्दिष्ट नहीं होने वाले एलीमेंट के द्वारा विस्तार करने की क्षमता देता है!
<any> एलीमेंट
<any> एलीमेंट हमें XML दस्तावेज को schema द्वारा निर्दिष्ट नहीं होने वाले एलीमेंट के द्वारा विस्तार करने की क्षमता देता है!
इस उदाहरण "family.xsd" नामक XML schema से संदर्भित है। यह "person" एलीमेंट के लिए घोषणा को दिखाता है। <any> एलीमेंट का उपयोग करके, हम उसके बाद किसी भी एलीमेंट के द्वारा "person" की सामग्री को विस्तार कर सकते हैं:
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:any minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>
अब, हम "children" एलीमेंट का उपयोग "person" एलीमेंट को विस्तार करने के लिए चाहते हैं। इस प्रकार की स्थिति में हम ऐसा कर सकते हैं, भले ही इस schema के लेखक ने कोई "children" एलीमेंट का घोषणा नहीं की हो।
यह schema फ़ाइल देखें, जिसे "children.xsd" कहा जाता है: }}
<?xml version="1.0" encoding="ISO-8859-1"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.codew3c.com" xmlns="http://www.codew3c.com" elementFormDefault="qualified"> <xs:element name="children"> <xs:complexType> <xs:sequence> <xs:element name="childname" type="xs:string" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
नीचे दिए इस XML फ़ाइल (जिसे "Myfamily.xml" कहा जाता है) में दो अलग-अलग schema के घटकों का उपयोग किया गया है, "family.xsd" और "children.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?> <persons xmlns="http://www.microsoft.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.microsoft.com family.xsd http://www.codew3c.com children.xsd"> <person> <firstname>David</firstname> <lastname>Smith</lastname> <children> <childname>mike</childname> </children> </person> <person> <firstname>Tony</firstname> <lastname>Smith</lastname> </person> </persons>
इस XML फ़ाइल को वैध माना जाता है क्योंकि schema "family.xsd" हमें "person" एलीमेंट को विस्तार करने के लिए "lastname" एलीमेंट के बाद वैकल्पिक एलीमेंट के माध्यम से अनुमति देता है。
<any> और <anyAttribute> दोनों को विस्तारित दस्तावेज़ बनाने के लिए उपयोग किया जा सकता है! वे दस्तावेज़ को मुख्य XML शेमा में घोषित न किए गए अतिरिक्त एलीमेंट को समाविष्ट करने की क्षमता प्रदान करते हैं।
- पिछला पृष्ठ XSD संकेतक
- अगला पृष्ठ XSD <anyAttribute>