<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SystemDefinition [
 <!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>
]>
<SystemDefinition name="MCL" schema="2.0.0">
	<systemModel>
		<layer name="Generic Middleware" levels="generic specific">
			<block name="Generic Application Support">
				<collection name="Printing Support" level="specific">
					<component name="Printing UI Support">
						<unit bldFile="app-framework/print/group" mrp="app-framework/print/group/app-framework_print.mrp"/>
					</component>
				</collection>
			</block>
			<block name="System GUI Framework" levels="structure presentation">
				<collection name="Common UI Support" level="presentation">
					<component name="UIKON" introduced="6.0">
						<unit bldFile="app-framework/uikon/group" mrp="app-framework/uikon/group/app-framework_uikon.mrp"/>
					</component>
					<component name="Error Resolver Data">
						<unit bldFile="app-framework/errorresgt/group" mrp="app-framework/errorresgt/group/app-framework_errorresgt.mrp"/>
					</component>
					<component name="UI Look and Feel" introduced="6.0">
						<unit bldFile="app-framework/uiklafGT/group" mrp="app-framework/uiklafGT/group/app-framework_uiklafgt.mrp"/>
					</component>
					<component name="Grid">
						<unit bldFile="app-framework/grid/group" mrp="app-framework/grid/group/app-framework_grid.mrp"/>
					</component>
				</collection>
				<collection name="Look-and-Feel Agnostic UI Foundation" level="structure">
					<component name="Control Environment">
						<unit bldFile="app-framework/cone/group" mrp="app-framework/cone/group/app-framework_cone.mrp"/>
					</component>
					<component name="Front End Processor">
						<unit bldFile="app-framework/fepbase/group" mrp="app-framework/fepbase/group/app-framework_fepbase.mrp"/>
					</component>
					<component name="Graphics Effects" introduced="9.2">
						<unit bldFile="app-framework/gfxtranseffect/group" mrp="app-framework/gfxtranseffect/group/app-framework_gfxtranseffect.mrp"/>
					</component>
					<component name="UI Graphics Utilities">
						<unit bldFile="app-framework/egul/group" mrp="app-framework/egul/group/app-framework_egul.mrp"/>
					</component>
					<component name="Clock" plugin="Y">
						<unit bldFile="app-framework/clock/group" mrp="app-framework/clock/group/app-framework_clock.mrp"/>
					</component>
					<component name="BMP Animation" introduced="6.0">
						<unit bldFile="app-framework/bmpanim/group" mrp="app-framework/bmpanim/group/app-framework_bmpanim.mrp"/>
					</component>
					<component name="Animation" introduced="9.1">
						<unit bldFile="app-framework/animation/group" mrp="app-framework/animation/group/app-framework_animation.mrp"/>
					</component>
				</collection>
			</block>
		</layer>
		<layer name="Test Tools" levels="dario">
			<collection name="Test Tools - Graphics" level="test">
				<component name="System GUI Test Framework" class="test">
					<unit bldFiles="app-framework/TestFramework/group" mrp="app-framework/TestFramework/group/app-framework_testframework.mrp" />
				</component>
				<component name="Thin Dump" class="test">
					<unit bldFile="thindump\group" mrp="thindump\group\thindump.mrp"/>
				</component>
			</collection>
		</layer>
	</systemModel>
</SystemDefinition>
