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