<!ELEMENT Netlist (Components, Nets)>
<!ATTLIST Netlist
    BySoftware CDATA #REQUIRED
    ByModule   CDATA #REQUIRED>

<!ELEMENT Components (Component*)>
<!ELEMENT Component (Footprint, Value, Device, Pins, Attribute*)>
<!ATTLIST Component
    Refdes CDATA #REQUIRED>

<!ELEMENT Footprint (#PCDATA)>
<!ELEMENT Value (#PCDATA)>
<!ELEMENT Device (#PCDATA)>

<!ELEMENT Pins (Pin*)>
<!ELEMENT Pin (PinName, Attribute*)>
<!ATTLIST Pin
    Number CDATA #REQUIRED>

<!ELEMENT PinName (#PCDATA)>

<!ELEMENT Attribute EMPTY>
<!ATTLIST Attribute
    Key   CDATA #REQUIRED
    Value CDATA #REQUIRED>

<!ELEMENT Nets (Net*)>
<!ELEMENT Net (Connection*, Attribute*)>
<!ATTLIST Net
    Name CDATA #REQUIRED>

<!ELEMENT Connection EMPTY>
<!ATTLIST Connection
    Refdes CDATA #REQUIRED
    PinNum CDATA #REQUIRED>

