WebKit/win/Interfaces/DOMCore.idl
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     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 }