Added declaration of IHTMLDocument3 and more DISPIDs.
diff --git a/include/mshtmdid.h b/include/mshtmdid.h
index 0d83945..1e4b45c 100644
--- a/include/mshtmdid.h
+++ b/include/mshtmdid.h
@@ -251,6 +251,113 @@
 #define DISPID_A_LANGUAGE                    (DISPID_A_FIRST+100)
 #define DISPID_A_VALUE                       (DISPID_A_FIRST+101)
 #define DISPID_A_CURSOR                      (DISPID_A_FIRST+102)
+#define DISPID_A_EVENTSINK                   (DISPID_A_FIRST+103)
+#define DISPID_A_PROPNOTIFYSINK              (DISPID_A_FIRST+104)
+#define DISPID_A_ROWSETNOTIFYSINK            (DISPID_A_FIRST+105)
+#define DISPID_INTERNAL_INLINESTYLEAA        (DISPID_A_FIRST+106)
+#define DISPID_INTERNAL_CSTYLEPTRCACHE       (DISPID_A_FIRST+107)
+#define DISPID_INTERNAL_CRUNTIMESTYLEPTRCACHE  (DISPID_A_FIRST+108)
+#define DISPID_INTERNAL_INVOKECONTEXT        (DISPID_A_FIRST+109)
+#define DISPID_A_BGURLIMGCTXCACHEINDEX       (DISPID_A_FIRST+110)
+#define DISPID_A_LIURLIMGCTXCACHEINDEX       (DISPID_A_FIRST+111)
+#define DISPID_A_ROWSETASYNCHNOTIFYSINK      (DISPID_A_FIRST+112)
+#define DISPID_INTERNAL_FILTERPTRCACHE       (DISPID_A_FIRST+113)
+#define DISPID_A_ROWPOSITIONCHANGESINK       (DISPID_A_FIRST+114)
+#define DISPID_A_BEHAVIOR                    (DISPID_A_FIRST+115)
+#define DISPID_A_READYSTATE                  (DISPID_A_FIRST+116)
+#define DISPID_A_DIR                         (DISPID_A_FIRST+117)
+#define DISPID_A_UNICODEBIDI                 (DISPID_A_FIRST+118)
+#define DISPID_A_DIRECTION                   (DISPID_A_FIRST+119)
+#define DISPID_A_IMEMODE                     (DISPID_A_FIRST+120) 
+#define DISPID_A_RUBYALIGN                   (DISPID_A_FIRST+121)
+#define DISPID_A_RUBYPOSITION                (DISPID_A_FIRST+122)
+#define DISPID_A_RUBYOVERHANG                (DISPID_A_FIRST+123)
+#define DISPID_INTERNAL_ONBEHAVIOR_CONTENTREADY   (DISPID_A_FIRST+124)
+#define DISPID_INTERNAL_ONBEHAVIOR_DOCUMENTREADY  (DISPID_A_FIRST+125)
+#define DISPID_INTERNAL_CDOMCHILDRENPTRCACHE (DISPID_A_FIRST+126)
+#define DISPID_A_LAYOUTGRIDCHAR              (DISPID_A_FIRST+127)
+#define DISPID_A_LAYOUTGRIDLINE              (DISPID_A_FIRST+128)
+#define DISPID_A_LAYOUTGRIDMODE              (DISPID_A_FIRST+129)
+#define DISPID_A_LAYOUTGRIDTYPE              (DISPID_A_FIRST+130)
+#define DISPID_A_LAYOUTGRID                  (DISPID_A_FIRST+131)
+#define DISPID_A_TEXTAUTOSPACE               (DISPID_A_FIRST+132)
+#define DISPID_A_LINEBREAK                   (DISPID_A_FIRST+133)
+#define DISPID_A_WORDBREAK                   (DISPID_A_FIRST+134)
+#define DISPID_A_TEXTJUSTIFY                 (DISPID_A_FIRST+135)
+#define DISPID_A_TEXTJUSTIFYTRIM             (DISPID_A_FIRST+136)
+#define DISPID_A_TEXTKASHIDA                 (DISPID_A_FIRST+137)
+#define DISPID_A_OVERFLOWX                   (DISPID_A_FIRST+139)
+#define DISPID_A_OVERFLOWY                   (DISPID_A_FIRST+140)
+#define DISPID_A_HTCDISPATCHITEM_VALUE       (DISPID_A_FIRST+141)
+#define DISPID_A_DOCFRAGMENT                 (DISPID_A_FIRST+142)
+#define DISPID_A_HTCDD_ELEMENT               (DISPID_A_FIRST+143)
+#define DISPID_A_HTCDD_CREATEEVENTOBJECT     (DISPID_A_FIRST+144)
+#define DISPID_A_URNATOM                     (DISPID_A_FIRST+145)
+#define DISPID_A_UNIQUEPEERNUMBER            (DISPID_A_FIRST+146)
+#define DISPID_A_ACCELERATOR                 (DISPID_A_FIRST+147)
+#define DISPID_INTERNAL_ONBEHAVIOR_APPLYSTYLE       (DISPID_A_FIRST+148)
+#define DISPID_INTERNAL_RUNTIMESTYLEAA              (DISPID_A_FIRST+149)
+#define DISPID_A_HTCDISPATCHITEM_VALUE_SCRIPTSONLY  (DISPID_A_FIRST+150)
+#define DISPID_A_EXTENDEDTAGDESC             (DISPID_A_FIRST+151)
+#define DISPID_A_ROTATE                      (DISPID_A_FIRST+152)
+#define DISPID_A_ZOOM                        (DISPID_A_FIRST+153)
+#define DISPID_A_HTCDD_PROTECTEDELEMENT      (DISPID_A_FIRST+154)
+#define DISPID_A_LAYOUTFLOW                  (DISPID_A_FIRST+155)
+#define DISPID_A_HTCDD_ISMARKUPSHARED        (DISPID_A_FIRST+157)
+#define DISPID_A_WORDWRAP                    (DISPID_A_FIRST+158)
+#define DISPID_A_TEXTUNDERLINEPOSITION       (DISPID_A_FIRST+159)
+#define DISPID_A_HASLAYOUT                   (DISPID_A_FIRST+160)
+#define DISPID_A_MEDIA                       (DISPID_A_FIRST+161)
+#define DISPID_A_EDITABLE                    (DISPID_A_FIRST+162)
+#define DISPID_A_HIDEFOCUS                   (DISPID_A_FIRST+163)
+#define DISPID_INTERNAL_LAYOUTRECTREGISTRYPTRCACHE  (DISPID_A_FIRST+164)
+#define DISPID_A_HTCDD_DEFAULTS              (DISPID_A_FIRST+165)
+#define DISPID_A_TEXTLINETHROUGHSTYLE        (DISPID_A_FIRST+166)
+#define DISPID_A_TEXTUNDERLINESTYLE          (DISPID_A_FIRST+167)
+#define DISPID_A_TEXTEFFECT                  (DISPID_A_FIRST+168)
+#define DISPID_A_TEXTBACKGROUNDCOLOR         (DISPID_A_FIRST+169)
+#define DISPID_A_RENDERINGPRIORITY           (DISPID_A_FIRST+170)
+#define DISPID_INTERNAL_DWNPOSTPTRCACHE      (DISPID_A_FIRST+171)
+#define DISPID_INTERNAL_CODEPAGESETTINGSPTRCACHE  (DISPID_A_FIRST+172)
+#define DISPID_INTERNAL_DWNDOCPTRCACHE       (DISPID_A_FIRST+173)
+#define DISPID_INTERNAL_DATABINDTASKPTRCACHE (DISPID_A_FIRST+174)
+#define DISPID_INTERNAL_URLLOCATIONCACHE     (DISPID_A_FIRST+175)
+#define DISPID_INTERNAL_ARYELEMENTRELEASENOTIFYPTRCACHE  (DISPID_A_FIRST+176)
+#define DISPID_INTERNAL_PEERFACTORYURLMAPPTRCACHE        (DISPID_A_FIRST+177)
+#define DISPID_INTERNAL_STMDIRTYPTRCACHE     (DISPID_A_FIRST+178)
+#define DISPID_INTERNAL_COMPUTEFORMATSTATECACHE  (DISPID_A_FIRST+179)
+#define DISPID_A_SCROLLBARBASECOLOR          (DISPID_A_FIRST+180)
+#define DISPID_A_SCROLLBARFACECOLOR          (DISPID_A_FIRST+181)
+#define DISPID_A_SCROLLBAR3DLIGHTCOLOR       (DISPID_A_FIRST+182)
+#define DISPID_A_SCROLLBARSHADOWCOLOR        (DISPID_A_FIRST+183)
+#define DISPID_A_SCROLLBARHIGHLIGHTCOLOR     (DISPID_A_FIRST+184)
+#define DISPID_A_SCROLLBARDARKSHADOWCOLOR    (DISPID_A_FIRST+185)
+#define DISPID_A_SCROLLBARARROWCOLOR         (DISPID_A_FIRST+186)
+#define DISPID_INTERNAL_ONBEHAVIOR_CONTENTSAVE  (DISPID_A_FIRST+187)
+#define DISPID_A_DEFAULTTEXTSELECTION        (DISPID_A_FIRST+188)
+#define DISPID_A_TEXTDECORATIONCOLOR         (DISPID_A_FIRST+189)
+#define DISPID_A_TEXTCOLOR                   (DISPID_A_FIRST+190)
+#define DISPID_A_STYLETEXTDECORATION         (DISPID_A_FIRST+191)
+#define DISPID_A_WRITINGMODE                 (DISPID_A_FIRST+192)
+#define DISPID_INTERNAL_MEDIA_REFERENCE      (DISPID_A_FIRST+193)
+#define DISPID_INTERNAL_GENERICCOMPLUSREF    (DISPID_A_FIRST+194)
+#define DISPID_INTERNAL_FOCUSITEMS           (DISPID_A_FIRST+195)
+#define DISPID_A_SCROLLBARTRACKCOLOR         (DISPID_A_FIRST+196)
+#define DISPID_INTERNAL_DWNHEADERCACHE       (DISPID_A_FIRST+197)
+#define DISPID_A_FROZEN                      (DISPID_A_FIRST+198)
+#define DISPID_A_VIEWINHERITSTYLE            (DISPID_A_FIRST+199)
+#define DISPID_INTERNAL_FRAMESCOLLECTION     (DISPID_A_FIRST+200)
+#define DISPID_A_BGURLIMGCTXCACHEINDEX_FLINE (DISPID_A_FIRST+201)
+#define DISPID_A_BGURLIMGCTXCACHEINDEX_FLETTER  (DISPID_A_FIRST+202)
+#define DISPID_A_TEXTALIGNLAST               (DISPID_A_FIRST+203)
+#define DISPID_A_TEXTKASHIDASPACE            (DISPID_A_FIRST+204)
+#define DISPID_INTERNAL_FONTHISTORYINDEX     (DISPID_A_FIRST+205)
+#define DISPID_A_ALLOWTRANSPARENCY           (DISPID_A_FIRST+206)
+#define DISPID_INTERNAL_URLSEARCHCACHE       (DISPID_A_FIRST+207)
+#define DISPID_A_ISBLOCK                     (DISPID_A_FIRST+208)
+#define DISPID_A_TEXTOVERFLOW                (DISPID_A_FIRST+209)
+#define DISPID_INTERNAL_CATTRIBUTECOLLPTRCACHE  (DISPID_A_FIRST+210)
+#define DISPID_A_MINHEIGHT                   (DISPID_A_FIRST+211)
 
 #define DISPID_WINDOWOBJECT          (-5500)
 #define DISPID_LOCATIONOBJECT        (-5506)
