<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
  <xsd:element name="Device">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Name" type="xsd:string" />
        <xsd:element name="Description" type="xsd:string" />
        <xsd:element name="Author" type="xsd:string" />
        <xsd:element name="Type" type="xsd:string" />
        <xsd:element name="Lighting" type="xsd:string" />
        <xsd:element name="Vendor" type="xsd:string" />
        <xsd:element name="Model" type="xsd:string" />
        <xsd:element name="Shape" type="xsd:string" />
        <xsd:element name="Width" type="xsd:double" />
        <xsd:element name="Height" type="xsd:double" />
        <xsd:element name="ImageBasePath" type="xsd:string" />
        <xsd:element name="DeviceImage" type="xsd:string" />
        <xsd:element name="LedUnitWidth" type="xsd:double" />
        <xsd:element name="LedUnitHeight" type="xsd:double" />
        <xsd:element name="Leds">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" name="Led">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="Shape" type="xsd:string" />
                    <xsd:element name="X" type="xsd:string" />
                    <xsd:element name="Y" type="xsd:string" />
                    <xsd:element name="Width" type="xsd:string" />
                    <xsd:element name="Height" type="xsd:string" />
                  </xsd:sequence>
                  <xsd:attribute name="Id" type="xsd:string" use="required" />
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        <xsd:element name="LedImageLayouts">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" name="LedImageLayout">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="LedImages">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element maxOccurs="unbounded" name="LedImage">
                            <xsd:complexType>
                              <xsd:attribute name="Id" type="xsd:string" use="required" />
                              <xsd:attribute name="Image" type="xsd:string" use="required" />
                            </xsd:complexType>
                          </xsd:element>
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                  <xsd:attribute name="Layout" type="xsd:string" />
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
	  </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xs:schema>