blob: c03311cfd0aeaf3910cb5fa7519aa14aa4e8739a [file] [log] [blame]
// Based on https://github.com/SATToSE/SoTeSoLa2012/blob/master/hackathon/modisco-eclipse/org.eclipse.gmt.modisco.tool.metricsvisualizationbuilder/Metamodels/HTML.ecore
@namespace(uri="HTML", prefix="HTML")
package HTML;
class HTML {
!ordered val HEAD[1]#html head;
!ordered val BODY[1]#html body;
}
class HTMLElement {
!unique !ordered attr EString[1] value;
!ordered val HTMLElement[*] children;
}
class HEAD extends HTMLElement {
!ordered val HEADElement[*]#head headElements;
!ordered ref HTML[1]#head html;
}
abstract class HEADElement extends HTMLElement {
!ordered ref HEAD[1]#headElements head;
}
class LINK extends HEADElement {
!unique !ordered attr EString[1] rel;
!unique !ordered attr EString[1] title;
!unique !ordered attr EString[1] ahref;
!unique !ordered attr EString[1] type;
}
class TITLE extends HEADElement {
}
class BODY extends HTMLElement {
!unique !ordered attr EString[1] background;
!unique !ordered attr EString[1] bgcolor;
!unique !ordered attr EString[1] text;
!unique !ordered attr EString[1] link;
!unique !ordered attr EString[1] alink;
!unique !ordered attr EString[1] vlink;
!ordered val BODYElement[*] bodyElements;
!ordered ref HTML[1]#body html;
}
abstract class BODYElement extends HTMLElement {
}
class H1 extends BODYElement {
}
class H2 extends BODYElement {
}
class H3 extends BODYElement {
}
class H4 extends BODYElement {
}
class EM extends BODYElement {
}
class STRONG extends BODYElement {
}
class B extends BODYElement {
}
class I extends BODYElement {
}
class TT extends BODYElement {
}
class PRE extends BODYElement {
}
class BIG extends BODYElement {
}
class SMALL extends BODYElement {
}
class SUB extends BODYElement {
}
class SUP extends BODYElement {
}
class STRIKE extends BODYElement {
}
class FONT extends BODYElement {
!unique !ordered attr EString[1] color;
!unique !ordered attr EString[1] face;
!unique !ordered attr EString[1] size;
}
class IMG extends BODYElement {
!unique !ordered attr EString[1] src;
!unique !ordered attr EString[1] width;
!unique !ordered attr EString[1] height;
!unique !ordered attr EString[1] alt;
!unique !ordered attr EString[1] align;
!unique !ordered attr EString[1] vspace;
!unique !ordered attr EString[1] hspace;
!unique !ordered attr EString[1] ismap;
!unique !ordered attr EString[1] usemap;
!unique !ordered attr EString[1] border;
}
class BR extends BODYElement {
!unique !ordered attr EString[1] clear;
}
class MAP extends BODYElement {
}
class AREA extends BODYElement {
!unique !ordered attr EString[1] shape;
!unique !ordered attr EString[1] coords;
!unique !ordered attr EString[1] ahref;
}
class STYLE extends BODYElement {
}
class EMBED extends BODYElement {
!unique !ordered attr EString[1] src;
!unique !ordered attr EString[1] width;
!unique !ordered attr EString[1] height;
!unique !ordered attr EString[1] align;
!unique !ordered attr EString[1] vspace;
!unique !ordered attr EString[1] hspace;
!unique !ordered attr EString[1] border;
}
class NOEMBED extends BODYElement {
}
class SPAN extends BODYElement {
!unique !ordered attr EString[1] style;
}
class A extends BODYElement {
!unique !ordered attr EString[1] ahref;
!unique !ordered attr EString[1] name;
!unique !ordered attr EString[1] ~id;
}
class DIV extends BODYElement {
!unique !ordered attr EString[1] align;
}
class P extends BODYElement {
}
abstract class TABLEElement extends BODYElement {
!unique !ordered attr EString[1] bgcolor;
!unique !ordered attr EString[1] background;
}
class TABLE extends TABLEElement {
!unique !ordered attr EString[1] border;
!unique !ordered attr EString[1] width;
!unique !ordered attr EString[1] cellspacing;
!unique !ordered attr EString[1] cellpadding;
!ordered val TR[*]#table trs;
}
class TR extends TABLEElement {
!unique !ordered attr EString[1] valign;
!unique !ordered attr EString[1] align;
!ordered ref TABLE[1]#trs table;
!ordered val TD[*]#tr tds;
}
class TD extends TABLEElement {
!unique !ordered attr EString[1] colspan;
!unique !ordered attr EString[1] rowspan;
!unique !ordered attr EString[1] valign;
!unique !ordered attr EString[1] align;
!unique !ordered attr EString[1] width;
!ordered ref TR[1]#tds tr;
}
class TH extends TD {
}
class FORM {
!unique !ordered attr EString[1] action;
!unique !ordered attr EString[1] method;
}
class INPUT {
!unique !ordered attr EString[1] align;
!unique !ordered attr EString[1] maxlength;
!unique !ordered attr EString[1] size;
!unique !ordered attr EString[1] checked;
!unique !ordered attr EString[1] src;
!unique !ordered attr EString[1] inputValue;
!unique !ordered attr EString[1] name;
!unique !ordered attr EString[1] type;
}
class TEXTAREA {
!unique !ordered attr EString[1] name;
!unique !ordered attr EString[1] rows;
!unique !ordered attr EString[1] cols;
}
class SELECT {
!unique !ordered attr EString[1] multiple;
!unique !ordered attr EString[1] size;
!unique !ordered attr EString[1] name;
}
class OPTION {
!unique !ordered attr EString[1] selected;
!unique !ordered attr EString[1] optionValue;
}
abstract class ListElement {
!unique !ordered attr EString[1] type;
}
class OL extends ListElement {
!unique !ordered attr EString[1] start;
}
class UL extends ListElement {
}
class LI extends ListElement {
!unique !ordered attr EString[1] liValue;
}
class DL {
}
class DT {
}
class DD {
}
class APPLET {
!unique !ordered attr EString[1] applet;
!unique !ordered attr EString[1] ~class;
!unique !ordered attr EString[1] src;
!unique !ordered attr EString[1] align;
!unique !ordered attr EString[1] width;
!unique !ordered attr EString[1] height;
}
class PARAM {
!unique !ordered attr EString[1] name;
!unique !ordered attr EString[1] paramValue;
}
class OBJECT {
!unique !ordered attr EString[1] classid;
!unique !ordered attr EString[1] ~id;
!unique !ordered attr EString[1] data;
!unique !ordered attr EString[1] type;
!unique !ordered attr EString[1] standby;
}
class FRAMESET {
!unique !ordered attr EString[1] rows;
!unique !ordered attr EString[1] cols;
!unique !ordered attr EString[1] framespacing;
!unique !ordered attr EString[1] frameborder;
!unique !ordered attr EString[1] border;
}
class FRAME {
!unique !ordered attr EString[1] src;
!unique !ordered attr EString[1] name;
!unique !ordered attr EString[1] marginwidth;
!unique !ordered attr EString[1] marginheight;
!unique !ordered attr EString[1] scrolling;
!unique !ordered attr EString[1] noresize;
}
class NOFRAME {
}
class IFRAME extends FRAME {
}