@@ -323,6 +430,194 @@
 #define DISPID_EVPROP_ONFILTER             (DISPID_EVENTS+43)
 #define DISPID_EVPROP_ONCHANGEFOCUS        (DISPID_EVENTS+44)
 #define DISPID_EVPROP_ONCHANGEBLUR         (DISPID_EVENTS+45)
+#define DISPID_EVPROP_ONLOSECAPTURE        (DISPID_EVENTS+46)
+#define DISPID_EVPROP_ONPROPERTYCHANGE     (DISPID_EVENTS+47)
+#define DISPID_EVPROP_ONPERSISTSAVE        (DISPID_EVENTS+48)
+#define DISPID_EVPROP_ONDRAG               (DISPID_EVENTS+49)
+#define DISPID_EVPROP_ONDRAGEND            (DISPID_EVENTS+50)
+#define DISPID_EVPROP_ONDRAGENTER          (DISPID_EVENTS+51)
+#define DISPID_EVPROP_ONDRAGOVER           (DISPID_EVENTS+52)
+#define DISPID_EVPROP_ONDRAGLEAVE          (DISPID_EVENTS+53)
+#define DISPID_EVPROP_ONDROP               (DISPID_EVENTS+54)
+#define DISPID_EVPROP_ONCUT                (DISPID_EVENTS+55)
+#define DISPID_EVPROP_ONCOPY               (DISPID_EVENTS+56)
+#define DISPID_EVPROP_ONPASTE              (DISPID_EVENTS+57)
+#define DISPID_EVPROP_ONBEFORECUT          (DISPID_EVENTS+58)
+#define DISPID_EVPROP_ONBEFORECOPY         (DISPID_EVENTS+59)
+#define DISPID_EVPROP_ONBEFOREPASTE        (DISPID_EVENTS+60)
+#define DISPID_EVPROP_ONPERSISTLOAD        (DISPID_EVENTS+61)
+#define DISPID_EVPROP_ONROWSDELETE         (DISPID_EVENTS+62)
+#define DISPID_EVPROP_ONROWSINSERTED       (DISPID_EVENTS+63)
+#define DISPID_EVPROP_ONCELLCHANGE         (DISPID_EVENTS+64)
+#define DISPID_EVPROP_ONCONTEXTMENU        (DISPID_EVENTS+65)
+#define DISPID_EVPROP_ONBEFOREPRINT        (DISPID_EVENTS+66)
+#define DISPID_EVPROP_ONAFTERPRINT         (DISPID_EVENTS+67)
+#define DISPID_EVPROP_ONSTOP               (DISPID_EVENTS+68)
+#define DISPID_EVPROP_ONBEFOREEDITFOCUS    (DISPID_EVENTS+69)
+#define DISPID_EVPROP_ONATTACHEVENT        (DISPID_EVENTS+70)
+#define DISPID_EVPROP_ONMOUSEHOVER         (DISPID_EVENTS+71)
+#define DISPID_EVPROP_ONCONTENTREADY       (DISPID_EVENTS+72)
+#define DISPID_EVPROP_ONLAYOUTCOMPLETE     (DISPID_EVENTS+73)
+#define DISPID_EVPROP_ONPAGE               (DISPID_EVENTS+74)
+#define DISPID_EVPROP_ONLINKEDOVERFLOW     (DISPID_EVENTS+75)
+#define DISPID_EVPROP_ONMOUSEWHEEL         (DISPID_EVENTS+76)
+#define DISPID_EVPROP_ONBEFOREDEACTIVATE   (DISPID_EVENTS+77)
+#define DISPID_EVPROP_ONMOVE               (DISPID_EVENTS+78)
+#define DISPID_EVPROP_ONCONTROLSELECT      (DISPID_EVENTS+79)
+#define DISPID_EVPROP_ONSELECTIONCHANGE    (DISPID_EVENTS+80)
+#define DISPID_EVPROP_ONMOVESTART          (DISPID_EVENTS+81)
+#define DISPID_EVPROP_ONMOVEEND            (DISPID_EVENTS+82)
+#define DISPID_EVPROP_ONRESIZESTART        (DISPID_EVENTS+83)
+#define DISPID_EVPROP_ONRESIZEEND          (DISPID_EVENTS+84)
+#define DISPID_EVPROP_ONMOUSEENTER         (DISPID_EVENTS+85)
+#define DISPID_EVPROP_ONMOUSELEAVE         (DISPID_EVENTS+86)
+#define DISPID_EVPROP_ONACTIVATE           (DISPID_EVENTS+87)
+#define DISPID_EVPROP_ONDEACTIVATE         (DISPID_EVENTS+88)
+#define DISPID_EVPROP_ONMULTILAYOUTCLEANUP (DISPID_EVENTS+89)
+#define DISPID_EVPROP_ONBEFOREACTIVATE     (DISPID_EVENTS+90)
+#define DISPID_EVPROP_ONFOCUSIN            (DISPID_EVENTS+91)
+#define DISPID_EVPROP_ONFOCUSOUT           (DISPID_EVENTS+92)
+#define DISPID_EVPROPS_COUNT               93
+
+
+#define DISPID_EVMETH_ONMOUSEOVER           STDDISPID_XOBJ_ONMOUSEOVER
+#define DISPID_EVMETH_ONMOUSEOUT            STDDISPID_XOBJ_ONMOUSEOUT
+#define DISPID_EVMETH_ONMOUSEDOWN           DISPID_MOUSEDOWN
+#define DISPID_EVMETH_ONMOUSEUP             DISPID_MOUSEUP
+#define DISPID_EVMETH_ONMOUSEMOVE           DISPID_MOUSEMOVE
+#define DISPID_EVMETH_ONKEYDOWN             DISPID_KEYDOWN
+#define DISPID_EVMETH_ONKEYUP               DISPID_KEYUP
+#define DISPID_EVMETH_ONKEYPRESS            DISPID_KEYPRESS
+#define DISPID_EVMETH_ONCLICK               DISPID_CLICK
+#define DISPID_EVMETH_ONDBLCLICK            DISPID_DBLCLICK
+#define DISPID_EVMETH_ONSELECT              DISPID_ONSELECT
+#define DISPID_EVMETH_ONSUBMIT              DISPID_ONSUBMIT
+#define DISPID_EVMETH_ONRESET               DISPID_ONRESET
+#define DISPID_EVMETH_ONHELP                STDDISPID_XOBJ_ONHELP
+#define DISPID_EVMETH_ONFOCUS               STDDISPID_XOBJ_ONFOCUS
+#define DISPID_EVMETH_ONBLUR                STDDISPID_XOBJ_ONBLUR
+#define DISPID_EVMETH_ONROWEXIT             STDDISPID_XOBJ_ONROWEXIT
+#define DISPID_EVMETH_ONROWENTER            STDDISPID_XOBJ_ONROWENTER
+#define DISPID_EVMETH_ONBOUNCE              DISPID_ONBOUNCE
+#define DISPID_EVMETH_ONBEFOREUPDATE        STDDISPID_XOBJ_BEFOREUPDATE
+#define DISPID_EVMETH_ONAFTERUPDATE         STDDISPID_XOBJ_AFTERUPDATE
+#define DISPID_EVMETH_ONBEFOREDRAGOVER      EVENTID_CommonCtrlEvent_BeforeDragOver
+#define DISPID_EVMETH_ONBEFOREDROPORPASTE   EVENTID_CommonCtrlEvent_BeforeDropOrPaste
+#define DISPID_EVMETH_ONREADYSTATECHANGE    DISPID_READYSTATECHANGE
+#define DISPID_EVMETH_ONFINISH              DISPID_ONFINISH
+#define DISPID_EVMETH_ONSTART               DISPID_ONSTART
+#define DISPID_EVMETH_ONABORT               DISPID_ONABORT
+#define DISPID_EVMETH_ONERROR               DISPID_ONERROR
+#define DISPID_EVMETH_ONCHANGE              DISPID_ONCHANGE
+#define DISPID_EVMETH_ONSCROLL              DISPID_ONSCROLL
+#define DISPID_EVMETH_ONLOAD                DISPID_ONLOAD
+#define DISPID_EVMETH_ONUNLOAD              DISPID_ONUNLOAD
+#define DISPID_EVMETH_ONLAYOUT              DISPID_ONLAYOUT
+#define DISPID_EVMETH_ONDRAGSTART           STDDISPID_XOBJ_ONDRAGSTART
+#define DISPID_EVMETH_ONRESIZE              DISPID_ONRESIZE
+#define DISPID_EVMETH_ONSELECTSTART         STDDISPID_XOBJ_ONSELECTSTART
+#define DISPID_EVMETH_ONERRORUPDATE         STDDISPID_XOBJ_ERRORUPDATE
+#define DISPID_EVMETH_ONBEFOREUNLOAD        DISPID_ONBEFOREUNLOAD
+#define DISPID_EVMETH_ONDATASETCHANGED      STDDISPID_XOBJ_ONDATASETCHANGED
+#define DISPID_EVMETH_ONDATAAVAILABLE       STDDISPID_XOBJ_ONDATAAVAILABLE
+#define DISPID_EVMETH_ONDATASETCOMPLETE     STDDISPID_XOBJ_ONDATASETCOMPLETE
+#define DISPID_EVMETH_ONFILTER              STDDISPID_XOBJ_ONFILTER
+#define DISPID_EVMETH_ONCHANGEFOCUS         DISPID_ONCHANGEFOCUS
+#define DISPID_EVMETH_ONCHANGEBLUR          DISPID_ONCHANGEBLUR
+#define DISPID_EVMETH_ONLOSECAPTURE         STDDISPID_XOBJ_ONLOSECAPTURE
+#define DISPID_EVMETH_ONPROPERTYCHANGE      STDDISPID_XOBJ_ONPROPERTYCHANGE
+#define DISPID_EVMETH_ONPERSISTSAVE         DISPID_ONPERSISTSAVE
+#define DISPID_EVMETH_ONDRAG                STDDISPID_XOBJ_ONDRAG
+#define DISPID_EVMETH_ONDRAGEND             STDDISPID_XOBJ_ONDRAGEND
+#define DISPID_EVMETH_ONDRAGENTER           STDDISPID_XOBJ_ONDRAGENTER
+#define DISPID_EVMETH_ONDRAGOVER            STDDISPID_XOBJ_ONDRAGOVER
+#define DISPID_EVMETH_ONDRAGLEAVE           STDDISPID_XOBJ_ONDRAGLEAVE
+#define DISPID_EVMETH_ONDROP                STDDISPID_XOBJ_ONDROP
+#define DISPID_EVMETH_ONCUT                 STDDISPID_XOBJ_ONCUT
+#define DISPID_EVMETH_ONCOPY                STDDISPID_XOBJ_ONCOPY
+#define DISPID_EVMETH_ONPASTE               STDDISPID_XOBJ_ONPASTE
+#define DISPID_EVMETH_ONBEFORECUT           STDDISPID_XOBJ_ONBEFORECUT
+#define DISPID_EVMETH_ONBEFORECOPY          STDDISPID_XOBJ_ONBEFORECOPY
+#define DISPID_EVMETH_ONBEFOREPASTE         STDDISPID_XOBJ_ONBEFOREPASTE
+#define DISPID_EVMETH_ONPERSISTLOAD         DISPID_ONPERSISTLOAD
+#define DISPID_EVMETH_ONROWSDELETE          STDDISPID_XOBJ_ONROWSDELETE
+#define DISPID_EVMETH_ONROWSINSERTED        STDDISPID_XOBJ_ONROWSINSERTED
+#define DISPID_EVMETH_ONCELLCHANGE          STDDISPID_XOBJ_ONCELLCHANGE
+#define DISPID_EVMETH_ONCONTEXTMENU         DISPID_ONCONTEXTMENU
+#define DISPID_EVMETH_ONBEFOREPRINT         DISPID_ONBEFOREPRINT
+#define DISPID_EVMETH_ONAFTERPRINT          DISPID_ONAFTERPRINT
+#define DISPID_EVMETH_ONSTOP                DISPID_ONSTOP
+#define DISPID_EVMETH_ONBEFOREEDITFOCUS     DISPID_ONBEFOREEDITFOCUS
+#define DISPID_EVMETH_ONMOUSEHOVER          DISPID_ONMOUSEHOVER
+#define DISPID_EVMETH_ONCONTENTREADY        DISPID_ONCONTENTREADY
+#define DISPID_EVMETH_ONLAYOUTCOMPLETE      DISPID_ONLAYOUTCOMPLETE
+#define DISPID_EVMETH_ONPAGE                DISPID_ONPAGE
+#define DISPID_EVMETH_ONLINKEDOVERFLOW      DISPID_ONLINKEDOVERFLOW
+#define DISPID_EVMETH_ONMOUSEWHEEL          DISPID_ONMOUSEWHEEL
+#define DISPID_EVMETH_ONBEFOREDEACTIVATE    DISPID_ONBEFOREDEACTIVATE
+#define DISPID_EVMETH_ONMOVE                DISPID_ONMOVE
+#define DISPID_EVMETH_ONCONTROLSELECT       DISPID_ONCONTROLSELECT
+#define DISPID_EVMETH_ONSELECTIONCHANGE     DISPID_ONSELECTIONCHANGE
+#define DISPID_EVMETH_ONMOVESTART           DISPID_ONMOVESTART
+#define DISPID_EVMETH_ONMOVEEND             DISPID_ONMOVEEND
+#define DISPID_EVMETH_ONRESIZESTART         DISPID_ONRESIZESTART
+#define DISPID_EVMETH_ONRESIZEEND           DISPID_ONRESIZEEND
+#define DISPID_EVMETH_ONMOUSEENTER          DISPID_ONMOUSEENTER
+#define DISPID_EVMETH_ONMOUSELEAVE          DISPID_ONMOUSELEAVE
+#define DISPID_EVMETH_ONACTIVATE            DISPID_ONACTIVATE
+#define DISPID_EVMETH_ONDEACTIVATE          DISPID_ONDEACTIVATE
+#define DISPID_EVMETH_ONMULTILAYOUTCLEANUP  DISPID_ONMULTILAYOUTCLEANUP
+#define DISPID_EVMETH_ONBEFOREACTIVATE      DISPID_ONBEFOREACTIVATE
+#define DISPID_EVMETH_ONFOCUSIN             DISPID_ONFOCUSIN
+#define DISPID_EVMETH_ONFOCUSOUT            DISPID_ONFOCUSOUT
+
+#define DISPID_ONABORT               (DISPID_NORMAL_FIRST)
+#define DISPID_ONCHANGE              (DISPID_NORMAL_FIRST+1)
+#define DISPID_ONERROR               (DISPID_NORMAL_FIRST+2)
+#define DISPID_ONLOAD                (DISPID_NORMAL_FIRST+3)
+#define DISPID_ONSELECT              (DISPID_NORMAL_FIRST+6)
+#define DISPID_ONSUBMIT              (DISPID_NORMAL_FIRST+7)
+#define DISPID_ONUNLOAD              (DISPID_NORMAL_FIRST+8)
+#define DISPID_ONBOUNCE              (DISPID_NORMAL_FIRST+9)
+#define DISPID_ONFINISH              (DISPID_NORMAL_FIRST+10)
+#define DISPID_ONSTART               (DISPID_NORMAL_FIRST+11)
+#define DISPID_ONLAYOUT              (DISPID_NORMAL_FIRST+13)
+#define DISPID_ONSCROLL              (DISPID_NORMAL_FIRST+14)
+#define DISPID_ONRESET               (DISPID_NORMAL_FIRST+15)
+#define DISPID_ONRESIZE              (DISPID_NORMAL_FIRST+16)
+#define DISPID_ONBEFOREUNLOAD        (DISPID_NORMAL_FIRST+17)
+#define DISPID_ONCHANGEFOCUS         (DISPID_NORMAL_FIRST+18)
+#define DISPID_ONCHANGEBLUR          (DISPID_NORMAL_FIRST+19)
+#define DISPID_ONPERSIST             (DISPID_NORMAL_FIRST+20)
+#define DISPID_ONPERSISTSAVE         (DISPID_NORMAL_FIRST+21)
+#define DISPID_ONPERSISTLOAD         (DISPID_NORMAL_FIRST+22)
+#define DISPID_ONCONTEXTMENU         (DISPID_NORMAL_FIRST+23)
+#define DISPID_ONBEFOREPRINT         (DISPID_NORMAL_FIRST+24)
+#define DISPID_ONAFTERPRINT          (DISPID_NORMAL_FIRST+25)
+#define DISPID_ONSTOP                (DISPID_NORMAL_FIRST+26)
+#define DISPID_ONBEFOREEDITFOCUS     (DISPID_NORMAL_FIRST+27)
+#define DISPID_ONMOUSEHOVER          (DISPID_NORMAL_FIRST+28)
+#define DISPID_ONCONTENTREADY        (DISPID_NORMAL_FIRST+29)
+#define DISPID_ONLAYOUTCOMPLETE      (DISPID_NORMAL_FIRST+30)
+#define DISPID_ONPAGE                (DISPID_NORMAL_FIRST+31)
+#define DISPID_ONLINKEDOVERFLOW      (DISPID_NORMAL_FIRST+32)
+#define DISPID_ONMOUSEWHEEL          (DISPID_NORMAL_FIRST+33)
+#define DISPID_ONBEFOREDEACTIVATE    (DISPID_NORMAL_FIRST+34)
+#define DISPID_ONMOVE                (DISPID_NORMAL_FIRST+35)
+#define DISPID_ONCONTROLSELECT       (DISPID_NORMAL_FIRST+36)
+#define DISPID_ONSELECTIONCHANGE     (DISPID_NORMAL_FIRST+37)
+#define DISPID_ONMOVESTART           (DISPID_NORMAL_FIRST+38)
+#define DISPID_ONMOVEEND             (DISPID_NORMAL_FIRST+39)
+#define DISPID_ONRESIZESTART         (DISPID_NORMAL_FIRST+40)
+#define DISPID_ONRESIZEEND           (DISPID_NORMAL_FIRST+41)
+#define DISPID_ONMOUSEENTER          (DISPID_NORMAL_FIRST+42)
+#define DISPID_ONMOUSELEAVE          (DISPID_NORMAL_FIRST+43)
+#define DISPID_ONACTIVATE            (DISPID_NORMAL_FIRST+44)
+#define DISPID_ONDEACTIVATE          (DISPID_NORMAL_FIRST+45)
+#define DISPID_ONMULTILAYOUTCLEANUP  (DISPID_NORMAL_FIRST+46)
+#define DISPID_ONBEFOREACTIVATE      (DISPID_NORMAL_FIRST+47)
+#define DISPID_ONFOCUSIN             (DISPID_NORMAL_FIRST+48)
+#define DISPID_ONFOCUSOUT            (DISPID_NORMAL_FIRST+49)
 
 /* IHTMLDocument */
 #define DISPID_IHTMLDOCUMENT_SCRIPT    (DISPID_OMDOCUMENT+1)
