2013-04-19 5 views
1

Как можно использовать выбор и установить, что в группе вы должны выбрать минимум 2 элемента, но не в два раза один и тот же элемент ????XSD Choice, не тот же элемент снова

Пример кода:

xs:group name="Ports"> 
    <xs:sequence> 
    <xs:choice minOccurs="2" maxOccurs="2"> 
    <xs:element name="Port1" minOccurs="0" maxOccurs="1"> 
      <xs:complexType> 
      <xs:sequence> 
       <xs:group ref="PortArguments"/> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 

    <xs:element name="Port2"> 
      <xs:complexType> 
      <xs:sequence> 
       <xs:group ref="PortArguments"/> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
    </xs:choice> 

Другой вопрос: Возможно ли это, чтобы ограничить доступ к элементам в группе ?? Например: у меня есть другие группы. Группа 1 должна выбирать только элемент 1-3 группы портов. Группа 2 должна выбрать только элемент 1-10! Как я могу это понять?

+0

Попробуйте 'xs: all'? У меня никогда не было, но взгляните. –

+0

Не могли бы вы уточнить ваше требование? Может быть, образец XML будет с этим делать. –

+1

Что вы имели в виду с подробным вашим требованием? – user2260979

ответ

0

В XSD 1.0 нет решения для того, что вы хотите, для общих случаев. Вам придется применять ограничения Schematron или перейти к XSD 1.1.