2013-04-04 3 views
0

Я создаю схему XSD для поддержки следующей структуры XML-схемы Код коммутатора может быть либо «включен», либо «отключен». В моей схеме xsd я могу указать, что это может быть только одно из этих значений? Это возможно или мне нужно использовать язык программирования, такой как C#, чтобы справиться с этим?XSD обработки один из двух значений

Буду признателен, если кто-то может мне помочь.

Спасибо,

ответ

0

См. Ian answer ... или также непосредственно без объявления именованного типа:

<xs:element name="Switch" minOccurs="1" maxOccurs="1"> 
    <xs:complexType> 
    ................ 
    <xs:attribute name="Code" use="required"> 
     <xs:simpleType> 
     <xs:restriction base="xs:string"> 
      <xs:enumeration value="enable" /> 
      <xs:enumeration value="disable" /> 
     </xs:restriction> 
     </xs:simpleType> 
    </xs:attribute> 
    </xs:complexType> 
</xs:element> 
+0

Фактически, это объявление типа; это просто не дает ему имени. –

+0

@MichaelKay: исправлено, спасибо. – MiMo

+0

Спасибо за помощь. Это сработало для меня. – KP1

1

Вы можете определить, перечисляемые типы в схеме XML:

<xs:simpleType name="enableDisable"> 
    <xs:restriction base="xs:string"> 
    <xs:enumeration value="enable" /> 
    <xs:enumeration value="disable" /> 
    </xs:restriction> 
</xs:simpleType> 

С, что на месте вы можете использовать этот тип вместо xs:string для атрибута

<xs:attribute type="enableDisable" name="Code" use="required"/> 

(его может потребоваться префикс, если ваша схема имеет targetNamespace)

Смежные вопросы