@@ -405,6 +700,63 @@
 #define DISPID_IHTMLDOCUMENT2_BGCOLOR                 DISPID_BACKCOLOR
 #define DISPID_IHTMLDOCUMENT2_FGCOLOR                 DISPID_A_COLOR
 
+/* IHTMLDocument3 */
+#define DISPID_IHTMLDOCUMENT3_RELEASECAPTURE          DISPID_OMDOCUMENT+72
+#define DISPID_IHTMLDOCUMENT3_RECALC                  DISPID_OMDOCUMENT+73
+#define DISPID_IHTMLDOCUMENT3_CREATETEXTNODE          DISPID_OMDOCUMENT+74
+#define DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT         DISPID_OMDOCUMENT+75
+#define DISPID_IHTMLDOCUMENT3_UNIQUEID                DISPID_OMDOCUMENT+77
+#define DISPID_IHTMLDOCUMENT3_ATTACHEVENT             DISPID_HTMLOBJECT+7
+#define DISPID_IHTMLDOCUMENT3_DETACHEVENT             DISPID_HTMLOBJECT+8
+#define DISPID_IHTMLDOCUMENT3_ONROWSDELETE            DISPID_EVPROP_ONROWSDELETE
+#define DISPID_IHTMLDOCUMENT3_ONROWSINSERTED          DISPID_EVPROP_ONROWSINSERTED
+#define DISPID_IHTMLDOCUMENT3_ONCELLCHANGE            DISPID_EVPROP_ONCELLCHANGE
+#define DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED        DISPID_EVPROP_ONDATASETCHANGED
+#define DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE         DISPID_EVPROP_ONDATAAVAILABLE
+#define DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE       DISPID_EVPROP_ONDATASETCOMPLETE
+#define DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE        DISPID_EVPROP_ONPROPERTYCHANGE
+#define DISPID_IHTMLDOCUMENT3_DIR                     DISPID_A_DIR
+#define DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU           DISPID_EVPROP_ONCONTEXTMENU
+#define DISPID_IHTMLDOCUMENT3_ONSTOP                  DISPID_EVPROP_ONSTOP
+#define DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT  DISPID_OMDOCUMENT+76
+#define DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT          DISPID_OMDOCUMENT+78
+#define DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD          DISPID_OMDOCUMENT+79
+#define DISPID_IHTMLDOCUMENT3_BASEURL                 DISPID_OMDOCUMENT+80
+#define DISPID_IHTMLDOCUMENT3_CHILDNODES              DISPID_ELEMENT+49
+#define DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS      DISPID_OMDOCUMENT+82
+#define DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS       DISPID_EVPROP_ONBEFOREEDITFOCUS
+#define DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME       DISPID_OMDOCUMENT+86
+#define DISPID_IHTMLDOCUMENT3_GETELEMENTBYID          DISPID_OMDOCUMENT+88
+#define DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME    DISPID_OMDOCUMENT+87
+
+
+/* IHTMLDocument4 */
+#define DISPID_IHTMLDOCUMENT4_FOCUS                  DISPID_OMDOCUMENT+89
+#define DISPID_IHTMLDOCUMENT4_HASFOCUS               DISPID_OMDOCUMENT+90
+#define DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE      DISPID_EVPROP_ONSELECTIONCHANGE
+#define DISPID_IHTMLDOCUMENT4_NAMESPACES             DISPID_OMDOCUMENT+91
+#define DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL  DISPID_OMDOCUMENT+92
+#define DISPID_IHTMLDOCUMENT4_MEDIA                  DISPID_OMDOCUMENT+93
+#define DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT      DISPID_OMDOCUMENT+94
+#define DISPID_IHTMLDOCUMENT4_FIREEVENT              DISPID_OMDOCUMENT+95
+#define DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE      DISPID_OMDOCUMENT+96
+#define DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT        DISPID_EVPROP_ONCONTROLSELECT
+
+/* IHTMLDocument5 */
+#define DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL        DISPID_EVPROP_ONMOUSEWHEEL
+#define DISPID_IHTMLDOCUMENT5_DOCTYPE             DISPID_OMDOCUMENT+98
+#define DISPID_IHTMLDOCUMENT5_IMPLEMENTATION      DISPID_OMDOCUMENT+99
+#define DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE     DISPID_OMDOCUMENT+100
+#define DISPID_IHTMLDOCUMENT5_CREATECOMMENT       DISPID_OMDOCUMENT+101
+#define DISPID_IHTMLDOCUMENT5_ONFOCUSIN           DISPID_EVPROP_ONFOCUSIN
+#define DISPID_IHTMLDOCUMENT5_ONFOCUSOUT          DISPID_EVPROP_ONFOCUSOUT
+#define DISPID_IHTMLDOCUMENT5_ONACTIVATE          DISPID_EVPROP_ONACTIVATE
+#define DISPID_IHTMLDOCUMENT5_ONDEACTIVATE        DISPID_EVPROP_ONDEACTIVATE
+#define DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE    DISPID_EVPROP_ONBEFOREACTIVATE
+#define DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE  DISPID_EVPROP_ONBEFOREDEACTIVATE
+#define DISPID_IHTMLDOCUMENT5_COMPATMODE          DISPID_OMDOCUMENT+102
+
+
 /* IHTMLElementCollection */
 #define DISPID_IHTMLELEMENTCOLLECTION_LENGTH     DISPID_COLLECTION
 #define DISPID_IHTMLELEMENTCOLLECTION_TOSTRING   (DISPID_COLLECTION+1)
