[[!meta title="Sequence planning for LibDOM specialisations"]] [[!meta author="Parwana"]] [[!meta date="2014-05-18T10:57:02Z"]] [[!toc]] The following development sequence will avoid any dependency conflicts in implementing them: ` interface HTMLBaseFontElement : HTMLElement {` `            attribute DOMString       color;` `            attribute DOMString       face;` `   // Modified in DOM Level 2:` `            attribute long            size;` ` };` ` interface HTMLAnchorElement : HTMLElement {` `            attribute DOMString       accessKey;` `            attribute DOMString       charset;` `            attribute DOMString       coords;` `            attribute DOMString       href;` `            attribute DOMString       hreflang;` `            attribute DOMString       name;` `            attribute DOMString       rel;` `            attribute DOMString       rev;` `            attribute DOMString       shape;` `            attribute long            tabIndex;` `            attribute DOMString       target;` `            attribute DOMString       type;` `   void               blur();` `   void               focus();` ` };` ` interface HTMLImageElement : HTMLElement {` `            attribute DOMString       name;` `            attribute DOMString       align;` `            attribute DOMString       alt;` `            attribute DOMString       border;` `   // Modified in DOM Level 2:` `            attribute long            height;` `   // Modified in DOM Level 2:` `            attribute long            hspace;` `            attribute boolean         isMap;` `            attribute DOMString       longDesc;` `            attribute DOMString       src;` `            attribute DOMString       useMap;` `   // Modified in DOM Level 2:` `            attribute long            vspace;` `   // Modified in DOM Level 2:` `            attribute long            width;` ` };` ` interface HTMLObjectElement : HTMLElement {` `   readonly attribute HTMLFormElement form;` `            attribute DOMString       code;` `            attribute DOMString       align;` `            attribute DOMString       archive;` `            attribute DOMString       border;` `            attribute DOMString       codeBase;` `            attribute DOMString       codeType;` `            attribute DOMString       data;` `            attribute boolean         declare;` `            attribute DOMString       height;` `            attribute long            hspace;` `            attribute DOMString       name;` `            attribute DOMString       standby;` `            attribute long            tabIndex;` `            attribute DOMString       type;` `            attribute DOMString       useMap;` `            attribute long            vspace;` `            attribute DOMString       width;` `   // Introduced in DOM Level 2:` `   readonly attribute Document        contentDocument;` ` };` ` interface HTMLParamElement : HTMLElement {` `            attribute DOMString       name;` `            attribute DOMString       type;` `            attribute DOMString       value;` `            attribute DOMString       valueType;` ` };` ` interface HTMLAppletElement : HTMLElement {` `            attribute DOMString       align;` `            attribute DOMString       alt;` `            attribute DOMString       archive;` `            attribute DOMString       code;` `            attribute DOMString       codeBase;` `            attribute DOMString       height;` `   // Modified in DOM Level 2:` `            attribute long            hspace;` `            attribute DOMString       name;` `   // Modified in DOM Level 2:` `            attribute DOMString       object;` `   // Modified in DOM Level 2:` `            attribute long            vspace;` `            attribute DOMString       width;` ` };` ` interface HTMLMapElement : HTMLElement {` `   readonly attribute HTMLCollection  areas;` `            attribute DOMString       name;` ` };` ` interface HTMLAreaElement : HTMLElement {` `            attribute DOMString       accessKey;` `            attribute DOMString       alt;` `            attribute DOMString       coords;` `            attribute DOMString       href;` `            attribute boolean         noHref;` `            attribute DOMString       shape;` `            attribute long            tabIndex;` `            attribute DOMString       target;` ` };` ` interface HTMLScriptElement : HTMLElement {` `            attribute DOMString       text;` `            attribute DOMString       htmlFor;` `            attribute DOMString       event;` `            attribute DOMString       charset;` `            attribute boolean         defer;` `            attribute DOMString       src;` `            attribute DOMString       type;` ` };` ` interface HTMLTableCaptionElement : HTMLElement {` `            attribute DOMString       align;` ` };` interface HTMLTableColElement : HTMLElement { `            attribute DOMString       align;` `            attribute DOMString       ch;` `            attribute DOMString       chOff;` `            attribute long            span;` `            attribute DOMString       vAlign;` `            attribute DOMString       width;` ` };` ` interface HTMLTableCellElement : HTMLElement {` `   readonly attribute long            cellIndex;` `            attribute DOMString       abbr;` `            attribute DOMString       align;` `            attribute DOMString       axis;` `            attribute DOMString       bgColor;` `            attribute DOMString       ch;` `            attribute DOMString       chOff;` `            attribute long            colSpan;` `            attribute DOMString       headers;` `            attribute DOMString       height;` `            attribute boolean         noWrap;` `            attribute long            rowSpan;` `            attribute DOMString       scope;` `            attribute DOMString       vAlign;` `            attribute DOMString       width;` ` };` ` interface HTMLTableRowElement : HTMLElement {` `   // Modified in DOM Level 2:` `   readonly attribute long            rowIndex;` `   // Modified in DOM Level 2:` `   readonly attribute long            sectionRowIndex;` `   // Modified in DOM Level 2:` `   readonly attribute HTMLCollection  cells;` `            attribute DOMString       align;` `            attribute DOMString       bgColor;` `            attribute DOMString       ch;` `            attribute DOMString       chOff;` `            attribute DOMString       vAlign;` `   // Modified in DOM Level 2:` `   HTMLElement        insertCell(in long index)` `                                       raises(dom::DOMException);` `   // Modified in DOM Level 2:` `   void               deleteCell(in long index)` `                                       raises(dom::DOMException);` ` };` `interface HTMLTableSectionElement : HTMLElement {` `            attribute DOMString       align;` `            attribute DOMString       ch;` `            attribute DOMString       chOff;` `            attribute DOMString       vAlign;` `   readonly attribute HTMLCollection  rows;` `   // Modified in DOM Level 2:` `   HTMLElement        insertRow(in long index)` `                                       raises(dom::DOMException);` `   // Modified in DOM Level 2:` `   void               deleteRow(in long index)` `                                       raises(dom::DOMException);` ` };` ` interface HTMLTableElement : HTMLElement {` `   // Modified in DOM Level 2:` `            attribute HTMLTableCaptionElement caption;` `                                       // raises(dom::DOMException) on setting` `   // Modified in DOM Level 2:` `            attribute HTMLTableSectionElement tHead;` `                                       // raises(dom::DOMException) on setting` `   // Modified in DOM Level 2:` `            attribute HTMLTableSectionElement tFoot;` `                                       // raises(dom::DOMException) on setting` `   readonly attribute HTMLCollection  rows;` `   readonly attribute HTMLCollection  tBodies;` `            attribute DOMString       align;` `            attribute DOMString       bgColor;` `            attribute DOMString       border;` `            attribute DOMString       cellPadding;` `            attribute DOMString       cellSpacing;` `            attribute DOMString       frame;` `            attribute DOMString       rules;` `            attribute DOMString       summary;` `            attribute DOMString       width;` `   HTMLElement        createTHead();` `   void               deleteTHead();` `   HTMLElement        createTFoot();` `   void               deleteTFoot();` `   HTMLElement        createCaption();` `   void               deleteCaption();` `   // Modified in DOM Level 2:` `   HTMLElement        insertRow(in long index)` `                                       raises(dom::DOMException);` `   // Modified in DOM Level 2:` `   void               deleteRow(in long index)` `                                       raises(dom::DOMException);` ` };` ` interface HTMLFrameSetElement : HTMLElement {` `            attribute DOMString       cols;` `            attribute DOMString       rows;` ` };` ` interface HTMLFrameElement : HTMLElement {` `            attribute DOMString       frameBorder;` `            attribute DOMString       longDesc;` `            attribute DOMString       marginHeight;` `            attribute DOMString       marginWidth;` `            attribute DOMString       name;` `            attribute boolean         noResize;` `            attribute DOMString       scrolling;` `            attribute DOMString       src;` `   // Introduced in DOM Level 2:` `   readonly attribute Document        contentDocument;` ` };` ` interface HTMLIFrameElement : HTMLElement {` `            attribute DOMString       align;` `            attribute DOMString       frameBorder;` `            attribute DOMString       height;` `            attribute DOMString       longDesc;` `            attribute DOMString       marginHeight;` `            attribute DOMString       marginWidth;` `            attribute DOMString       name;` `            attribute DOMString       scrolling;` `            attribute DOMString       src;` `            attribute DOMString       width;` `   // Introduced in DOM Level 2:` `   readonly attribute Document        contentDocument;` ` };` }; Done: interface HTMLDListElement : HTMLElement { `            attribute boolean         compact;` ` };` ` interface HTMLDirectoryElement : HTMLElement {` `            attribute boolean         compact;` ` };` ` interface HTMLMenuElement : HTMLElement {` `            attribute boolean         compact;` ` };` ` interface HTMLFieldSetElement : HTMLElement {` `   readonly attribute HTMLFormElement form;` ` };` ` interface HTMLDivElement : HTMLElement {` `            attribute DOMString       align;` ` };` ` interface HTMLParagraphElement : HTMLElement {` `            attribute DOMString       align;` ` };` ` interface HTMLHeadingElement : HTMLElement {` `            attribute DOMString       align;` ` };` ` interface HTMLQuoteElement : HTMLElement {` `            attribute DOMString       cite;` ` };` ` interface HTMLPreElement : HTMLElement {` `            attribute long            width;` ` };` ` interface HTMLBRElement : HTMLElement {` `            attribute DOMString       clear;` ` };` ` interface HTMLLabelElement : HTMLElement {` `   readonly attribute HTMLFormElement form;` `            attribute DOMString       accessKey;` `            attribute DOMString       htmlFor;` ` };` ` interface HTMLLegendElement : HTMLElement {` `   readonly attribute HTMLFormElement form;` `            attribute DOMString       accessKey;` `            attribute DOMString       align;` ` };` ` interface HTMLUListElement : HTMLElement {` `            attribute boolean         compact;` `            attribute DOMString       type;` ` };` ` interface HTMLOListElement : HTMLElement {` `            attribute boolean         compact;` `            attribute long            start;` `            attribute DOMString       type;` ` };` ` interface HTMLLIElement : HTMLElement {` `            attribute DOMString       type;` `            attribute long            value;` ` };` interface HTMLFontElement : HTMLElement { `            attribute DOMString       color;` `            attribute DOMString       face;` `            attribute DOMString       size;` ` };` ` interface HTMLHRElement : HTMLElement {` ` //In reiview` `            attribute DOMString       align;` `            attribute boolean         noShade;` `            attribute DOMString       size;` `            attribute DOMString       width;` ` };` ` interface HTMLModElement : HTMLElement {` `            attribute DOMString       cite;` `            attribute DOMString       dateTime;` ` };`