include/HTMLParser/HTMLDom.hpp

Go to the documentation of this file.
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

(C) An X-Ryl669 project 2007

This document describes Unlimited Zooming Interface source code. UZI stands for Unlimited Zooming Interface, and source code license is