@@ -908,4 +1260,25 @@
 #define DISPID_IHTMLRULESTYLE_TEXTALIGN                   STDPROPID_XOBJ_BLOCKALIGN
 #define DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR             DISPID_BACKCOLOR
 
+/* IHTMLDOMNode */
+#define DISPID_IHTMLDOMNODE_NODETYPE           DISPID_ELEMENT+46
+#define DISPID_IHTMLDOMNODE_PARENTNODE         DISPID_ELEMENT+47
+#define DISPID_IHTMLDOMNODE_HASCHILDNODES      DISPID_ELEMENT+48
+#define DISPID_IHTMLDOMNODE_CHILDNODES         DISPID_ELEMENT+49
+#define DISPID_IHTMLDOMNODE_ATTRIBUTES         DISPID_ELEMENT+50
+#define DISPID_IHTMLDOMNODE_INSERTBEFORE       DISPID_ELEMENT+51
+#define DISPID_IHTMLDOMNODE_REMOVECHILD        DISPID_ELEMENT+52
+#define DISPID_IHTMLDOMNODE_REPLACECHILD       DISPID_ELEMENT+53
+#define DISPID_IHTMLDOMNODE_CLONENODE          DISPID_ELEMENT+61
+#define DISPID_IHTMLDOMNODE_REMOVENODE         DISPID_ELEMENT+66
+#define DISPID_IHTMLDOMNODE_SWAPNODE           DISPID_ELEMENT+68
+#define DISPID_IHTMLDOMNODE_REPLACENODE        DISPID_ELEMENT+67
+#define DISPID_IHTMLDOMNODE_APPENDCHILD        DISPID_ELEMENT+73
+#define DISPID_IHTMLDOMNODE_NODENAME           DISPID_ELEMENT+74
+#define DISPID_IHTMLDOMNODE_NODEVALUE          DISPID_ELEMENT+75
+#define DISPID_IHTMLDOMNODE_FIRSTCHILD         DISPID_ELEMENT+76
+#define DISPID_IHTMLDOMNODE_LASTCHILD          DISPID_ELEMENT+77
+#define DISPID_IHTMLDOMNODE_PREVIOUSSIBLING    DISPID_ELEMENT+78
+#define DISPID_IHTMLDOMNODE_NEXTSIBLING        DISPID_ELEMENT+79
+
 #endif /* __MSHTMDID_H__ */
