Home | History | Annotate | Download | only in Interfaces
      1 /*
      2  * Copyright (C) 2006, 2007, 2008 Apple Inc.  All rights reserved.
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions
      6  * are met:
      7  * 1. Redistributions of source code must retain the above copyright
      8  *    notice, this list of conditions and the following disclaimer.
      9  * 2. Redistributions in binary form must reproduce the above copyright
     10  *    notice, this list of conditions and the following disclaimer in the
     11  *    documentation and/or other materials provided with the distribution.
     12  *
     13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
     14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
     17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     24  */
     25 
     26 #ifndef DO_NO_IMPORTS
     27 import "oaidl.idl";
     28 import "ocidl.idl";
     29 import "IWebScriptObject.idl";
     30 #endif
     31 
     32 interface IWebScriptObject;
     33 interface IDOMNodeList;
     34 interface IDOMNamedNodeMap;
     35 interface IDOMDocumentType;
     36 interface IDOMElement;
     37 interface IDOMDocumentFragment;
     38 interface IDOMText;
     39 interface IDOMComment;
     40 interface IDOMCDATASection;
     41 interface IDOMProcessingInstruction;
     42 interface IDOMAttr;
     43 interface IDOMEntityReference;
     44 interface IDOMDocument;
     45 interface IDOMCSSStyleDeclaration;
     46 /*
     47     @interface DOMObject : WebScriptObject <NSCopying>
     48 */
     49 [
     50     object,
     51     oleautomation,
     52     uuid(A27FA225-F34E-425d-88EB-A35BD105A527),
     53     pointer_default(unique)
     54 ]
     55 interface IDOMObject : IWebScriptObject
     56 {
     57 }
     58 
     59 /*
     60     @interface DOMImplementation : DOMObject
     61 */
     62 [
     63     object,
     64     oleautomation,
     65     uuid(6E48C25D-E542-4d1a-BC73-ACDC21E39C56),
     66     pointer_default(unique)
     67 ]
     68 interface IDOMImplementation : IDOMObject
     69 {
     70     /*
     71         - (BOOL)hasFeature:(NSString *)feature :(NSString *)version;
     72     */
     73     HRESULT hasFeature([in] BSTR feature, [in] BSTR version, [out, retval] BOOL* result);
     74 
     75     /*
     76         - (DOMDocumentType *)createDocumentType:(NSString *)qualifiedName :(NSString *)publicId :(NSString *)systemId;
     77     */
     78     HRESULT createDocumentType([in] BSTR qualifiedName, [in] BSTR publicId, [in] BSTR systemId, [out, retval] IDOMDocumentType** result);
     79 
     80     /*
     81         - (DOMDocument *)createDocument:(NSString *)namespaceURI :(NSString *)qualifiedName :(DOMDocumentType *)doctype;
     82     */
     83     HRESULT createDocument([in] BSTR namespaceURI, [in] BSTR qualifiedName, [in] IDOMDocumentType* doctype, [out, retval] IDOMDocument** result);
     84 }
     85 
     86 /*
     87     @interface DOMNode : DOMObject <DOMEventTarget>
     88 */
     89 [
     90     object,
     91     oleautomation,
     92     uuid(3EEA3E20-72DA-4be7-954F-79B5A14AD726),
     93     pointer_default(unique)
     94 ]
     95 interface IDOMNode : IDOMObject
     96 {
     97     /*
     98         - (NSString *)nodeName;
     99     */
    100     HRESULT nodeName([out, retval] BSTR* result);
    101 
    102     /*
    103         - (NSString *)nodeValue;
    104     */
    105     HRESULT nodeValue([out, retval] BSTR* result);
    106 
    107     /*
    108         - (void)setNodeValue:(NSString *)string;
    109     */
    110     HRESULT setNodeValue([in] BSTR value);
    111 
    112     /*
    113         - (unsigned short)nodeType;
    114     */
    115     HRESULT nodeType([out, retval] unsigned short* result);
    116 
    117     /*
    118         - (DOMNode *)parentNode;
    119     */
    120     HRESULT parentNode([out, retval] IDOMNode** result);
    121 
    122     /*
    123         - (DOMNodeList *)childNodes;
    124     */
    125     HRESULT childNodes([out, retval] IDOMNodeList** result);
    126 
    127     /*
    128         - (DOMNode *)firstChild;
    129     */
    130     HRESULT firstChild([out, retval] IDOMNode** result);
    131 
    132     /*
    133         - (DOMNode *)lastChild;
    134     */
    135     HRESULT lastChild([out, retval] IDOMNode** result);
    136 
    137     /*
    138         - (DOMNode *)previousSibling;
    139     */
    140     HRESULT previousSibling([out, retval] IDOMNode** result);
    141 
    142     /*
    143         - (DOMNode *)nextSibling;
    144     */
    145     HRESULT nextSibling([out, retval] IDOMNode** result);
    146 
    147     /*
    148         - (DOMNamedNodeMap *)attributes;
    149     */
    150     HRESULT attributes([out, retval] IDOMNamedNodeMap** result);
    151 
    152     /*
    153         - (DOMDocument *)ownerDocument;
    154     */
    155     HRESULT ownerDocument([out, retval] IDOMDocument** result);
    156 
    157     /*
    158         - (DOMNode *)insertBefore:(DOMNode *)newChild :(DOMNode *)refChild;
    159     */
    160     HRESULT insertBefore([in] IDOMNode* newChild, [in] IDOMNode* refChild, [out, retval] IDOMNode** result);
    161 
    162     /*
    163         - (DOMNode *)replaceChild:(DOMNode *)newChild :(DOMNode *)oldChild;
    164     */
    165     HRESULT replaceChild([in] IDOMNode* newChild, [in] IDOMNode* oldChild, [out, retval] IDOMNode** result);
    166 
    167     /*
    168         - (DOMNode *)removeChild:(DOMNode *)oldChild;
    169     */
    170     HRESULT removeChild([in] IDOMNode* oldChild, [out, retval] IDOMNode** result);
    171 
    172     /*
    173         - (DOMNode *)appendChild:(DOMNode *)newChild;
    174     */
    175     HRESULT appendChild([in] IDOMNode* oldChild, [out, retval] IDOMNode** result);
    176 
    177     /*
    178         - (BOOL)hasChildNodes;
    179     */
    180     HRESULT hasChildNodes([out, retval] BOOL* result);
    181 
    182     /*
    183         - (DOMNode *)cloneNode:(BOOL)deep;
    184     */
    185     HRESULT cloneNode([in] BOOL deep, [out, retval] IDOMNode** result);
    186 
    187     /*
    188         - (void)normalize;
    189     */
    190     HRESULT normalize();
    191 
    192     /*
    193         - (BOOL)isSupported:(NSString *)feature :(NSString *)version;
    194     */
    195     HRESULT isSupported([in] BSTR feature, [in] BSTR version, [out, retval] BOOL* result);
    196 
    197     /*
    198         - (NSString *)namespaceURI;
    199     */
    200     HRESULT namespaceURI([out, retval] BSTR* result);
    201 
    202     /*
    203         - (NSString *)prefix;
    204     */
    205     HRESULT prefix([out, retval] BSTR* result);
    206 
    207     /*
    208         - (void)setPrefix:(NSString *)prefix;
    209     */
    210     HRESULT setPrefix([in] BSTR prefix);
    211 
    212     /*
    213         - (NSString *)localName;
    214     */
    215     HRESULT localName([out, retval] BSTR* result);
    216 
    217     /*
    218         - (BOOL)hasAttributes;
    219     */
    220     HRESULT hasAttributes([out, retval] BOOL* result);
    221 
    222     /*
    223         - (BOOL)isSameNode:(DOMNode *)other;
    224     */
    225     HRESULT isSameNode([in] IDOMNode* other, [out, retval] BOOL* result);
    226 
    227     /*
    228         - (BOOL)isEqualNode:(DOMNode *)other;
    229     */
    230     HRESULT isEqualNode([in] IDOMNode* other, [out, retval] BOOL* result);
    231 
    232     /*
    233         - (NSString *)textContent;
    234     */
    235     HRESULT textContent([out, retval] BSTR* result);
    236 
    237     /*
    238         - (void)setTextContent:(NSString *)text;
    239     */
    240     HRESULT setTextContent([in] BSTR text);
    241 }
    242 
    243 /*
    244     @interface DOMNodeList : DOMObject
    245 */
    246 [
    247     object,
    248     oleautomation,
    249     uuid(10A05A96-CBD9-4493-83AD-FAFB952615CE),
    250     pointer_default(unique)
    251 ]
    252 interface IDOMNodeList : IDOMObject
    253 {
    254     /*
    255         - (DOMNode *)item:(unsigned)index;
    256     */
    257     HRESULT item([in] UINT index, [out, retval] IDOMNode** result);
    258 
    259     /*
    260         - (unsigned)length;
    261     */
    262     HRESULT length([out, retval] UINT* result);
    263 }
    264 
    265 /*
    266     @interface DOMNamedNodeMap : DOMObject
    267 */
    268 [
    269     object,
    270     oleautomation,
    271     uuid(E6CBF396-C9F9-431b-A8D6-BCB525067E9F),
    272     pointer_default(unique)
    273 ]
    274 interface IDOMNamedNodeMap : IDOMObject
    275 {
    276     /*
    277         - (DOMNode *)getNamedItem:(NSString *)name;
    278     */
    279     HRESULT getNamedItem([in] BSTR name, [out, retval] IDOMNode** result);
    280 
    281     /*
    282         - (DOMNode *)setNamedItem:(DOMNode *)arg;
    283     */
    284     HRESULT setNamedItem([in] IDOMNode* arg, [out, retval] IDOMNode** result);
    285 
    286     /*
    287         - (DOMNode *)removeNamedItem:(NSString *)name;
    288     */
    289     HRESULT removeNamedItem([in] BSTR name, [out, retval] IDOMNode** result);
    290 
    291     /*
    292         - (DOMNode *)item:(unsigned)index;
    293     */
    294     HRESULT item([in] UINT index, [out, retval] IDOMNode** result);
    295 
    296     /*
    297         - (unsigned)length;
    298     */
    299     HRESULT length([out, retval] UINT* result);
    300 
    301     /*
    302         - (DOMNode *)getNamedItemNS:(NSString *)namespaceURI :(NSString *)localName;
    303     */
    304     HRESULT getNamedItemNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] IDOMNode** result);
    305 
    306     /*
    307         - (DOMNode *)setNamedItemNS:(DOMNode *)arg;
    308     */
    309     HRESULT setNamedItemNS([in] IDOMNode* arg, [out, retval] IDOMNode** result);
    310 
    311     /*
    312         - (DOMNode *)removeNamedItemNS:(NSString *)namespaceURI :(NSString *)localName;
    313     */
    314     HRESULT removeNamedItemNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] IDOMNode** result);
    315 }
    316 
    317 /*
    318     @interface DOMDocument : IDOMNode
    319 */
    320 [
    321     object,
    322     oleautomation,
    323     uuid(A83C2C44-0BAC-45c7-8E17-6A49975D5CCA),
    324     pointer_default(unique)
    325 ]
    326 interface IDOMDocument : IDOMNode
    327 {
    328     /*
    329         - (DOMDocumentType *)doctype;
    330     */
    331     HRESULT doctype([out, retval] IDOMDocumentType** result);
    332 
    333     /*
    334         - (DOMImplementation *)implementation;
    335     */
    336     HRESULT implementation([out, retval] IDOMImplementation** result);
    337 
    338     /*
    339         - (DOMElement *)documentElement;
    340     */
    341     HRESULT documentElement([out, retval] IDOMElement** result);
    342 
    343     /*
    344         - (DOMElement *)createElement:(NSString *)tagName;
    345     */
    346     HRESULT createElement([in] BSTR tagName, [out, retval] IDOMElement** result);
    347 
    348     /*
    349         - (DOMDocumentFragment *)createDocumentFragment;
    350     */
    351     HRESULT createDocumentFragment([out, retval] IDOMDocumentFragment** result);
    352 
    353     /*
    354         - (DOMText *)createTextNode:(NSString *)data;
    355     */
    356     HRESULT createTextNode([in] BSTR data, [out, retval] IDOMText** result);
    357 
    358     /*
    359         - (DOMComment *)createComment:(NSString *)data;
    360     */
    361     HRESULT createComment([in] BSTR data, [out, retval] IDOMComment** result);
    362 
    363     /*
    364         - (DOMCDATASection *)createCDATASection:(NSString *)data;
    365     */
    366     HRESULT createCDATASection([in] BSTR data, [out, retval] IDOMCDATASection** result);
    367 
    368     /*
    369         - (DOMProcessingInstruction *)createProcessingInstruction:(NSString *)target :(NSString *)data;
    370     */
    371     HRESULT createProcessingInstruction([in] BSTR target, [in] BSTR data, [out, retval] IDOMProcessingInstruction** result);
    372 
    373     /*
    374         - (DOMAttr *)createAttribute:(NSString *)name;
    375     */
    376     HRESULT createAttribute([in] BSTR name, [out, retval] IDOMAttr** result);
    377 
    378     /*
    379         - (DOMEntityReference *)createEntityReference:(NSString *)name;
    380     */
    381     HRESULT createEntityReference([in] BSTR name, [out, retval] IDOMEntityReference** result);
    382 
    383     /*
    384         - (DOMNodeList *)getElementsByTagName:(NSString *)tagname;
    385     */
    386     HRESULT getElementsByTagName([in] BSTR tagName, [out, retval] IDOMNodeList** result);
    387 
    388     /*
    389         - (DOMNode *)importNode:(DOMNode *)importedNode :(BOOL)deep;
    390     */
    391     HRESULT importNode([in] IDOMNode* importedNode, [in] BOOL deep, [out, retval] IDOMNode** result);
    392 
    393     /*
    394         - (DOMElement *)createElementNS:(NSString *)namespaceURI :(NSString *)qualifiedName;
    395     */
    396     HRESULT createElementNS([in] BSTR namespaceURI, [in] BSTR qualifiedName, [out, retval] IDOMElement** result);
    397 
    398     /*
    399         - (DOMAttr *)createAttributeNS:(NSString *)namespaceURI :(NSString *)qualifiedName;
    400     */
    401     HRESULT createAttributeNS([in] BSTR namespaceURI, [in] BSTR qualifiedName, [out, retval] IDOMAttr** result);
    402 
    403     /*
    404         - (DOMNodeList *)getElementsByTagNameNS:(NSString *)namespaceURI :(NSString *)localName;
    405     */
    406     HRESULT getElementsByTagNameNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] IDOMNodeList** result);
    407 
    408     /*
    409         - (DOMElement *)getElementById:(NSString *)elementId;
    410     */
    411     HRESULT getElementById([in] BSTR elementId, [out, retval] IDOMElement** result);
    412 }
    413 
    414 /*
    415     @interface DOMCharacterData : IDOMNode
    416 */
    417 [
    418     object,
    419     oleautomation,
    420     uuid(F4DED047-FE61-461a-BDBD-BB87F79DB713),
    421     pointer_default(unique)
    422 ]
    423 interface IDOMCharacterData : IDOMNode
    424 {
    425     /*
    426         - (NSString *)data;
    427     */
    428     HRESULT data([out, retval] BSTR* result);
    429 
    430     /*
    431         - (void)setData:(NSString *)data;
    432     */
    433     HRESULT setData([in] BSTR data);
    434 
    435     /*
    436         - (unsigned)length;
    437     */
    438     HRESULT length([out, retval] UINT* result);
    439 
    440     /*
    441         - (NSString *)substringData:(unsigned)offset :(unsigned)count;
    442     */
    443     HRESULT substringData([in] UINT offset, [in] UINT count, [out, retval] BSTR* result);
    444 
    445     /*
    446         - (void)appendData:(NSString *)arg;
    447     */
    448     HRESULT appendData([in] BSTR arg);
    449 
    450     /*
    451         - (void)insertData:(unsigned)offset :(NSString *)arg;
    452     */
    453     HRESULT insertData([in] UINT offset, [in] BSTR arg);
    454 
    455     /*
    456         - (void)deleteData:(unsigned)offset :(unsigned) count;
    457     */
    458     HRESULT deleteData([in] UINT offset, [in] UINT count);
    459 
    460     /*
    461         - (void)replaceData:(unsigned)offset :(unsigned)count :(NSString *)arg;
    462     */
    463     HRESULT replaceData([in] UINT offset, [in] UINT count, [in] BSTR arg);
    464 }
    465 
    466 /*
    467     @interface DOMAttr : IDOMNode
    468 */
    469 [
    470     object,
    471     oleautomation,
    472     uuid(B587E098-8206-4b5a-A7DB-422F218571A0),
    473     pointer_default(unique)
    474 ]
    475 interface IDOMAttr : IDOMNode
    476 {
    477     /*
    478         - (NSString *)name;
    479     */
    480     HRESULT name([out, retval] BSTR* result);
    481 
    482     /*
    483         - (BOOL)specified;
    484     */
    485     HRESULT specified([out, retval] BOOL* result);
    486 
    487     /*
    488         - (NSString *)value;
    489     */
    490     HRESULT value([out, retval] BSTR* value);
    491 
    492     /*
    493         - (void)setValue:(NSString *)value;
    494     */
    495     HRESULT setValue([in] BSTR value);
    496 
    497     /*
    498         - (DOMElement *)ownerElement;
    499     */
    500     HRESULT ownerElement([out, retval] IDOMElement** result);
    501 }
    502 
    503 /*
    504     @interface DOMElement : IDOMNode
    505 */
    506 [
    507     object,
    508     oleautomation,
    509     uuid(E053A35B-7775-4859-80EA-C35D02D145A2),
    510     pointer_default(unique)
    511 ]
    512 interface IDOMElement : IDOMNode
    513 {
    514     /*
    515         - (NSString *)tagName;
    516     */
    517     HRESULT tagName([out, retval] BSTR* result);
    518 
    519     /*
    520         - (NSString *)getAttribute:(NSString *)name;
    521     */
    522     HRESULT getAttribute([in] BSTR name, [out, retval] BSTR* result);
    523 
    524     /*
    525         - (void)setAttribute:(NSString *)name :(NSString *)value;
    526     */
    527     HRESULT setAttribute([in] BSTR name, [in] BSTR value);
    528 
    529     /*
    530         - (void)removeAttribute:(NSString *)name;
    531     */
    532     HRESULT removeAttribute([in] BSTR name);
    533 
    534     /*
    535         - (DOMAttr *)getAttributeNode:(NSString *)name;
    536     */
    537     HRESULT getAttributeNode([in] BSTR name, [out, retval] IDOMAttr** result);
    538 
    539     /*
    540         - (DOMAttr *)setAttributeNode:(DOMAttr *)newAttr;
    541     */
    542     HRESULT setAttributeNode([in] IDOMAttr* newAttr, [out, retval] IDOMAttr** result);
    543 
    544     /*
    545         - (DOMAttr *)removeAttributeNode:(DOMAttr *)oldAttr;
    546     */
    547     HRESULT removeAttributeNode([in] IDOMAttr* oldAttr, [out, retval] IDOMAttr** result);
    548 
    549     /*
    550         - (DOMNodeList *)getElementsByTagName:(NSString *)name;
    551     */
    552     HRESULT getElementsByTagName([in] BSTR name, [out, retval] IDOMNodeList** result);
    553 
    554     /*
    555         - (NSString *)getAttributeNS:(NSString *)namespaceURI :(NSString *)localName;
    556     */
    557     HRESULT getAttributeNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] BSTR* result);
    558 
    559     /*
    560         - (void)setAttributeNS:(NSString *)namespaceURI :(NSString *)qualifiedName :(NSString *)value;
    561     */
    562     HRESULT setAttributeNS([in] BSTR namespaceURI, [in] BSTR qualifiedName, [in] BSTR value);
    563 
    564     /*
    565         - (void)removeAttributeNS:(NSString *)namespaceURI :(NSString *)localName;
    566     */
    567     HRESULT removeAttributeNS([in] BSTR namespaceURI, [in] BSTR localName);
    568 
    569     /*
    570         - (DOMAttr *)getAttributeNodeNS:(NSString *)namespaceURI :(NSString *)localName;
    571     */
    572     HRESULT getAttributeNodeNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] IDOMAttr** result);
    573 
    574     /*
    575         - (DOMAttr *)setAttributeNodeNS:(DOMAttr *)newAttr;
    576     */
    577     HRESULT setAttributeNodeNS([in] IDOMAttr* newAttr, [out, retval] IDOMAttr** result);
    578 
    579     /*
    580         - (DOMNodeList *)getElementsByTagNameNS:(NSString *)namespaceURI :(NSString *)localName;
    581     */
    582     HRESULT getElementsByTagNameNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] IDOMNodeList** result);
    583 
    584     /*
    585         - (BOOL)hasAttribute:(NSString *)name;
    586     */
    587     HRESULT hasAttribute([in] BSTR name, [out, retval] BOOL* result);
    588 
    589     /*
    590         - (BOOL)hasAttributeNS:(NSString *)namespaceURI :(NSString *)localName;
    591     */
    592     HRESULT hasAttributeNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] BOOL* result);
    593 
    594     /*
    595         - (void)focus;
    596     */
    597     HRESULT focus();
    598 
    599     /*
    600         - (void)blur;
    601     */
    602     HRESULT blur();
    603 }
    604 
    605 /*
    606     @interface DOMElement (DOMElementExtensions)
    607 */
    608 [
    609     object,
    610     oleautomation,
    611     uuid(98E481F5-4405-4c2a-BF77-1CE95FE5F992),
    612     pointer_default(unique)
    613 ]
    614 interface IDOMElementExtensions : IUnknown
    615 {
    616     /*
    617         - (int)offsetLeft;
    618     */
    619     HRESULT offsetLeft([out, retval] int* result);
    620 
    621     /*
    622         - (int)offsetTop;
    623     */
    624     HRESULT offsetTop([out, retval] int* result);
    625 
    626     /*
    627         - (int)offsetWidth;
    628     */
    629     HRESULT offsetWidth([out, retval] int* result);
    630 
    631     /*
    632         - (int)offsetHeight;
    633     */
    634     HRESULT offsetHeight([out, retval] int* result);
    635 
    636     /*
    637         - (DOMElement *)offsetParent;
    638     */
    639     HRESULT offsetParent([out, retval] IDOMElement** result);
    640 
    641     /*
    642         - (int)clientWidth;
    643     */
    644     HRESULT clientWidth([out, retval] int* result);
    645 
    646     /*
    647         - (int)clientHeight;
    648     */
    649     HRESULT clientHeight([out, retval] int* result);
    650 
    651     /*
    652         - (int)scrollLeft;
    653     */
    654     HRESULT scrollLeft([out, retval] int* result);
    655 
    656     /*
    657         - (void)setScrollLeft:(int)newScrollLeft;
    658     */
    659     HRESULT setScrollLeft([in] int newScrollLeft);
    660 
    661     /*
    662         - (int)scrollTop;
    663     */
    664     HRESULT scrollTop([out, retval] int* result);
    665 
    666     /*
    667         - (void)setScrollTop:(int)newScrollTop;
    668     */
    669     HRESULT setScrollTop([in] int newScrollTop);
    670 
    671     /*
    672         - (int)scrollWidth;
    673     */
    674     HRESULT scrollWidth([out, retval] int* result);
    675 
    676     /*
    677         - (int)scrollHeight;
    678     */
    679     HRESULT scrollHeight([out, retval] int* result);
    680 
    681     /*
    682         - (void)scrollIntoView:(BOOL)alignWithTop;
    683     */
    684     HRESULT scrollIntoView([in] BOOL alignWithTop);
    685 
    686     /*
    687         - (void)scrollIntoViewIfNeeded:(BOOL)centerIfNeeded;
    688     */
    689     HRESULT scrollIntoViewIfNeeded([in] BOOL centerIfNeeded);
    690 }
    691 
    692 /*
    693     @interface DOMText : DOMCharacterData
    694 */
    695 [
    696     object,
    697     oleautomation,
    698     uuid(74638F45-1AA0-4db5-958C-82066E00BD2B),
    699     pointer_default(unique)
    700 ]
    701 interface IDOMText : IDOMCharacterData
    702 {
    703     /*
    704         - (DOMText *)splitText:(unsigned)offset;
    705     */
    706     HRESULT splitText([in] UINT offset, [out, retval] IDOMText** result);
    707 }
    708 
    709 /*
    710     @interface DOMComment : DOMCharacterData
    711 */
    712 [
    713     object,
    714     oleautomation,
    715     uuid(118002E8-847F-4b1a-968C-B25A6AC7B128),
    716     pointer_default(unique)
    717 ]
    718 interface IDOMComment : IDOMCharacterData
    719 {
    720 }
    721 
    722 /*
    723     @interface DOMCDATASection : DOMText
    724 */
    725 [
    726     object,
    727     oleautomation,
    728     uuid(31B506C1-45A3-4d72-815A-311B0A897E58),
    729     pointer_default(unique)
    730 ]
    731 interface IDOMCDATASection : IDOMText
    732 {
    733 }
    734 
    735 /*
    736     @interface DOMDocumentType : IDOMNode
    737 */
    738 [
    739     object,
    740     oleautomation,
    741     uuid(17FCE6EA-4164-4bd4-9DBF-0395FBF37FD3),
    742     pointer_default(unique)
    743 ]
    744 interface IDOMDocumentType : IDOMNode
    745 {
    746     /*
    747         - (NSString *)name;
    748     */
    749     HRESULT name([out, retval] BSTR* result);
    750 
    751     /*
    752         - (DOMNamedNodeMap *)entities;
    753     */
    754     HRESULT entities([out, retval] IDOMNamedNodeMap** result);
    755 
    756     /*
    757         - (DOMNamedNodeMap *)notations;
    758     */
    759     HRESULT notations([out, retval] IDOMNamedNodeMap** result);
    760 
    761     /*
    762         - (NSString *)publicId;
    763     */
    764     HRESULT publicId([out, retval] BSTR* result);
    765 
    766     /*
    767         - (NSString *)systemId;
    768     */
    769     HRESULT systemId([out, retval] BSTR* result);
    770 
    771     /*
    772         - (NSString *)internalSubset;
    773     */
    774     HRESULT internalSubset([out, retval] BSTR* result);
    775 }
    776 
    777 /*
    778     @interface DOMEntityReference : IDOMNode
    779 */
    780 [
    781     object,
    782     oleautomation,
    783     uuid(0593CE45-15B2-44af-BBD0-5A1654F8240E),
    784     pointer_default(unique)
    785 ]
    786 interface IDOMEntityReference : IDOMNode
    787 {
    788 }
    789 
    790 /*
    791     @interface DOMProcessingInstruction : IDOMNode
    792 */
    793 [
    794     object,
    795     oleautomation,
    796     uuid(D99D2F48-ABF3-426a-9339-54681E1AFCA9),
    797     pointer_default(unique)
    798 ]
    799 interface IDOMProcessingInstruction : IDOMNode
    800 {
    801     /*
    802         - (NSString *)target;
    803     */
    804     HRESULT target([out, retval] BSTR* result);
    805 
    806     /*
    807         - (NSString *)data;
    808     */
    809     HRESULT data([out, retval] BSTR* result);
    810 
    811     /*
    812         - (void)setData:(NSString *)data;
    813     */
    814     HRESULT setData([in] BSTR data);
    815 }
    816 
    817 /*
    818     @interface DOMDocumentFragment : IDOMNode
    819 */
    820 [
    821     object,
    822     oleautomation,
    823     uuid(09D35665-8396-4868-949E-8AA2407A6E10),
    824     pointer_default(unique)
    825 ]
    826 interface IDOMDocumentFragment : IDOMNode
    827 {
    828 }
    829