Цитата(Compositum @ 1.4.2012, 20:27 ) | | ИБО то, что показано выше (произвольную коллекцию объектов обозначенных типов), ЛИБО коллекцию объектов типа settingsGroup |
Не понял: насколько я понимаю, выше показана именно settingGroup. Вообще задать альтернативу конкретной коллекции в виде произвольной вряд ли получится, поскольку обработчику нужно четкое правило, касающееся того какой именно набор правил следует применить в данном контексте. А если эти два набора имеют достаточно четкие различия, то видимо их можно поместить в элемент choice. Но в схеме все надо пробовать Вот например при таком раскладе будет все нормально и у элемента root будут потомки либо a b c, либо d b c| Код | <xs:element name="root"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="1"> <xs:sequence> <xs:element name="a"/> <xs:element name="b"/> <xs:element name="c"/> </xs:sequence> <xs:sequence> <xs:element name="d"/> <xs:element name="b"/> <xs:element name="c"/> </xs:sequence> </xs:choice> </xs:complexType> </xs:element>
|
но если во второй секвенции последовательность начать с a (как в первом случае), то возникает двусмысленность в вопросе о том, какое правило использовать, причем независимо от того, что последует за этим элементом, поскольку при разборе обработчик именно по нему попытается определить какую из секвенций следует применить. |