Model Markup

This model description is not a real EMF artifact. It was generated by the
org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's
code generator can be extended.
This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.

Package markup <http://www.eclipse.org/ocl/2015/MarkupCS>

  Class BulletElement -> CompoundElement
    Attribute /level : EString

  Class CompoundElement -> MarkupElement
    Reference elements : MarkupElement<<0..*>>

  Class FigureElement -> MarkupElement
    Attribute /id : EInt
    Attribute src : EString
    Attribute alt : EString
    Attribute def : EString
    Attribute requiredWidth : EString
    Attribute requiredHeight : EString
    Attribute /actualWidth : EInt
    Attribute /actualHeight : EInt

  Class FigureRefElement -> MarkupElement
    Reference ref : FigureElement<<1..1>>

  Class FontElement -> CompoundElement
    Attribute /font : EString<<1..1>>

  Class FootnoteElement -> CompoundElement

  Class HeadingElement -> CompoundElement
    Attribute /level : EString

  Class Markup -> CompoundElement

  Class MarkupElement
    Reference owner : CompoundElement
    Attribute /uniqueId : EInt

  Class NewLineElement -> MarkupElement
    Attribute text : EString<<1..1>>

  Class NullElement -> CompoundElement

  Class OCLCodeElement -> CompoundElement

  Class OCLEvalElement -> CompoundElement

  Class OCLTextElement -> CompoundElement

  Class TextElement -> MarkupElement
    Attribute text : EString<<0..*>>
