 <!ELEMENT SystemDefinition ( systemModel?, SystemBuild? )>
 <!ATTLIST SystemDefinition
  name CDATA #REQUIRED
  schema CDATA #REQUIRED>
 <!ELEMENT systemModel (layer+)>
 <!ELEMENT layer (block* | collection*)*>
 <!ATTLIST layer
  name CDATA #REQUIRED
  levels NMTOKENS #IMPLIED
  span CDATA #IMPLIED>
 <!ELEMENT block (subblock* | collection*)*>
 <!ATTLIST block
  levels NMTOKENS #IMPLIED
  span CDATA #IMPLIED
  level NMTOKEN #IMPLIED
  name CDATA #REQUIRED>
 <!ELEMENT subblock (collection)*>
 <!ATTLIST subblock name CDATA #REQUIRED>
 <!ELEMENT collection (component)*>
 <!ATTLIST collection
  name CDATA #REQUIRED
  level NMTOKEN #IMPLIED>
 <!ELEMENT component (unit)*>
 <!ATTLIST component
  name CDATA #REQUIRED
  deprecated CDATA #IMPLIED
  introduced CDATA #IMPLIED
  contract CDATA #IMPLIED
  plugin (Y|N) "N"
  filter CDATA #IMPLIED
  class NMTOKENS #IMPLIED
  supports CDATA #IMPLIED>
 <!ELEMENT unit EMPTY>
 <!ATTLIST unit
  mrp CDATA #IMPLIED
  filter CDATA #IMPLIED
  bldFile CDATA #IMPLIED
  root CDATA #IMPLIED
  version NMTOKEN #IMPLIED
  prebuilt NMTOKEN #IMPLIED
  late (Y|N) #IMPLIED
  priority CDATA #IMPLIED>
 <!ELEMENT SystemBuild (option* | target+ | targetList+ | list+ | configuration+)*>
 <!ATTLIST SystemBuild schema CDATA #REQUIRED>
 <!ELEMENT list (ref+)>
 <!ATTLIST list
  name ID #REQUIRED
  description CDATA #REQUIRED>
 <!ELEMENT ref EMPTY>
 <!ATTLIST ref item CDATA #REQUIRED>
 <!ELEMENT targetList EMPTY>
 <!ATTLIST targetList
  name ID #REQUIRED
  description CDATA #REQUIRED
  target IDREFS #REQUIRED>
 <!ELEMENT target EMPTY>
 <!ATTLIST target
  name ID #REQUIRED
  abldTarget CDATA #REQUIRED
  description CDATA #REQUIRED>
 <!ELEMENT option EMPTY>
 <!ATTLIST option
  name ID #REQUIRED
  abldOption CDATA #REQUIRED
  description CDATA #REQUIRED
  enable (Y | N ) #REQUIRED>
 <!ELEMENT configuration (listRef+ | ref+ | task+)*>
 <!ATTLIST configuration
  name ID #REQUIRED
  description CDATA #REQUIRED
  filter CDATA #REQUIRED>
 <!ELEMENT task (listRef* , (buildLayer | specialInstructions))>
 <!ELEMENT listRef EMPTY>
 <!ATTLIST listRef list CDATA #REQUIRED>
 <!ELEMENT buildLayer EMPTY>
 <!ATTLIST buildLayer
  command CDATA #REQUIRED
  targetList IDREFS #IMPLIED
  unitParallel (Y | N ) #REQUIRED
  targetParallel (Y | N ) "N">
 <!ELEMENT specialInstructions EMPTY>
 <!ATTLIST specialInstructions
  name CDATA #REQUIRED
  cwd CDATA #REQUIRED
  root CDATA #IMPLIED
  command CDATA #REQUIRED>