<?xml version="1.0"?>
[%# #################################################### %]
[%# AutoDIAL Template for Dia XML. (c)Copyright 2001 Ajt %]
[%# #################################################### %]
<diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
  <diagramdata>
    <attribute name="background">
      <color val="#ffffff"/>
    </attribute>
    <attribute name="paper">
      <composite type="paper">
        <attribute name="name">
          <string>#A4#</string>
        </attribute>
        <attribute name="tmargin">
          <real val="2.82"/>
        </attribute>
        <attribute name="bmargin">
          <real val="2.82"/>
        </attribute>
        <attribute name="lmargin">
          <real val="2.82"/>
        </attribute>
        <attribute name="rmargin">
          <real val="2.82"/>
        </attribute>
        <attribute name="is_portrait">
          <boolean val="true"/>
        </attribute>
        <attribute name="scaling">
          <real val="1"/>
        </attribute>
        <attribute name="fitto">
          <boolean val="false"/>
        </attribute>
      </composite>
    </attribute>
    <attribute name="grid">
      <composite type="grid">
        <attribute name="width_x">
          <real val="1"/>
        </attribute>
        <attribute name="width_y">
          <real val="1"/>
        </attribute>
        <attribute name="visible_x">
          <int val="1"/>
        </attribute>
        <attribute name="visible_y">
          <int val="1"/>
        </attribute>
      </composite>
    </attribute>
    <attribute name="guides">
      <composite type="guides">
        <attribute name="hguides"/>
        <attribute name="vguides"/>
      </composite>
    </attribute>
  </diagramdata>
  <layer name="Background" visible="true">
[%# -------------------------------------------- %]
[% classes = diagram.Classes %]
[% FOREACH class = classes %]
    <object type="UML - Class" version="0" id="[% class.Id %]">
      <attribute name="obj_pos">
        <point val="[% class.TopLeftPos %]"/>
      </attribute>
      <attribute name="obj_bb">
        <rectangle val="[% class.TopLeftPos %];[% class.BottomRightPos %]"/>
      </attribute>
      <attribute name="elem_corner">
        <point val="[% class.TopLeftPos %]"/>
      </attribute>
      <attribute name="elem_width">
        <real val="[% class.Width %]"/>
      </attribute>
      <attribute name="elem_height">
        <real val="[% class.Height %]"/>
      </attribute>
      <attribute name="name">
        <string>#[% class.Name %]#</string>
      </attribute>
      <attribute name="stereotype">
      [% IF class.Parent %]
        <string>#[% class.Parent %]#</string>
      [% ELSE %]
        <string/>
      [% END %]
      </attribute>
      <attribute name="abstract">
        <boolean val="false"/>
      </attribute>
      <attribute name="suppress_attributes">
        <boolean val="false"/>
      </attribute>
      <attribute name="suppress_operations">
        <boolean val="false"/>
      </attribute>
      <attribute name="visible_attributes">
        <boolean val="true"/>
      </attribute>
      <attribute name="visible_operations">
        <boolean val="true"/>
      </attribute>

      [% IF class.Attributes %]
      <attribute name="attributes">
        [% FOREACH at = class.Attributes %]
        <composite type="umlattribute">
          <attribute name="name">
            <string>#[% at.name %]#</string>
          </attribute>
          <attribute name="type">
            <string>#[% at.type %]#</string>
          </attribute>
          <attribute name="value">
            <string>[% at.value  %]</string>
          </attribute>
          <attribute name="visibility">
            <enum val="[% at.visibility %]"/>
          </attribute>
          <attribute name="abstract">
            <boolean val="false"/>
          </attribute>
          <attribute name="class_scope">
            <boolean val="false"/>
          </attribute>
        </composite>
        [% END %]
      </attribute>
      [% ELSE %]
      <attribute name = "attributes"/>
      [% END %]
      [% IF class.Operations %]
      <attribute name="operations">
        [% FOREACH op = class.Operations %]
        <composite type="umloperation">
          <attribute name="name">
            <string>#[% op.name %]#</string>
          </attribute>
          <attribute name="type">
	  [% IF op.type %]
            <string>#[% op.type %]#</string>
	  [% ELSE %]
	     <string/>
	  [% END %]
          </attribute>
          <attribute name="visibility">
            <enum val="[% op.visibility %]"/>
          </attribute>
          <attribute name="abstract">
            <boolean val="false"/>
          </attribute>
          <attribute name="class_scope">
            <boolean val="false"/>
          </attribute>
	  [% IF op.Param %]
          <attribute name="parameters">
            [% FOREACH par = op.Param %] 
            <composite type="umlparameter">
              <attribute name="name">
                <string>#[% par.Name %]#</string>
              </attribute>
              <attribute name="type">
                <string/>
              </attribute>
              <attribute name="value">
                <string/>
              </attribute>
              <attribute name="kind">
                <enum val="0"/>
              </attribute>
            </composite>
            [% END %]
          </attribute>
	  [% ELSE %]
	  <attribute name = "parameters"/>
	  [% END %]
        </composite>
        [% END %]
      </attribute>
      [% ELSE %]
      <attribute name="operations"/>
      [% END %]
      <attribute name="template">
        <boolean val="false"/>
      </attribute>
      <attribute name="templates"/>
    </object>
[% END %]
[%#%]
[% SET components = diagram.Components %]
[%#%]
[% FOREACH component = components %]
 <object type="UML - SmallPackage" version="0" id="[% component.Id %]">
   <attribute name="obj_pos">
       <point val="[% component.TopLeftPos %]"/>
   </attribute>
   <attribute name="obj_bb">
       <rectangle val="[% component.TopLeftPos %];[% component.BottomRightPos %]"/>
   </attribute>
   <attribute name="elem_corner">
      <point val="[% component.TopLeftPos %]"/>
   </attribute>
   <attribute name="elem_width">
      <real val="component.Width"/>
   </attribute>
   <attribute name="elem_height">
      <real val="component.Height"/>
   </attribute>
   <attribute name="text">
     <composite type="text">
       <attribute name="string">
         <string>#[% component.Name %]#</string>
       </attribute>
       <attribute name="font">
         <font name="Courier"/>
       </attribute>
       <attribute name="height">
          <real val="0.8"/>
       </attribute>
       <attribute name="pos">
          <point val="[% component.TextPos %]"/>
       </attribute>
       <attribute name="color">
          <color val="#000000"/>
       </attribute>
       <attribute name="alignment">
          <enum val="0"/>
       </attribute>
     </composite>
   </attribute>
 </object>
[% END %]
[% # %]
[% SET dependancies = diagram.Dependancies %]
[% # %]
[% FOREACH dependancy = dependancies %]
 <object type="UML - Dependency" version="0" id="[% dependancy.Id %]">
   <attribute name="obj_pos">
     <point val="[% dependancy.Orth_Top_Right %]"/>
   </attribute>
   <attribute name="obj_bb">
     <rectangle val="[% dependancy.Orth_Top_Right %];[% dependancy.Orth_Bottom_Left %]"/>
   </attribute>
   <attribute name="orth_points">
     <point val="[% dependancy.Orth_Bottom_Left%]"/>
     <point val="[% dependancy.Orth_Mid_Left %]"/>
     <point val="[% dependancy.Orth_Mid_Right %]"/>
     <point val="[% dependancy.Orth_Top_Right%]"/>
   </attribute>
   <attribute name="orth_orient">
     <enum val="1"/>
     <enum val="0"/>
     <enum val="1"/>
   </attribute>
   <attribute name="draw_arrow">
     <boolean val="true"/>
   </attribute>
   <attribute name="name">
     <string/>
   </attribute>
   <attribute name="stereotype">
     <string/>
   </attribute>
   <connections>
     <connection handle="1" to="[% dependancy.Parent %]" connection="6"/>
     <connection handle="0" to="[% dependancy.Child %]" connection="1"/>
   </connections>
 </object>
[% END %]
[% # %]
[% SET superclasses = diagram.Superclasses %]
[% # %]
[% FOREACH superclass = superclasses %]
 <object type="UML - Class" version="0" id="[% superclass.Id %]">
   <attribute name="obj_pos">
     <point val="[% superclass.TopLeftPos %]"/>
   </attribute>
   <attribute name="obj_bb">
     <rectangle val="[% superclass.TopLeftPos %];[% superclass.BottomRightPos %]"/>
   </attribute>
   <attribute name="elem_corner">
     <point val="[% superclass.TopLeftPos %]"/>
   </attribute>
   <attribute name="elem_width">
     <real val="[% superclass.Width %]"/>
   </attribute>
   <attribute name="elem_height">
     <real val="[% superclass.Height %]"/>
   </attribute>
   <attribute name="name">
     <string>#[% superclass.Name %]#</string>
   </attribute>
   <attribute name="stereotype">
     <string/>
   </attribute>
   <attribute name="abstract">
     <boolean val="false"/>
   </attribute>
   <attribute name="suppress_attributes">
     <boolean val="false"/>
   </attribute>
   <attribute name="suppress_operations">
     <boolean val="false"/>
   </attribute>
   <attribute name="visible_attributes">
     <boolean val="true"/>
   </attribute>
   <attribute name="visible_operations">
     <boolean val="true"/>
   </attribute>
   <attribute name="attributes"/>
   <attribute name="operations"/>
   <attribute name="template">
     <boolean val="false"/>
   </attribute>
   <attribute name="templates"/>
 </object>
[% END %]
[% #### %]
[% SET inheritances = diagram.Inheritances %] 
[% FOREACH inheritance = inheritances %]
 <object type="UML - Generalization" version="0" id="[% inheritance.Id  %]">
   <attribute name="obj_pos">
     <point val="[% inheritance.Orth_Top_Left %]"/>
   </attribute>
   <attribute name="obj_bb">
     <rectangle val="[% inheritance.Orth_Top_Left %];[% inheritance.Orth_Bottom_Right %]"/>
   </attribute>
   <attribute name="orth_points">
     <point val="[% inheritance.Orth_Top_Left %]"/>
     <point val="[% inheritance.Orth_Mid_Left %]"/>
     <point val="[% inheritance.Orth_Mid_Right %]"/>
     <point val="[% inheritance.Orth_Bottom_Right %]"/>
   </attribute>
   <attribute name="orth_orient">
     <enum val="1"/>
     <enum val="0"/>
     <enum val="1"/>
   </attribute>
   <attribute name="name">
     <string/>
   </attribute>
   <attribute name="stereotype">
      <string/>
   </attribute>
   <connections>
     <connection handle="0" to="[% inheritance.Parent %]" connection="6"/>
     <connection handle="1" to="[% inheritance.Child %]" connection="1"/>
    </connections>
 </object>
[% END %]
 </layer>
</diagram>





