00001 namespace DOM 00002 { 00003 00004 typedef unsigned long long DOMTimeStamp; 00005 00006 namespace HTML 00007 { 00008 00009 } 00010 00011 namespace XML 00012 { 00013 00014 } 00015 } 00016 00017 #if 0 00018 00019 #define Attribute(TYPE, NAME) \ 00020 protected: TYPE NAME;\ 00021 public: inline const TYPE & NAME() const throw() { return NAME; } \ 00022 public: inline void NAME(const TYPE & __name) throw() { NAME = __name; } 00023 00024 #define ExceptionAttribute(TYPE, NAME, Excp) \ 00025 protected: TYPE NAME;\ 00026 public: inline const TYPE & NAME() const throw() { return NAME; } \ 00027 public: inline void NAME(const TYPE & __name) throw(Excp); 00028 00029 #define ConstAttribute(TYPE, NAME) \ 00030 protected: const TYPE NAME;\ 00031 public: inline const TYPE & NAME() const throw() { return NAME; } 00032 00033 00040 class HTMLCollection 00041 { 00042 protected: 00044 const unsigned long length; 00045 public: 00047 const unsigned long & length() const { return length; } 00048 00049 00055 Node item(const unsigned long & index) const throw(); 00064 Node namedItem(const DOMString & name) const throw(); 00065 }; 00066 00067 00074 class HTMLOptionsCollection 00075 { 00076 protected: 00078 const unsigned long length; 00079 public: 00081 const unsigned long & length() const { return length; } 00083 void length(const unsigned long len) throw(DOMException); 00084 00090 Node item(const unsigned long & index) const throw(); 00099 Node namedItem(const DOMString & name) const throw(); 00100 }; 00101 00102 00121 class HTMLDocument : public Document 00122 { 00124 Attribute(DOMString, title) 00127 ConstAttribute(DOMString, referrer) 00129 ConstAttribute(DOMString, domain) 00131 ConstAttribute(DOMString, URL) 00135 Attribute(HTMLElement, body) 00143 ConstAttribute(HTMLCollection, images) 00145 ConstAttribute(HTMLCollection, applets) 00147 ConstAttribute(HTMLCollection, links) 00149 ConstAttribute(HTMLCollection, forms) 00157 ConstAttribute(HTMLCollection, anchors) 00188 ExceptionAttribute(DOMString, cookie, DOMException) 00189 00190 public: 00196 void open() throw(); 00198 void close() throw(); 00205 void write(const DOMString & text) throw(); 00212 void writeln(const DOMString & text) throw(); 00220 NodeList getElementsByName(const DOMString & elementName) const throw(); 00221 }; 00222 00234 class HTMLElement : public Element 00235 { 00237 Attribute(DOMString, id) 00239 Attribute(DOMString, title) 00241 Attribute(DOMString, lang) 00243 Attribute(DOMString, dir) 00247 Attribute(DOMString, className) 00248 }; 00249 00251 class HTMLHtmlElement : public HTMLElement 00252 { 00254 Attribute(DOMString, version) 00255 }; 00256 00258 class HTMLHeadElement : public HTMLElement 00259 { 00261 Attribute(DOMString, profile) 00262 }; 00263 00267 class HTMLLinkElement : public HTMLElement 00268 { 00270 Attribute(bool, disabled) 00272 Attribute(DOMString, charset) 00274 Attribute(DOMString, href) 00276 Attribute(DOMString, hreflang) 00278 Attribute(DOMString, media) 00280 Attribute(DOMString, rel) 00282 Attribute(DOMString, rev) 00284 Attribute(DOMString, target) 00286 Attribute(DOMString, type) 00287 }; 00288 00289 00291 class HTMLTitleElement : public HTMLElement 00292 { 00294 Attribute(DOMString, text) 00295 }; 00296 00298 class HTMLMetaElement : public HTMLElement 00299 { 00301 Attribute(DOMString, content) 00303 Attribute(DOMString, httpEquiv) 00305 Attribute(DOMString, name) 00307 Attribute(DOMString, scheme) 00308 }; 00309 00311 class HTMLBaseElement : public HTMLElement 00312 { 00314 Attribute(DOMString, href) 00316 Attribute(DOMString, target) 00317 }; 00318 00319 00324 class HTMLIsIndexElement : public HTMLElement 00325 { 00327 ConstAttribute(HTMLFormElement, form) 00329 Attribute(DOMString, prompt) 00330 }; 00331 00336 class HTMLStyleElement : public HTMLElement 00337 { 00339 Attribute(bool, disabled) 00341 Attribute(DOMString, media) 00343 Attribute(DOMString, type) 00344 }; 00345 00352 class HTMLBodyElement : public HTMLElement 00353 { 00356 Attribute(DOMString, aLink) 00359 Attribute(DOMString, background) 00362 Attribute(DOMString, bgColor) 00365 Attribute(DOMString, link) 00368 Attribute(DOMString, text) 00371 Attribute(DOMString, vLink) 00372 }; 00373 00378 class HTMLFormElement : public HTMLElement 00379 { 00381 ConstAttribute(HTMLCollection, elements) 00383 ConstAttribute(long, length) 00385 Attribute(DOMString, name) 00387 Attribute(DOMString, acceptCharset) 00389 Attribute(DOMString, action) 00395 Attribute(DOMString, enctype) 00397 Attribute(DOMString, method) 00399 Attribute(DOMString, target) 00400 public: 00402 void submit() throw(); 00404 void reset() throw(); 00405 }; 00406 00411 class HTMLSelectElement : public HTMLElement 00412 { 00415 ConstAttribute(DOMString, type) 00419 Attribute(long, selectedIndex) 00422 Attribute(DOMString, value) 00424 ExceptionAttribute(unsigned long, length, DOMException) 00426 ConstAttribute(HTMLFormElement, form) 00428 ConstAttribute(HTMLOptionsCollection, options) 00430 Attribute(bool, disabled) 00432 Attribute(bool, multiple) 00434 Attribute(DOMString, name) 00436 Attribute(long, size) 00438 Attribute(long, tabIndex) 00439 public: 00450 void add(const HTMLElement & element, const HTMLElement & before) throw(DOMException); 00456 void remove(const long & index) throw(); 00458 void blur() throw(); 00460 void focus() throw(); 00461 }; 00462 00466 class HTMLOptGroupElement : public HTMLElement 00467 { 00469 Attribute(bool, disabled) 00471 Attribute(DOMString, label) 00472 }; 00473 00475 class HTMLOptionElement : public HTMLElement 00476 { 00479 ConstAttribute(HTMLFormElement, form) 00484 Attribute(bool, defaultSelected) 00486 ConstAttribute(DOMString, text) 00488 ConstAttribute(long, index) 00491 Attribute(bool, disabled) 00494 Attribute(DOMString, label) 00498 Attribute(bool, selected) 00501 Attribute(DOMString, value) 00502 }; 00503 00513 class HTMLInputElement : public HTMLElement 00514 { 00520 Attribute(DOMString, defaultValue) 00525 Attribute(bool, defaultChecked) 00528 ConstAttribute(HTMLFormElement, form) 00531 Attribute(DOMString, accept) 00534 Attribute(DOMString, accessKey) 00538 Attribute(DOMString, align) 00541 Attribute(DOMString, alt) 00555 Attribute(bool, checked) 00558 Attribute(bool, disabled) 00561 Attribute(long, maxLength) 00564 Attribute(DOMString, name) 00568 Attribute(bool, readOnly) 00572 Attribute(unsigned long, size) 00576 Attribute(DOMString, src) 00579 Attribute(long, tabIndex) 00582 Attribute(DOMString, type) 00585 Attribute(DOMString, useMap) 00594 Attribute(DOMString, value) 00595 public: 00597 void blur() throw(); 00599 void focus() throw(); 00603 void select() throw(); 00607 void click() throw(); 00608 }; 00609 00611 class HTMLTextAreaElement : public HTMLElement 00612 { 00616 Attribute(DOMString, defaultValue) 00619 ConstAttribute(HTMLFormElement, form) 00622 Attribute(DOMString, accessKey) 00625 Attribute(long, cols) 00628 Attribute(bool, disabled) 00631 Attribute(DOMString, name) 00634 Attribute(boolean, readOnly) 00637 Attribute(long, rows) 00640 Attribute(long, tabIndex) 00643 ConstAttribute(DOMString, type) 00649 Attribute(DOMString, value) 00650 public: 00652 void blur() throw(); 00654 void focus() throw(); 00656 void select() throw(); 00657 }; 00658 00662 class HTMLButtonElement : public HTMLElement 00663 { 00666 ConstAttribute(HTMLFormElement, form) 00669 Attribute(DOMString, accessKey) 00672 Attribute(bool, disabled) 00675 Attribute(DOMString, name) 00678 Attribute(long, tabIndex) 00681 ConstAttribute(DOMString, type) 00684 Attribute(DOMString, value) 00685 }; 00686 00689 class HTMLLabelElement : public HTMLElement 00690 { 00693 ConstAttribute(HTMLFormElement, form) 00696 Attribute(DOMString, accessKey) 00699 Attribute(DOMString, htmlFor) 00700 }; 00701 00705 class HTMLFieldSetElement : public HTMLElement 00706 { 00709 ConstAttribute(HTMLFormElement, form) 00710 }; 00711 00712 00716 class HTMLLegendElement : public HTMLElement 00717 { 00720 ConstAttribute(HTMLFormElement, form) 00723 Attribute(DOMString, accessKey) 00727 Attribute(DOMString, align) 00728 }; 00729 00734 class HTMLUListElement : public HTMLElement 00735 { 00738 Attribute(bool, compact) 00741 Attribute(DOMString, type) 00742 }; 00743 00748 class HTMLOListElement : public HTMLElement 00749 { 00752 Attribute(bool, compact) 00754 Attribute(long, start) 00757 Attribute(DOMString, type) 00758 }; 00759 00764 class HTMLDListElement : public HTMLElement 00765 { 00768 Attribute(bool, compact) 00769 }; 00770 00775 class HTMLDirectoryElement : public HTMLElement 00776 { 00779 Attribute(bool, compact) 00780 }; 00781 00786 class HTMLMenuElement : public HTMLElement 00787 { 00790 Attribute(bool, compact) 00791 }; 00792 00797 class HTMLLIElement : public HTMLElement 00798 { 00801 Attribute(DOMString, type) 00804 Attribute(long, value) 00805 }; 00806 00811 class HTMLDivElement : public HTMLElement 00812 { 00815 Attribute(DOMString, align) 00816 }; 00817 00822 class HTMLParagraphElement : public HTMLElement 00823 { 00826 Attribute(DOMString, align) 00827 }; 00828 00833 class HTMLHeadingElement : public HTMLElement 00834 { 00837 Attribute(DOMString, align) 00838 }; 00839 00842 class HTMLQuoteElement : public HTMLElement 00843 { 00846 Attribute(DOMString, cite) 00847 }; 00848 00853 class HTMLPreElement : public HTMLElement 00854 { 00857 Attribute(long, width) 00858 }; 00859 00864 class HTMLBRElement : public HTMLElement 00865 { 00868 Attribute(DOMString, clear) 00869 }; 00870 00871 00876 class HTMLBaseFontElement : public HTMLElement 00877 { 00880 Attribute(DOMString, color) 00883 Attribute(DOMString, face) 00886 Attribute(long, size) 00887 }; 00888 00893 class HTMLFontElement : public HTMLElement 00894 { 00897 Attribute(DOMString, color) 00900 Attribute(DOMString, face) 00903 Attribute(long, size) 00904 }; 00905 00910 class HTMLHRElement : public HTMLElement 00911 { 00914 Attribute(DOMString, align) 00917 Attribute(bool, noShade) 00920 Attribute(DOMString, size) 00923 Attribute(DOMString, width) 00924 }; 00925 00929 class HTMLModElement : public HTMLElement 00930 { 00933 Attribute(DOMString, cite) 00936 Attribute(DOMString, dateTime) 00937 }; 00938 00942 class HTMLAnchorElement : public HTMLElement 00943 { 00946 Attribute(DOMString, accessKey) 00949 Attribute(DOMString, charset) 00953 Attribute(DOMString, coords) 00956 Attribute(DOMString, href) 00959 Attribute(DOMString, hreflang) 00962 Attribute(DOMString, name) 00965 Attribute(DOMString, rel) 00968 Attribute(DOMString, rev) 00972 Attribute(DOMString, shape) 00975 Attribute(long, tabIndex) 00978 Attribute(DOMString, target) 00981 ConstAttribute(DOMString, type) 00982 00983 public: 00985 void blur() throw(); 00987 void focus() throw(); 00988 }; 00992 class HTMLImageElement : public HTMLElement 00993 { 00995 Attribute(DOMString, name) 00999 Attribute(DOMString, align) 01002 Attribute(DOMString, alt) 01007 Attribute(DOMString, border) 01011 Attribute(long, height) 01016 Attribute(long, hspace) 01019 Attribute(bool, isMap) 01022 Attribute(DOMString, longDesc) 01025 Attribute(DOMString, src) 01028 Attribute(DOMString, useMap) 01033 Attribute(long, vspace) 01037 Attribute(long, width) 01038 }; 01039 01045 class HTMLObjectElement : public HTMLElement 01046 { 01049 ConstAttribute(HTMLFormElement, form) 01052 Attribute(DOMString, code) 01056 Attribute(DOMString, align) 01059 Attribute(DOMString, archive) 01064 Attribute(DOMString, border) 01067 Attribute(DOMString, codeBase) 01070 Attribute(DOMString, codeType) 01073 Attribute(DOMString, data) 01076 Attribute(bool, declare) 01080 Attribute(long, height) 01084 Attribute(long, hspace) 01087 Attribute(DOMString, name) 01090 Attribute(DOMString, standby) 01093 Attribute(long, tabIndex) 01096 Attribute(DOMString, type) 01099 Attribute(DOMString, useMap) 01103 Attribute(long, vspace) 01106 Attribute(long, width) 01108 ConstAttribute(Document, contentDocument) 01109 }; 01110 01114 class HTMLParamElement : public HTMLElement 01115 { 01118 Attribute(DOMString, name) 01121 Attribute(DOMString, type) 01124 Attribute(DOMString, value) 01127 Attribute(DOMString, valueType) 01128 }; 01129 01134 class HTMLAppletElement : public HTMLElement 01135 { 01138 Attribute(DOMString, align) 01141 Attribute(DOMString, alt) 01144 Attribute(DOMString, archive) 01147 Attribute(DOMString, code) 01150 Attribute(DOMString, codeBase) 01153 Attribute(DOMString, height) 01156 Attribute(long, hspace) 01159 Attribute(DOMString, name) 01162 Attribute(DOMString, object) 01165 Attribute(long, vspace) 01168 Attribute(DOMString, width) 01169 }; 01170 01174 class HTMLMapElement : public HTMLElement 01175 { 01177 ConstAttribute(HTMLCollection, areas) 01180 Attribute(DOMString, name) 01181 }; 01182 01186 class HTMLAreaElement : public HTMLElement 01187 { 01190 Attribute(DOMString, accessKey) 01193 Attribute(DOMString, alt) 01197 Attribute(DOMString, coords) 01200 Attribute(DOMString, href) 01203 Attribute(bool, noHref) 01206 Attribute(DOMString, shape) 01209 Attribute(long, tabIndex) 01212 Attribute(DOMString, target) 01213 }; 01214 01218 class HTMLScriptElement : public HTMLElement 01219 { 01221 Attribute(DOMString, text) 01223 Attribute(DOMString, htmlFor) 01225 Attribute(DOMString, event) 01228 Attribute(DOMString, charset) 01231 Attribute(bool, defer) 01234 Attribute(DOMString, src) 01237 Attribute(DOMString, type) 01238 }; 01239 01246 class HTMLTableElement : public HTMLElement 01247 { 01250 ExceptionAttribute(HTMLTableCaptionElement, caption, DOMException) 01253 ExceptionAttribute(HTMLTableSectionElement, tHead, DOMException) 01256 ExceptionAttribute(HTMLTableSectionElement, tFoot, DOMException) 01258 ConstAttribute(HTMLCollection, rows) 01260 ConstAttribute(HTMLCollection, tBodies) 01264 Attribute(DOMString, align) 01268 Attribute(DOMString, bgColor) 01271 Attribute(DOMString, border) 01274 Attribute(DOMString, cellPadding) 01277 Attribute(DOMString, cellSpacing) 01280 Attribute(DOMString, frame) 01283 Attribute(DOMString, rules) 01286 Attribute(DOMString, summary) 01289 Attribute(DOMString, width) 01290 public: 01293 HTMLElement createTHead() throw(); 01295 void deleteTHead() throw(); 01298 HTMLElement createTFoot() throw(); 01300 void deleteTFoot() throw(); 01303 HTMLElement createCaption() throw(); 01305 void deleteCaption() throw(); 01316 HTMLElement insertRow(const long & index) throw(DOMException); 01322 void deleteRow(const long & index) throw(DOMException); 01323 }; 01324 01328 class HTMLTableCaptionElement : public HTMLElement 01329 { 01333 Attribute(DOMString, align) 01334 }; 01335 01339 class HTMLTableColElement : public HTMLElement 01340 { 01343 Attribute(DOMString, align) 01346 Attribute(DOMString, ch) 01349 Attribute(DOMString, chOff) 01352 Attribute(long, span) 01355 Attribute(DOMString, vAlign) 01358 Attribute(DOMString, width) 01359 }; 01360 01362 class HTMLTableSectionElement : public HTMLElement 01363 { 01366 Attribute(DOMString, align) 01369 Attribute(DOMString, ch) 01372 Attribute(DOMString, chOff) 01375 Attribute(DOMString, vAlign) 01377 ConstAttribute(HTMLCollection, rows) 01378 public: 01387 HTMLElement insertRow(const long & index) throw(DOMException); 01393 void deleteRow(const long & index) throw(DOMException); 01394 }; 01395 01398 class HTMLTableRowElement : public HTMLElement 01399 { 01403 ConstAttribute(long, rowIndex) 01405 ConstAttribute(long, sectionRowIndex) 01407 ConstAttribute(HTMLCollection, cells) 01410 Attribute(DOMString, align) 01414 Attribute(DOMString, bgColor) 01417 Attribute(DOMString, ch) 01420 Attribute(DOMString, chOff) 01423 Attribute(DOMString, vAlign) 01424 public: 01431 HTMLElement insertCell(const long & index) throw(DOMException); 01436 void deleteCell(const long & index) throw(DOMException); 01437 }; 01438 01442 class HTMLTableCellElement : public HTMLElement 01443 { 01446 ConstAttribute(long, cellIndex) 01449 Attribute(DOMString, abbr) 01452 Attribute(DOMString, align) 01455 Attribute(DOMString, axis) 01459 Attribute(DOMString, bgColor) 01462 Attribute(DOMString, ch) 01465 Attribute(DOMString, chOff) 01468 Attribute(long, colSpan) 01471 Attribute(DOMString, headers) 01475 Attribute(DOMString, height) 01479 Attribute(bool, noWrap) 01482 Attribute(long, rowSpan) 01485 Attribute(DOMString, scope) 01488 Attribute(DOMString, vAlign) 01492 Attribute(DOMString, width) 01493 }; 01494 01498 class HTMLFrameSetElement : public HTMLElement 01499 { 01502 Attribute(DOMString, cols) 01505 Attribute(DOMString, rows) 01506 }; 01507 01511 class HTMLFrameElement : public HTMLElement 01512 { 01515 Attribute(DOMString, frameBorder) 01518 Attribute(DOMString, longDesc) 01521 Attribute(DOMString, marginHeight) 01524 Attribute(DOMString, marginWidth) 01527 Attribute(DOMString, name) 01530 Attribute(bool, noResize) 01533 Attribute(DOMString, scrolling) 01536 Attribute(DOMString, src) 01538 ConstAttribute(Document, contentDocument) 01539 }; 01540 01544 class HTMLIFrameElement : public HTMLElement 01545 { 01549 Attribute(DOMString, align) 01552 Attribute(DOMString, frameBorder) 01555 Attribute(DOMString, height) 01558 Attribute(DOMString, longDesc) 01561 Attribute(DOMString, marginHeight) 01564 Attribute(DOMString, marginWidth) 01567 Attribute(DOMString, name) 01570 Attribute(DOMString, scrolling) 01573 Attribute(DOMString, src) 01576 Attribute(DOMString, width) 01578 ConstAttribute(Document, contentDocument) 01579 }; 01580 01581 } 01582 01583 namespace DOM 01584 { 01585 01586 }; 01587 01588 #endif