For Each

The complex type CT_ForEach defines a for each iterator. The iteration behaves as if it were a for each loop. The complex type is defined as:

<xsd:complexType name="CT_ForEach">
  <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="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="ref" type="xsd:IDREF" use="optional" />
  <xsd:attributeGroup ref="AG_IteratorAttributes" />
</xsd:complexType>