Для следующего XML-файла
<MyElement>
<Data1>123</Data1>
<Data2>234</Data2>
</MyElement>
Схема XSD выглядит следующим образом:
<xs:element name="MyElement" minOccurs="1" maxOccurs="1" >
<xs:complexType>
<xs:sequence>
<xs:attribute name="Data1" type="xs:unsignedInt" />
<xs:attribute name="Data2" type="xs:unsignedInt" />
</xs:sequence>
</xs:complexType>
</xs:element>
Для элемента, который имеет данные не в дочерних узлах, а в атрибутах:
<MyElement Data1="123" Data2="234" />
Схема XSD выглядит следующим образом:
<xs:element name="MyElement" minOccurs="1" maxOccurs="1" >
<xs:complexType>
<xs:attribute name="Data1" type="xs:unsignedInt" />
<xs:attribute name="Data2" type="xs:unsignedInt" />
</xs:complexType>
</xs:element>
Но как определить схему XSD для «смешанного» случая?
<MyElement Data1="123">
<Data2>234</Data2>
</MyElement>
РЕДАКТИРОВАТЬ: и еще один:
<MyElement Data1="123">234</MyElement>
Большое спасибо!
PS Я пробовал разные комбинации, но валидатор (встроенный в MSVS2010 жалуется на любой измои идеи).