Layout Node

The complex type CT_LayoutNode is the main building block of a diagram. A layout node contains enough information to lay out itself and its children. The name attribute is simply a unique string given to the layout node. The @styleLbl attribute references the style label that is used to style the layout node. This style label has already been defined in this document. A layout node is defined in the following manner:

<xsd:complexType name="CT_LayoutNode">
  <xsd:choice minOccurs="0" maxOccurs="unbounded">
    <xsd:element name="alg" type="CT_Algorithm" minOccurs="0" 
      maxOccurs="1" />
    <xsd:element name="shape" type="CT_Shape" minOccurs="0" 
      maxOccurs="1" />
    <xsd:element name="presOf" type="CT_PresentationOf" 
      minOccurs="0" maxOccurs="1" />
    <xsd:element name="constrLst" type="CT_Constraints" 
      minOccurs="0" maxOccurs="1" />
    <xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" 
    maxOccurs="1" />
    <xsd:element name="varLst" 
      type="CT_LayoutVariablePropertySet" minOccurs="0" 
      maxOccurs="1" />
    <xsd:element name="forEach" type="CT_ForEach" />
    <xsd:element name="layoutNode" type="CT_LayoutNode" />
    <xsd:element name="choose" type="CT_Choose" />
  </xsd:choice>
  <xsd:attribute name="name" type="xsd:ID" use="optional" />
  <xsd:attribute name="styleLbl" type="xsd:string" use="optional" />
  <xsd:attribute name="chOrder" type="ST_ChildOrderType" 
    use="optional" default="b" />
  <xsd:attribute name="moveWith" type="xsd:IDREF" use="optional" />
</xsd:complexType>