मैं इनहेरिट कोशिश कर रहा हूँ काम नहीं करता है और एक तत्व प्रतिबंधित लेकिन मैं (ग्रहण सत्यापन में) त्रुटि निम्न हो रही है:XSD प्रतिबंध
प्रकार के कण एक मान्य नहीं है आधार के कण का प्रतिबंध।
"विवरण" तत्व "TypeDevice" तत्व का हिस्सा नहीं होना चाहिए। मैं इसे क्यों नहीं प्राप्त कर सकता हूं। यह संभव होना चाहिए (इस tutorial के अनुसार):
क्या कोई मेरी मदद कर सकता है? जबकि प्रकार TypeDevice
केवल एक ही है
स्वागत करती है,
विधेयक
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com" xmlns="http://www.example.com" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- Abstract Base Class -->
<xs:complexType name="AbstractDevice" abstract="true">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Description" type="xs:string" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" />
</xs:complexType>
<!-- Inheritance with restriction -->
<xs:complexType name="TypeDevice">
<xs:complexContent>
<xs:restriction base="AbstractDevice">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="TypeRoot">
<xs:sequence>
<xs:element name="Device" type="TypeDevice" />
</xs:sequence>
</xs:complexType>
<xs:element name="Configuration" type="TypeRoot" />
</xs:schema>
आपके उत्तर के लिए धन्यवाद। लेकिन मैंने सोचा, यह बिल्कुल एक तत्व के लिए लागू प्रतिबंध के साथ किया जा सकता है। लिंक्ड ट्यूटोरियल वास्तव में यह करता है (प्रतिबंध द्वारा व्युत्पन्न elment "पुस्तिका" में मूल प्रकार "पुस्तक" के तत्व "लेखक" को प्रतिबंधित करें। शायद मैं यहां कुछ गलत समझता हूं। वैसे, विवरण निर्धारित करने के लिए मेरे कार्यान्वयन में यह संभव नहीं है मूल तत्व में "minOccurs = 0" तक। – Bill