---
# this is neat. by specifying 'customTagName', we can define new instance
# generation methods within the YAML itself!
# specify 'customTagName' on the instance for the defining tag name
# then specify 'customTagName' on each attribute or relationship to
# define the attributes/relationships that get set on the instance
#
# the system will automatically recognize 'index' as the suggested
# instance index value
- entityDefinitions:
  - IDC_Class: '{B9C9B9B7-AD8A-4CBD-AA6B-E05784630B6B}'
  - IDC_Relationship: '{9B0A80F9-C325-4D36-997C-FB4106204648}'
  - IDA_Name: '{9153A637-992E-4712-ADF2-B03F0D9EDEA6}'
  - IDA_RelationshipType: '{71106B12-1934-4834-B0F6-D894637BAEED}'

  - IDR_Relationship__has_source__Class: "{7FB5D234-042E-45CB-B11D-AD72F8D45BD3}"
  - IDR_Relationship__has_destination__Class: "{F220F1C2-0499-4E87-A32E-BDBF80C1F8A4}"
  - IDR_Relationship__has_sibling__Relationship: "{656110FF-4502-48B8-A7F3-D07F017AEA3F}"

  - IDR_Class__has_super__Class: "{100F0308-855D-4EC5-99FA-D8976CA20053}"
  - IDR_Class__has_sub__Class: "{C14BC80D-879C-4E6F-9123-E8DFB13F4666}"

- relationship: '&IDR_Relationship__has_source__Class;'

- instance: '&IDC_Class;'
  name: Class
  customTagName: class
  attributes:
  - instance: '&IDA_Name;'
    customTagName: 'name'

- class: '&IDC_Relationship;'
  name: Relationship
  customTagName: 'relationship'
  attributes:
  - instance: '&IDA_RelationshipType;'
    customTagName: 'type'
  - instance: '&IDA_Singular;'
    customTagName: 'singular'
  relationships:
  - instance: '&IDR_Relationship__has_source__Class;'
    customTagName: 'sourceClassId'
  - instance: '&IDR_Relationship__has_destination__Class;'
    customTagName: 'destinationClassId'
  - instance: '&IDR_Relationship__has_sibling__Relationship;'
    customTagName: 'siblingRelationshipId'


- relationship: '&IDR_Class__has_sub__Class;'
  sourceClassId: '&IDC_Class;'
  type: 'has sub'
  destinationClassId: '&IDC_Class;'
