मेरे पास एक एक्सएमएल स्कीमा (एक्सएसडी) है जो तत्व को अनिवार्य रूप से परिभाषित करता है (इसे अभिभावक कहें); इस माता-पिता ने कहा है, पांच बच्चे तत्व, जो सभी वैकल्पिक हो सकते हैं, लेकिन कम से कम एक बच्चे तत्व होना चाहिए।एक्सएमएल स्कीमा (एक्सएसडी) - कम से कम एक बच्चे तत्व रखने के लिए पैरेंट तत्व को कैसे निर्दिष्ट करें?
मैं इसे xsd में कैसे निर्दिष्ट कर सकता हूं?
स्पष्टीकरण के लिए: बच्चे विभिन्न तत्व और वैकल्पिक हैं। उदाहरण के लिए ।
<Parent>
<Child1>contents are different to other siblings and arbitrary</Child1>
<Child2>can be text, a simple element, or another complex element</Child2>
<Child3>etc.. etc</Child3>
</Parent>
<xs:complexType name="Parent">
<xs:sequence>
<xs:element minOccurs="0" name="Child1" type="xs:string"/>
<xs:element minOccurs="0" name="Child2" />
<xs:element minOccurs="0" name="Child3" />
</xs:sequence>
</xs:complexType>
हालांकि हर बच्चा वैकल्पिक है, माता-पिता को कम से कम एक बच्चा होना चाहिए।
(और बहुत सारे गूगलिंग), ऐसा लगता है कि xsd में यह निर्दिष्ट करने के लिए कोई आसान निर्माण नहीं है; इसके लायक होने से अधिक परेशानी, मैंने वैध सॉफ़्टवेयर को अतिरिक्त नियमों को लागू करने का विकल्प चुना है (जैसे कि कम से कम एक बच्चा होना चाहिए)। – joedotnot