diff --git a/include/mshtml.idl b/include/mshtml.idl
index 55562b3..6a73751 100644
--- a/include/mshtml.idl
+++ b/include/mshtml.idl
@@ -1125,6 +1125,88 @@
 }
 
 /*****************************************************************************
+ *    IHTMLDOMNode interface
+ */
+[
+    odl,
+    oleautomation,
+    dual,
+    uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IHTMLDOMNode : IDispatch
+{
+    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
+    HRESULT nodeType([retval, out] long *p);
+
+    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
+    HRESULT parentNode([retval, out] IHTMLDOMNode **p);
+
+    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
+    HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
+
+    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
+    HRESULT childNodes([retval, out] IDispatch **p);
+
+    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
+    HRESULT attributes([retval, out] IDispatch **p);
+
+    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
+    HRESULT insertBefore([in] IHTMLDOMNode *newChild,
+                         [optional, in] VARIANT refChild,
+                         [retval, out] IHTMLDOMNode **node);
+
+    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
+    HRESULT removeChild([in] IHTMLDOMNode *oldChild,
+                        [retval, out] IHTMLDOMNode **node);
+
+    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
+    HRESULT replaceChild([in] IHTMLDOMNode *newChild,
+                         [in] IHTMLDOMNode* oldChild,
+                         [retval, out] IHTMLDOMNode **node);
+
+    [id(DISPID_IHTMLDOMNODE_CLONENODE)]
+    HRESULT cloneNode([in] VARIANT_BOOL fDeep,
+                      [retval, out] IHTMLDOMNode **clonedNode);
+
+    [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
+    HRESULT removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep,
+                       [retval, out] IHTMLDOMNode **removed);
+
+    [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
+    HRESULT swapNode([in] IHTMLDOMNode *otherNode,
+                     [retval, out] IHTMLDOMNode **swappedNode);
+
+    [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
+    HRESULT replaceNode([in] IHTMLDOMNode *replacement,
+                        [retval, out] IHTMLDOMNode **replaced);
+
+    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
+    HRESULT appendChild([in] IHTMLDOMNode *newChild,
+                        [retval, out] IHTMLDOMNode **node);
+
+    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
+    HRESULT nodeName([retval, out] BSTR *p);
+
+    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
+    HRESULT nodeValue([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
+    HRESULT nodeValue([retval, out] VARIANT *p);
+
+    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
+    HRESULT firstChild([retval, out] IHTMLDOMNode **p);
+
+    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
+    HRESULT lastChild([retval, out] IHTMLDOMNode **p);
+
+    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
+    HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
+
+    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
+    HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
+}
+
+/*****************************************************************************
  *    IHTMLElement interface
  */
 [
@@ -2984,6 +3066,149 @@
 }
 
 /*****************************************************************************
+ *    IHTMLDocument3 interface
+ */
+[
+    odl,
+    oleautomation,
+    dual,
+    uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IHTMLDocument3 : IDispatch
+{
+    [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
+    HRESULT releaseCapture();
+
+    [id(DISPID_IHTMLDOCUMENT3_RECALC)]
+    HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
+
+    [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
+    HRESULT createTextNode([in] BSTR text,
+                           [retval, out] IHTMLDOMNode **newTextNode);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
+    HRESULT documentElement([retval, out] IHTMLElement **p);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
+    HRESULT uniqueID([retval, out] BSTR *p);
+    
+    [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
+    HRESULT attachEvent([in] BSTR event,
+                        [in] IDispatch* pDisp,
+                        [retval, out] VARIANT_BOOL *pfResult);
+
+    [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
+    HRESULT detachEvent([in] BSTR event,
+                        [in] IDispatch *pDisp);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE)/*, displaybind, bindable*/]
+    HRESULT onrowsdelete([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE)/*, displaybind, bindable*/]
+    HRESULT onrowsdelete([retval, out] VARIANT *p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED)/*, displaybind, bindable*/]
+    HRESULT onrowsinserted([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED)/*, displaybind, bindable*/]
+    HRESULT onrowsinserted([retval, out] VARIANT *p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE)/*, displaybind, bindable*/]
+    HRESULT oncellchange([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE)/*, displaybind, bindable*/]
+    HRESULT oncellchange([retval, out] VARIANT *p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED)/*, displaybind, bindable*/]
+    HRESULT ondatasetchanged([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED)/*, displaybind, bindable*/]
+    HRESULT ondatasetchanged([retval, out] VARIANT *p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE)/*, displaybind, bindable*/]
+    HRESULT ondataavailable([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE)/*, displaybind, bindable*/]
+    HRESULT ondataavailable([retval, out] VARIANT * p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE)/*, displaybind, bindable*/]
+    HRESULT ondatasetcomplete([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE)/*, displaybind, bindable*/]
+    HRESULT ondatasetcomplete([retval, out] VARIANT *p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE)/*, displaybind, bindable*/]
+    HRESULT onpropertychange([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE)/*, displaybind, bindable*/]
+    HRESULT onpropertychange([retval, out] VARIANT *p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
+    HRESULT dir([in] BSTR v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
+    HRESULT dir([retval, out] BSTR *p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU)/*, displaybind, bindable*/]
+    HRESULT oncontextmenu([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU)/*, displaybind, bindable*/]
+    HRESULT oncontextmenu([retval, out] VARIANT *p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP)/*, displaybind, bindable*/]
+    HRESULT onstop([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP)/*, displaybind, bindable*/]
+    HRESULT onstop([retval, out] VARIANT *p);
+
+    [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
+    HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
+    HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
+    HRESULT enableDownload([in] VARIANT_BOOL v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
+    HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
+    HRESULT baseUrl([in] BSTR v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
+    HRESULT baseUrl([retval, out] BSTR *p);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
+    HRESULT childNodes([retval, out] IDispatch **p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
+    HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
+    HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
+
+    [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS)/*, displaybind, bindable*/]
+    HRESULT onbeforeeditfocus([in] VARIANT v);
+
+    [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS)/*, displaybind, bindable*/]
+    HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
+
+    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
+    HRESULT getElementsByName([in] BSTR v,
+                              [retval, out] IHTMLElementCollection **pelColl);
+
+    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
+    HRESULT getElementById([in] BSTR v,
+                           [retval, out] IHTMLElement **pel);
+
+    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
+    HRESULT getElementsByTagName([in] BSTR v,
+                                 [retval, out] IHTMLElementCollection **pelColl);
+}
+
+
+/*****************************************************************************
  *    HTMLDocument coclass
  */
 [