Last active
August 29, 2015 14:16
-
-
Save achudars/d1850fb914a9ec56eaa6 to your computer and use it in GitHub Desktop.
HTML 5 metamodel in EMF (being updated)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@namespace( | |
uri="HTML", | |
prefix="HTML") | |
package HTML; | |
class Model { | |
val HTMLHtmlElement HTMLHtmlElement; | |
} | |
abstract class HTMLHtmlElement { | |
val HTMLHeadElement[1] HTMLHeadElement; | |
val HTMLBodyElement[1] HTMLBodyElement; | |
} | |
abstract class HTMLAnchorElement extends HTMLElement { | |
attr String href; | |
attr String target; | |
attr String download; | |
attr String rel; | |
attr String hreflang; | |
attr String type; | |
} | |
abstract class HTMLAreaElement { | |
attr String alt; | |
attr String coords; | |
attr String download; | |
attr String href; | |
attr String hreflang; | |
attr String rel; | |
attr String shape; | |
attr String target; | |
attr String type; | |
} | |
abstract class HTMLAudioElement extends HTMLMediaElement { | |
} | |
abstract class HTMLBaseElement extends HTMLElement { | |
attr String href; | |
attr String target; | |
} | |
abstract class HTMLBodyElement { | |
attr String accesskey; | |
attr String CLASS; | |
attr boolean contenteditable; | |
attr String dir; | |
attr boolean hidden; | |
attr String ID; | |
attr String lang; | |
attr boolean spellcheck; | |
attr String style; | |
attr String tabindex; | |
attr String title; | |
attr boolean translate; | |
val HTMLElement[*] bodyElements; | |
} | |
abstract class HTMLBRElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLButtonElement extends HTMLElement { | |
attr boolean autofocus; | |
attr boolean disabled; | |
attr String formAction; | |
attr String formEnctype; | |
attr String formMethod; | |
attr boolean formNoValidate; | |
attr String formTarget; | |
attr String name; | |
attr String type; | |
attr String value; | |
attr boolean willValidate; | |
attr String validationMessage; | |
} | |
abstract class HTMLCanvasElement extends HTMLElement { | |
attr long width; | |
attr long height; | |
} | |
abstract class HTMLDataElement extends HTMLElement { | |
attr String value; | |
} | |
abstract class HTMLDataListElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLDivElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLDListElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLElement { | |
// globals that are applicable to all HTML elements | |
attr String accesskey; | |
attr String CLASS; | |
attr boolean contenteditable; | |
attr String dir; | |
attr boolean hidden; | |
attr String ID; | |
attr String lang; | |
attr boolean spellcheck; | |
attr String style; | |
attr String tabindex; | |
attr String title; | |
attr boolean translate; | |
} | |
abstract class HTMLEmbedElement extends HTMLElement { | |
attr String src; | |
attr String type; | |
attr String width; | |
attr String height; | |
} | |
abstract class HTMLFieldSetElement extends HTMLElement { | |
attr boolean disabled; | |
attr String name; | |
attr String type; | |
attr boolean willValidate; | |
attr String validationMessage; | |
} | |
abstract class HTMLFormElement extends HTMLElement { | |
attr String acceptCharset; | |
attr String action; | |
attr String autocomplete; | |
attr String enctype; | |
attr String encoding; | |
attr String method; | |
attr String name; | |
attr boolean noValidate; | |
attr String target; | |
} | |
abstract class HTMLHeadElement { | |
attr String accesskey; | |
attr String CLASS; | |
attr boolean contenteditable; | |
attr String dir; | |
attr boolean hidden; | |
attr String ID; | |
attr String lang; | |
attr boolean spellcheck; | |
attr String style; | |
attr String tabindex; | |
attr String title; | |
attr boolean translate; | |
val HTMLElement[*] headElements; | |
} | |
abstract class HTMLHeadingElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLHRElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLIFrameElement extends HTMLElement { | |
attr String src; | |
attr String srcdoc; | |
attr String name; | |
attr String width; | |
attr String height; | |
} | |
abstract class HTMLImageElement extends HTMLElement { | |
attr String alt; | |
attr String src; | |
attr String crossOrigin; | |
attr String useMap; | |
attr boolean isMap; | |
attr long width; | |
attr long height; | |
attr long naturalWidth; | |
attr long naturalHeight; | |
attr boolean complete; | |
} | |
abstract class HTMLInputElement extends HTMLElement { | |
attr String accept; | |
attr String alt; | |
attr String autocomplete; | |
attr boolean autofocus; | |
attr boolean defaultChecked; | |
attr boolean checked; | |
attr String dirName; | |
attr boolean disabled; | |
attr String formAction; | |
attr String formEnctype; | |
attr String formMethod; | |
attr boolean formNoValidate; | |
attr String formTarget; | |
attr long height; | |
attr boolean indeterminate; | |
attr String max; | |
attr long maxLength; | |
attr String min; | |
attr long minLength; | |
attr boolean multiple; | |
attr String name; | |
attr String pattern; | |
attr String placeholder; | |
attr boolean READONLY; | |
attr boolean required; | |
attr long size; | |
attr String src; | |
attr String step; | |
attr String type; | |
attr String defaultValue; | |
attr long width; | |
} | |
abstract class HTMLKeygenElement extends HTMLElement { | |
attr boolean autofocus; | |
attr String challenge; | |
attr boolean disabled; | |
attr String keytype; | |
attr String name; | |
attr String type; | |
} | |
abstract class HTMLLabelElement extends HTMLElement { | |
attr String htmlFor; | |
} | |
abstract class HTMLLegendElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLLIElement extends HTMLElement { | |
attr long value; | |
} | |
abstract class HTMLLinkElement extends HTMLElement { | |
attr boolean disabled; | |
attr String href; | |
attr String crossOrigin; | |
attr String rel; | |
attr String rev; | |
attr String media; | |
attr String hreflang; | |
attr String type; | |
} | |
abstract class HTMLMapElement extends HTMLElement { | |
attr String name; | |
} | |
abstract class HTMLMediaElement extends HTMLElement { | |
attr String src; | |
attr String currentSrc; | |
attr String crossOrigin; | |
attr short networkState; | |
attr String preload; | |
attr boolean paused; | |
attr double defaultPlaybackRate; | |
attr double playbackRate; | |
attr boolean ended; | |
attr boolean autoplay; | |
attr boolean loop; | |
attr String mediaGroup; | |
attr boolean controls; | |
attr double volume; | |
attr boolean muted; | |
attr boolean defaultMuted; | |
} | |
abstract class HTMLMetaElement extends HTMLElement { | |
attr String name; | |
attr String httpEquiv; | |
attr String content; | |
} | |
abstract class HTMLMeterElement extends HTMLElement { | |
attr double value; | |
attr double min; | |
attr double max; | |
attr double low; | |
attr double high; | |
attr double optimum; | |
} | |
abstract class HTMLModElement extends HTMLElement { | |
attr String cite; | |
attr String dateTime; | |
} | |
abstract class HTMLObjectElement extends HTMLElement { | |
attr String data; | |
attr String type; | |
attr boolean typeMustMatch; | |
attr String name; | |
attr String useMap; | |
attr String width; | |
attr String height; | |
attr boolean willValidate; | |
attr String validationMessage; | |
} | |
abstract class HTMLOListElement extends HTMLElement { | |
attr boolean reversed; | |
attr long start; | |
attr String type; | |
} | |
abstract class HTMLOptGroupElement extends HTMLElement { | |
attr boolean disabled; | |
attr String label; | |
} | |
abstract class HTMLOptionElement extends HTMLElement { | |
attr boolean disabled; | |
attr String label; | |
attr boolean defaultSelected; | |
attr boolean selected; | |
attr String value; | |
attr String text; | |
attr long index; | |
} | |
abstract class HTMLOutputElement extends HTMLElement { | |
attr String for; | |
attr String form; | |
attr String name; | |
} | |
abstract class HTMLParagraphElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLParamElement extends HTMLElement { | |
attr String name; | |
attr String value; | |
} | |
abstract class HTMLPreElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLProgressElement extends HTMLElement { | |
attr double value; | |
attr double max; | |
attr double position; | |
} | |
abstract class HTMLQuoteElement extends HTMLElement { | |
attr String cite; | |
} | |
abstract class HTMLScriptElement extends HTMLElement { | |
attr String src; | |
attr String type; | |
attr String charset; | |
attr boolean async; | |
attr boolean defer; | |
attr String crossOrigin; | |
attr String text; | |
} | |
abstract class HTMLSelectElement extends HTMLElement { | |
attr String autofocus; | |
attr String disabled; | |
attr String form; | |
attr String multiple; | |
attr String name; | |
attr String required; | |
attr String size; | |
} | |
abstract class HTMLSourceElement extends HTMLElement { | |
attr String src; | |
attr String type; | |
attr String media; | |
} | |
abstract class HTMLSpanElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLStyleElement extends HTMLElement { | |
attr boolean disabled; | |
attr String media; | |
attr String type; | |
} | |
abstract class HTMLTableCaptionElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLTableCellElement extends HTMLElement { | |
attr long colSpan; | |
attr long rowSpan; | |
} | |
abstract class HTMLTableColElement extends HTMLElement { | |
attr long span; | |
} | |
abstract class HTMLTableDataCellElement extends HTMLTableCellElement { | |
// | |
} | |
abstract class HTMLTableElement extends HTMLElement { | |
attr String border; | |
attr String sortable; | |
} | |
abstract class HTMLTableHeaderCellElement extends HTMLTableCellElement { | |
attr String scope; | |
attr String abbr; | |
} | |
abstract class HTMLTableRowElement extends HTMLElement { | |
attr long rowIndex; | |
attr long sectionRowIndex; | |
} | |
abstract class HTMLTableSectionElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLTemplateElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLTextAreaElement extends HTMLElement { | |
attr String autocomplete; | |
attr String autofocus; | |
attr String cols; | |
attr String dirname; | |
attr String disabled; | |
attr String form; | |
attr String inputmode; | |
attr String maxlength; | |
attr String minlength; | |
attr String name; | |
attr String placeholder; | |
attr boolean READONLY; | |
attr String required; | |
attr String rows; | |
attr String wrap; | |
} | |
abstract class HTMLTimeElement extends HTMLElement { | |
attr String dateTime; | |
} | |
abstract class HTMLTitleElement extends HTMLElement { | |
attr String text; | |
} | |
abstract class HTMLTrackElement extends HTMLElement { | |
attr String kind; | |
attr String src; | |
attr String srclang; | |
attr String label; | |
attr boolean default; | |
} | |
abstract class HTMLUListElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLUnknownElement extends HTMLElement { | |
// | |
} | |
abstract class HTMLVideoElement extends HTMLMediaElement { | |
attr String src; | |
attr String crossorigin; | |
attr String poster; | |
attr String preload; | |
attr String autoplay; | |
attr String mediagroup; | |
attr String loop; | |
attr String muted; | |
attr String controls; | |
attr String width; | |
attr String height; | |
} | |
// ------------------------------------------------------------------------------------ | |
// Hyperlink | |
class A extends HTMLAnchorElement { | |
// globals; href; target; download; rel; hreflang; type | |
} | |
// Abbreviation | |
class ABBR extends HTMLElement { | |
// globals | |
} | |
// Contact information for a page or article element | |
class ADDRESS extends HTMLElement { | |
// globals | |
} | |
// Hyperlink or dead area on an image map | |
class AREA extends HTMLAreaElement { | |
// globals; alt; coords; shape; href; target; download; rel; hreflang; type | |
} | |
// Self-contained syndicatable or reusable composition | |
class ARTICLE extends HTMLElement { | |
// globals | |
} | |
// Sidebar for tangentially related content | |
class ASIDE extends HTMLElement { | |
// globals | |
} | |
// Audio player | |
class AUDIO extends HTMLAudioElement { | |
// globals; src; crossorigin; preload; autoplay; mediagroup; loop; muted; controls | |
} | |
// Keywords | |
class B extends HTMLElement { | |
// globals | |
} | |
// Base URL and default target browsing context for hyperlinks and forms | |
class BASE extends HTMLBaseElement { | |
// globals; href; target | |
} | |
// Text directionality isolation | |
class BDI extends HTMLElement { | |
// globals | |
} | |
// Text directionality formatting | |
class BDO extends HTMLElement { | |
// globals | |
} | |
// A section quoted from another source | |
class BLOCKQUOTE extends HTMLQuoteElement { | |
// globals; cite | |
} | |
// Document body | |
class BODY extends HTMLBodyElement { | |
// globals; onafterprint; onbeforeprint; onbeforeunload; onhashchange; | |
// onmessage; onoffline; ononline; onpagehide; onpageshow; onpopstate; | |
// onstorage; onunload | |
} | |
// Line break, e.g. in poem or postal address | |
class BR extends HTMLBRElement { | |
// globals; | |
} | |
// Button control | |
class BUTTON extends HTMLButtonElement { | |
// globals; autofocus; disabled; form; formaction; formenctype; | |
// formmethod; formnovalidate; formtarget; name; type; value | |
} | |
// Scriptable bitmap canvas | |
class CANVAS extends HTMLCanvasElement { | |
// globals; width; height | |
} | |
// Table caption | |
class CAPTION extends HTMLTableCaptionElement { | |
// globals | |
} | |
// Title of a work | |
class CITE extends HTMLElement { | |
// globals | |
} | |
// Computer code | |
class CODE extends HTMLElement { | |
// globals | |
} | |
// Table column | |
class COL extends HTMLTableColElement { | |
// globals; span | |
} | |
// Group of columns in a table | |
class COLGROUP extends HTMLTableColElement { | |
// globals; span | |
} | |
// Machine-readable equivalent | |
class DATA extends HTMLDataElement { | |
// globals; value | |
} | |
// Container for options for combo box control | |
class DATALIST extends HTMLDataListElement { | |
// globals | |
} | |
// Content for corresponding dt element(s) | |
class DD extends HTMLElement { | |
// globals | |
} | |
// A removal from the document | |
class DEL extends HTMLModElement { | |
// globals; cite; datetime | |
} | |
// Defining instance | |
class DFN extends HTMLElement { | |
// globals | |
} | |
// Generic flow container | |
class DIV extends HTMLDivElement { | |
// globals | |
} | |
// Association list consisting of zero or more name-value groups | |
class DL extends HTMLDListElement { | |
// globals | |
} | |
// Legend for correspondingdd element(s) | |
class DT extends HTMLElement { | |
// globals | |
} | |
// Stress emphasis | |
class EM extends HTMLElement { | |
// globals | |
} | |
// Plugin | |
class EMBED extends HTMLEmbedElement { | |
// globals; src; type; width; height; any* | |
} | |
// Group of form controls | |
class FIELDSET extends HTMLFieldSetElement { | |
// globals; disabled; form; name | |
} | |
// Caption forfigure | |
class FIGCAPTION extends HTMLElement { | |
// globals | |
} | |
// Figure with optional caption | |
class FIGURE extends HTMLElement { | |
// globals | |
} | |
// Footer for a page or section | |
class FOOTER extends HTMLElement { | |
// globals | |
} | |
// User-submittable form | |
class FORM extends HTMLFormElement { | |
// globals; accept-charset; action; autocomplete; | |
// enctype; method; name; novalidate; target | |
} | |
// Section heading | |
class H1 extends HTMLHeadingElement { | |
// globals | |
} | |
// Section heading | |
class H2 extends HTMLHeadingElement { | |
// globals | |
} | |
// Section heading | |
class H3 extends HTMLHeadingElement { | |
// globals | |
} | |
// Section heading | |
class H4 extends HTMLHeadingElement { | |
// globals | |
} | |
// Section heading | |
class H5 extends HTMLHeadingElement { | |
// globals | |
} | |
// Section heading | |
class H6 extends HTMLHeadingElement { | |
// globals | |
} | |
// Container for document metadata | |
class HEAD extends HTMLHeadElement { | |
// globals | |
} | |
// Introductory or navigational aids for a page or section | |
class HEADER extends HTMLElement { | |
// globals | |
} | |
// Thematic break | |
class HR extends HTMLHRElement { | |
// globals | |
} | |
// Root element | |
class HTML extends HTMLHtmlElement { | |
// globals; manifest | |
} | |
// Alternate voice | |
class I extends HTMLElement { | |
// globals | |
} | |
// Nested browsing context | |
class IFRAME extends HTMLIFrameElement { | |
// globals; src; srcdoc; name; sandbox; width; height | |
} | |
// Image | |
class IMG extends HTMLImageElement { | |
// globals; alt; src; crossorigin; usemap; ismap; width; height | |
} | |
// Form control | |
class INPUT extends HTMLInputElement { | |
// globals; accept; alt; autocomplete; autofocus; checked; | |
// dirname; disabled; form; formaction; formenctype; formmethod; | |
// formnovalidate; formtarget; height; list; max; maxlength; min; | |
// minlength; multiple; name; pattern; placeholder; readonly; | |
// required; size; src; step; type; value; width | |
} | |
// An addition to the document | |
class INS extends HTMLModElement { | |
// globals; cite; datetime | |
} | |
// User input | |
class KBD extends HTMLElement { | |
// globals | |
} | |
// Cryptographic key-pair generator form control | |
class KEYGEN extends HTMLKeygenElement { | |
// globals; autofocus; challenge; disabled; form; keytype; name | |
} | |
// Caption for a form control | |
class LABEL extends HTMLLabelElement { | |
// globals; form; for | |
} | |
// Caption for fieldset | |
class LEGEND extends HTMLLegendElement{ | |
// globals | |
} | |
// List item | |
class LI extends HTMLLIElement { | |
// globals; value* | |
} | |
// Link metadata | |
class LINK extends HTMLLinkElement { | |
// globals; href; crossorigin; rel; media; hreflang; type; sizes | |
} | |
// Main content of a document | |
class MAIN extends HTMLElement { | |
// globals | |
} | |
// Image map | |
class MAP extends HTMLMapElement { | |
// globals; name | |
} | |
// Highlight | |
class MARK extends HTMLElement { | |
// extends | |
} | |
// Text metadata | |
class META extends HTMLMetaElement { | |
// globals; name; http-equiv; content; charset | |
} | |
// Gauge | |
class METER extends HTMLMeterElement { | |
// globals; value; min; max; low; high; optimum | |
} | |
// Section with navigational links | |
class NAV extends HTMLElement { | |
// globals | |
} | |
// Fallback content for script | |
class NOSCRIPT extends HTMLElement { | |
// globals | |
} | |
// Image, nested browsing context, or plugin | |
class OBJECT extends HTMLObjectElement { | |
// globals; data; type; typemustmatch; name; usemap; form; width height | |
} | |
// Ordered list | |
class OL extends HTMLOListElement { | |
// globals; reversed; start; type | |
} | |
// Group of options in a list box | |
class OPTGROUP extends HTMLOptGroupElement { | |
// globals; disabled; label | |
} | |
// Option in a list box or combo box control | |
class OPTION extends HTMLOptionElement { | |
// globals; disabled; label; selected; value | |
} | |
// Calculated output value | |
class OUTPUT extends HTMLOutputElement { | |
// globals; for; form; name | |
} | |
// Paragraph | |
class P extends HTMLParagraphElement { | |
// globals | |
} | |
// Parameter for object | |
class PARAM extends HTMLParamElement { | |
// globals; name; value | |
} | |
// Block of preformatted text | |
class PRE extends HTMLPreElement { | |
// globals | |
} | |
// Progress bar | |
class PROGRESS extends HTMLProgressElement { | |
// globals; value; max | |
} | |
// Quotation | |
class Q extends HTMLQuoteElement { | |
// globals; cite | |
} | |
// Ruby base | |
class RB extends HTMLElement { | |
// globals | |
} | |
// Parenthesis for ruby annotation text | |
class RP extends HTMLElement { | |
// globals | |
} | |
// Ruby annotation text | |
class RT extends HTMLElement { | |
// globals | |
} | |
// Ruby annotation text container | |
class RTC extends HTMLElement { | |
// globals | |
} | |
// Ruby annotation(s) | |
class RUBY extends HTMLElement { | |
// globals | |
} | |
// Inaccurate text | |
class S extends HTMLElement { | |
// globals | |
} | |
// Computer output | |
class SAMP extends HTMLElement { | |
// globals | |
} | |
// Embedded script | |
class SCRIPT extends HTMLScriptElement { | |
// globals; src; type; charset; async; defer; crossorigin | |
} | |
// Generic document or application section | |
class SECTION extends HTMLElement { | |
// globals | |
} | |
// List box control | |
class SELECT extends HTMLSelectElement { | |
// globals; autofocus; disabled; form; multiple; name; required; size | |
} | |
// Side comment | |
class SMALL extends HTMLElement { | |
// globals | |
} | |
// Media source for video oraudio | |
class SOURCE extends HTMLSourceElement { | |
// globals; src; type; media | |
} | |
// Generic phrasing container | |
class SPAN extends HTMLSpanElement { | |
// globals | |
} | |
// Importance | |
class STRONG extends HTMLElement { | |
// globals | |
} | |
// Embedded styling information | |
class STYLE extends HTMLStyleElement { | |
// globals; media; type | |
} | |
// Subscript | |
class SUB extends HTMLElement { | |
// globals | |
} | |
// Superscript | |
class SUP extends HTMLElement { | |
// globals | |
} | |
// Table | |
class TABLE extends HTMLTableElement { | |
// globals; border | |
} | |
// Group of rows in a table | |
class TBODY extends HTMLTableSectionElement { | |
// globals | |
} | |
// Table cell | |
class TD extends HTMLTableDataCellElement { | |
// globals; colspan; rowspan; headers | |
} | |
// Template | |
class TEMPLATE extends HTMLTemplateElement { | |
// globals | |
} | |
// Multiline text field | |
class TEXTAREA extends HTMLTextAreaElement { | |
// globals; autofocus; cols; dirname; disabled; form; maxlength; | |
// minlength; name; placeholder; readonly; required; rows; wrap | |
} | |
// Group of footer rows in a table | |
class TFOOT extends HTMLTableSectionElement { | |
// globals | |
} | |
// Table header cell | |
class TH extends HTMLTableHeaderCellElement { | |
// globals; colspan; rowspan; headers; scope; abbr | |
} | |
// Group of heading rows in a table | |
class THEAD extends HTMLTableSectionElement { | |
// globals | |
} | |
// Machine-readable equivalent of date- or time-related data | |
class TIME extends HTMLTimeElement { | |
// globals; datetime | |
} | |
// Document title | |
class TITLE extends HTMLTitleElement { | |
} | |
// Table row | |
class TR extends HTMLTableRowElement { | |
} | |
// Timed text track | |
class TRACK extends HTMLTrackElement { | |
// globals; default; kind; label; src; srclang | |
} | |
// Keywords | |
class U extends HTMLElement { | |
// globals | |
} | |
// List | |
class UL extends HTMLUListElement { | |
// globals | |
} | |
// Variable | |
class VAR extends HTMLElement { | |
// globals | |
} | |
// Video player | |
class VIDEO { | |
// globals; src; crossorigin; poster; preload; autoplay; | |
// mediagroup; loop; muted; controls; width; height | |
} | |
// Line breaking opportunity | |
class WBR extends HTMLVideoElement { | |
// globals | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment