Complete XML schema¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="System">
<xs:complexType>
<xs:all>
<xs:element ref="Properties" minOccurs="0" maxOccurs="1"/>
<xs:element ref="Controllers" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="Properties">
<xs:complexType>
<xs:sequence>
<xs:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Property">
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Bus">
<xs:complexType>
<xs:sequence>
<xs:element ref="Controller" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/> <!-- since all controllers are freshly created, this name should match the default name -->
</xs:complexType>
</xs:element>
<xs:element name="Controller">
<xs:complexType>
<xs:sequence>
<xs:element ref="Properties" minOccurs="0" maxOccurs="1"/>
<xs:element ref="Controller" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="Bus" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Description" type="xs:string" use="required" />
<xs:attribute name="HardwareSerialNumber" type="xs:string" use="required" />
<xs:attribute name="Id" type="xs:unsignedInt" use="optional" />
</xs:complexType>
</xs:element>
<xs:element name="Controllers">
<xs:complexType>
<xs:sequence>
<xs:element ref="Controller" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
|