<object name="action">
  <layout>
    <xml name="action" nodeType="xs:element"/>
  </layout>

  <property name="time" type="long" primaryKey="true">
    <xml nodeType="xs:attribute" type="xs:int"/>
  </property>

  <property name="parent" type="long">
    <xml nodeType="xs:attribute" type="xs:int"/>
  </property>

  <property name="user" type="str">
    <xml nodeType="xs:attribute" type="xs:string"/>
  </property>

  <property name="what" type="str">
    <xml nodeType="xs:attribute" type="xs:string"/>
  </property>

  <property name="date" type="str">
    <xml nodeType="xs:attribute" type="xs:string"/>
  </property>

  <property name="notes" type="str">
    <xml nodeType="xs:element" type="xs:string"/>
  </property>

  <choice name="data" type="object" discriminator="what" mapping="one-to-many">
    <property ref="true" object="addModule" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
    <property ref="true" object="addConnection" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
    <property ref="true" object="changeParameter" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
    <property ref="true" object="changeAnnotation" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
    <property ref="true" object="addModulePort" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
    <property ref="true" object="moveModule" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
    <property ref="true" object="deleteModule" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
    <property ref="true" object="deleteConnection" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
    <property ref="true" object="deleteFunction" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
    <property ref="true" object="deleteAnnotation" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
    <property ref="true" object="deleteModulePort" mapping="one-to-many">
      <xml nodeType="xs:element"/>
    </property>
  </choice>

</object>
