|  | /* | 
|  | * Copyright (C) 2005 Vijay Kiran Kamuju | 
|  | * Copyright (C) 2008 Alistair Leslie-Hughes | 
|  | * | 
|  | * This library is free software; you can redistribute it and/or | 
|  | * modify it under the terms of the GNU Lesser General Public | 
|  | * License as published by the Free Software Foundation; either | 
|  | * version 2.1 of the License, or (at your option) any later version. | 
|  | * | 
|  | * This library is distributed in the hope that it will be useful, | 
|  | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|  | * Lesser General Public License for more details. | 
|  | * | 
|  | * You should have received a copy of the GNU Lesser General Public | 
|  | * License along with this library; if not, write to the Free Software | 
|  | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
|  | */ | 
|  |  | 
|  | #include <msxml2did.h> | 
|  | #include <olectl.h> | 
|  |  | 
|  | import "unknwn.idl"; | 
|  | import "objidl.idl"; | 
|  | import "oaidl.idl"; | 
|  |  | 
|  | [ | 
|  | uuid(f5078f18-c551-11d3-89b9-0000f81fe221), | 
|  | version(3.0), | 
|  | helpstring("Microsoft XML, v3.0") | 
|  | ] | 
|  | library MSXML2 | 
|  | { | 
|  |  | 
|  | importlib("stdole2.tlb"); | 
|  |  | 
|  | interface IXMLDOMImplementation; | 
|  | interface IXMLDOMNode; | 
|  | interface IXMLDOMDocumentFragment; | 
|  | interface IXMLDOMDocument; | 
|  | interface IXMLDOMSchemaCollection; | 
|  | interface IXMLDOMDocument2; | 
|  | interface IXMLDOMNodeList; | 
|  | interface IXMLDOMNamedNodeMap; | 
|  | interface IXMLDOMCharacterData; | 
|  | interface IXMLDOMAttribute; | 
|  | interface IXMLDOMElement; | 
|  | interface IXMLDOMText; | 
|  | interface IXMLDOMComment; | 
|  | interface IXMLDOMProcessingInstruction; | 
|  | interface IXMLDOMCDATASection; | 
|  | interface IXMLDOMDocumentType; | 
|  | interface IXMLDOMNotation; | 
|  | interface IXMLDOMEntity; | 
|  | interface IXMLDOMEntityReference; | 
|  | interface IXMLDOMParseError; | 
|  | interface IXTLRuntime; | 
|  | interface IXSLTemplate; | 
|  | interface IXSLProcessor; | 
|  |  | 
|  | /* SAX Interfaces */ | 
|  | interface ISAXAttributes; | 
|  | interface ISAXContentHandler; | 
|  | interface ISAXDeclHandler; | 
|  | interface ISAXDTDHandler; | 
|  | interface ISAXEntityResolver; | 
|  | interface ISAXErrorHandler; | 
|  | interface ISAXLexicalHandler; | 
|  | interface ISAXLocator; | 
|  | interface ISAXXMLFilter; | 
|  | interface ISAXXMLReader; | 
|  |  | 
|  | interface IVBSAXAttributes; | 
|  | interface IVBSAXContentHandler; | 
|  | interface IVBSAXDeclHandler; | 
|  | interface IVBSAXDTDHandler; | 
|  | interface IVBSAXEntityResolver; | 
|  | interface IVBSAXErrorHandler; | 
|  | interface IVBSAXLexicalHandler; | 
|  | interface IVBSAXLocator; | 
|  | interface IVBSAXXMLFilter; | 
|  | interface IVBSAXXMLReader; | 
|  |  | 
|  | interface IMXAttributes; | 
|  | interface IMXReaderControl; | 
|  | interface IMXWriter; | 
|  |  | 
|  |  | 
|  | cpp_quote("#define DOMDocument DOMDocument2") | 
|  | cpp_quote("#define CLSID_DOMDocument CLSID_DOMDocument2") | 
|  |  | 
|  | cpp_quote("#ifndef __WIDL_XMLDOM_H") | 
|  | typedef enum tagDOMNodeType | 
|  | { | 
|  | NODE_INVALID  		= 0, | 
|  | NODE_ELEMENT  		= 1, | 
|  | NODE_ATTRIBUTE		= 2, | 
|  | NODE_TEXT			= 3, | 
|  | NODE_CDATA_SECTION		= 4, | 
|  | NODE_ENTITY_REFERENCE 	= 5, | 
|  | NODE_ENTITY 		= 6, | 
|  | NODE_PROCESSING_INSTRUCTION = 7, | 
|  | NODE_COMMENT		= 8, | 
|  | NODE_DOCUMENT		= 9, | 
|  | NODE_DOCUMENT_TYPE		= 10, | 
|  | NODE_DOCUMENT_FRAGMENT 	= 11, | 
|  | NODE_NOTATION 		= 12 | 
|  | } DOMNodeType; | 
|  | cpp_quote("#endif   /* __WIDL_XMLDOM_H */") | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF80-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMNode : IDispatch | 
|  | { | 
|  | [propget, id(DISPID_DOM_NODE_NODENAME)] | 
|  | HRESULT nodeName([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODE_NODEVALUE)] | 
|  | HRESULT nodeValue([retval, out] VARIANT *var1); | 
|  |  | 
|  | [propput, id(DISPID_DOM_NODE_NODEVALUE)] | 
|  | HRESULT nodeValue([in] VARIANT var1); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODE_NODETYPE)] | 
|  | HRESULT nodeType([retval, out] DOMNodeType *domNodeType); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODE_PARENTNODE)] | 
|  | HRESULT parentNode([retval, out] IXMLDOMNode **parent); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODE_CHILDNODES)] | 
|  | HRESULT childNodes([retval, out] IXMLDOMNodeList **outList); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODE_FIRSTCHILD)] | 
|  | HRESULT firstChild([retval, out] IXMLDOMNode **domNode); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODE_LASTCHILD)] | 
|  | HRESULT lastChild([retval, out] IXMLDOMNode **domNode); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING)] | 
|  | HRESULT previousSibling([retval, out] IXMLDOMNode **domNode); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODE_NEXTSIBLING)] | 
|  | HRESULT nextSibling([retval, out] IXMLDOMNode **domNode); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODE_ATTRIBUTES)] | 
|  | HRESULT attributes([retval, out] IXMLDOMNamedNodeMap **attributeMap); | 
|  |  | 
|  | [id(DISPID_DOM_NODE_INSERTBEFORE)] | 
|  | HRESULT insertBefore( | 
|  | [in] IXMLDOMNode *newNode, | 
|  | [in] VARIANT var1, | 
|  | [retval, out] IXMLDOMNode **outOldNode); | 
|  |  | 
|  | [id(DISPID_DOM_NODE_REPLACECHILD)] | 
|  | HRESULT replaceChild( | 
|  | [in] IXMLDOMNode *newNode, | 
|  | [in] IXMLDOMNode *oldNode, | 
|  | [retval, out] IXMLDOMNode **outOldNode); | 
|  |  | 
|  | [id(DISPID_DOM_NODE_REMOVECHILD)] | 
|  | HRESULT removeChild( | 
|  | [in] IXMLDOMNode *domNode, | 
|  | [retval, out] IXMLDOMNode **oldNode); | 
|  |  | 
|  | [id(DISPID_DOM_NODE_APPENDCHILD)] | 
|  | HRESULT appendChild( | 
|  | [in] IXMLDOMNode *newNode, | 
|  | [retval, out] IXMLDOMNode **outNewNode); | 
|  |  | 
|  | [id(DISPID_DOM_NODE_HASCHILDNODES)] | 
|  | HRESULT hasChildNodes( | 
|  | [retval, out] VARIANT_BOOL *pbool); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODE_OWNERDOC)] | 
|  | HRESULT ownerDocument([retval, out] IXMLDOMDocument **domDocument); | 
|  |  | 
|  | [id(DISPID_DOM_NODE_CLONENODE)] | 
|  | HRESULT cloneNode( | 
|  | [in] VARIANT_BOOL pbool, | 
|  | [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE)] | 
|  | HRESULT nodeTypeString([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_NODE_TEXT)] | 
|  | HRESULT text([retval, out] BSTR *p); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_NODE_TEXT)] | 
|  | HRESULT text([in] BSTR p); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_NODE_SPECIFIED)] | 
|  | HRESULT specified([retval, out] VARIANT_BOOL *pbool); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_NODE_DEFINITION)] | 
|  | HRESULT definition([retval,out] IXMLDOMNode **domNode); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)] | 
|  | HRESULT nodeTypedValue([retval, out] VARIANT *var1); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)] | 
|  | HRESULT nodeTypedValue([in] VARIANT var1); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_NODE_DATATYPE)] | 
|  | HRESULT dataType([retval, out] VARIANT *var1); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_NODE_DATATYPE)] | 
|  | HRESULT dataType([in] BSTR p); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_NODE_XML)] | 
|  | HRESULT xml([retval, out] BSTR *p); | 
|  |  | 
|  | [id(DISPID_XMLDOM_NODE_TRANSFORMNODE)] | 
|  | HRESULT transformNode( | 
|  | [in] IXMLDOMNode *domNode, | 
|  | [retval, out] BSTR *p); | 
|  |  | 
|  | [id(DISPID_XMLDOM_NODE_SELECTNODES)] | 
|  | HRESULT selectNodes( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMNodeList **outList); | 
|  |  | 
|  | [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE)] | 
|  | HRESULT selectSingleNode( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [propget,id(DISPID_XMLDOM_NODE_PARSED)] | 
|  | HRESULT parsed([retval, out] VARIANT_BOOL *pbool); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_NODE_NAMESPACE)] | 
|  | HRESULT namespaceURI([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_NODE_PREFIX)] | 
|  | HRESULT prefix([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_NODE_BASENAME)] | 
|  | HRESULT baseName([retval, out] BSTR *p); | 
|  |  | 
|  | [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT)] | 
|  | HRESULT transformNodeToObject( | 
|  | [in] IXMLDOMNode *domNode, | 
|  | [in] VARIANT var1); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF81-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMDocument : IXMLDOMNode | 
|  | { | 
|  | [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE)] | 
|  | HRESULT doctype([retval, out] IXMLDOMDocumentType **docType); | 
|  |  | 
|  | [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION)] | 
|  | HRESULT implementation([retval, out] IXMLDOMImplementation **impl); | 
|  |  | 
|  | [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)] | 
|  | HRESULT documentElement([retval, out] IXMLDOMElement **domElement); | 
|  |  | 
|  | [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)] | 
|  | HRESULT documentElement([in] IXMLDOMElement *domElement); | 
|  |  | 
|  | [id(DISPID_DOM_DOCUMENT_CREATEELEMENT)] | 
|  | HRESULT createElement( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMElement **domElement); | 
|  |  | 
|  | [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT)] | 
|  | HRESULT createDocumentFragment( | 
|  | [retval, out] IXMLDOMDocumentFragment **docFrag); | 
|  |  | 
|  | [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE)] | 
|  | HRESULT createTextNode( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMText **text); | 
|  |  | 
|  | [id(DISPID_DOM_DOCUMENT_CREATECOMMENT)] | 
|  | HRESULT createComment( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMComment **comment); | 
|  |  | 
|  | [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION)] | 
|  | HRESULT createCDATASection( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMCDATASection **cdata); | 
|  |  | 
|  | [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION)] | 
|  | HRESULT createProcessingInstruction( | 
|  | [in] BSTR target, | 
|  | [in] BSTR data, | 
|  | [retval, out] IXMLDOMProcessingInstruction **pi); | 
|  |  | 
|  | [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE)] | 
|  | HRESULT createAttribute( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMAttribute **attribute); | 
|  |  | 
|  | [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE)] | 
|  | HRESULT createEntityReference( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMEntityReference **entityRef); | 
|  |  | 
|  | [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME)] | 
|  | HRESULT getElementsByTagName( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMNodeList **resultList); | 
|  |  | 
|  | [id(DISPID_XMLDOM_DOCUMENT_CREATENODE)] | 
|  | HRESULT createNode( | 
|  | [in] VARIANT var, | 
|  | [in] BSTR name, | 
|  | [in] BSTR uri, | 
|  | [retval, out] IXMLDOMNode **node); | 
|  |  | 
|  | [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID)] | 
|  | HRESULT nodeFromID( | 
|  | [in] BSTR id, | 
|  | [retval, out] IXMLDOMNode **node); | 
|  |  | 
|  | [id(DISPID_XMLDOM_DOCUMENT_LOAD)] | 
|  | HRESULT load( | 
|  | [in] VARIANT var1, | 
|  | [retval, out] VARIANT_BOOL *pbool); | 
|  |  | 
|  | [propget, id(DISPID_READYSTATE)] | 
|  | HRESULT readyState([retval, out] LONG *value); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR)] | 
|  | HRESULT parseError([retval, out] IXMLDOMParseError **err); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_DOCUMENT_URL)] | 
|  | HRESULT url([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC)] | 
|  | HRESULT async([retval, out] VARIANT_BOOL *pbool); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC)] | 
|  | HRESULT async([in] VARIANT_BOOL pbool); | 
|  |  | 
|  | [id(DISPID_XMLDOM_DOCUMENT_ABORT)] | 
|  | HRESULT abort(); | 
|  |  | 
|  | [id(DISPID_XMLDOM_DOCUMENT_LOADXML)] | 
|  | HRESULT loadXML( | 
|  | [in] BSTR p, | 
|  | [out, retval] VARIANT_BOOL *pbool); | 
|  |  | 
|  | [id(DISPID_XMLDOM_DOCUMENT_SAVE)] | 
|  | HRESULT save( | 
|  | [in] VARIANT var1); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)] | 
|  | HRESULT validateOnParse([retval, out] VARIANT_BOOL *pbool); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)] | 
|  | HRESULT validateOnParse([in] VARIANT_BOOL pbool); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)] | 
|  | HRESULT resolveExternals([retval,out] VARIANT_BOOL *pbool); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)] | 
|  | HRESULT resolveExternals([in] VARIANT_BOOL pbool); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)] | 
|  | HRESULT preserveWhiteSpace([retval,out] VARIANT_BOOL *pbool); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)] | 
|  | HRESULT preserveWhiteSpace([in] VARIANT_BOOL pbool); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE)] | 
|  | HRESULT onreadystatechange([in] VARIANT var1); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE)] | 
|  | HRESULT ondataavailable([in] VARIANT var1); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE)] | 
|  | HRESULT ontransformnode([in] VARIANT var1); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (373984c8-b845-449b-91e7-45ac83036ade) | 
|  | ] | 
|  | interface IXMLDOMSchemaCollection : IDispatch | 
|  | { | 
|  | [id(DISPID_XMLDOM_SCHEMACOLLECTION_ADD)] | 
|  | HRESULT add( | 
|  | [in] BSTR uri, | 
|  | [in] VARIANT var); | 
|  |  | 
|  | [id(DISPID_XMLDOM_SCHEMACOLLECTION_GET)] | 
|  | HRESULT get( | 
|  | [in] BSTR uri, | 
|  | [retval, out] IXMLDOMNode **node); | 
|  |  | 
|  | [id(DISPID_XMLDOM_SCHEMACOLLECTION_REMOVE)] | 
|  | HRESULT remove( | 
|  | [in] BSTR uri); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_SCHEMACOLLECTION_LENGTH)] | 
|  | HRESULT length( | 
|  | [retval, out] LONG *length); | 
|  |  | 
|  | [propget, id(DISPID_VALUE)] | 
|  | HRESULT namespaceURI([in] LONG index, [out, retval] BSTR *len); | 
|  |  | 
|  | [id(DISPID_XMLDOM_SCHEMACOLLECTION_ADDCOLLECTION)] | 
|  | HRESULT addCollection( | 
|  | [in] IXMLDOMSchemaCollection *otherCollection); | 
|  |  | 
|  | [propget, id(DISPID_NEWENUM)] | 
|  | HRESULT _newEnum([retval, out] IUnknown **ppUnk); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF95-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMDocument2 : IXMLDOMDocument | 
|  | { | 
|  | [propget, id(DISPID_XMLDOM_DOCUMENT2_NAMESPACES)] | 
|  | HRESULT namespaces([retval, out] IXMLDOMSchemaCollection **schemaCollection); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_DOCUMENT2_SCHEMAS)] | 
|  | HRESULT schemas([retval, out] VARIANT *var1); | 
|  |  | 
|  | [propputref, id(DISPID_XMLDOM_DOCUMENT2_SCHEMAS)] | 
|  | HRESULT schemas([in] VARIANT var1); | 
|  |  | 
|  | [id(DISPID_XMLDOM_DOCUMENT2_VALIDATE)] | 
|  | HRESULT validate( | 
|  | [retval, out] IXMLDOMParseError **err); | 
|  |  | 
|  | [id(DISPID_XMLDOM_DOCUMENT2_SETPROPERTY)] | 
|  | HRESULT setProperty( | 
|  | [in] BSTR p, | 
|  | [in] VARIANT var); | 
|  |  | 
|  | [id(DISPID_XMLDOM_DOCUMENT2_GETPROPERTY)] | 
|  | HRESULT getProperty( | 
|  | [in] BSTR p, | 
|  | [retval, out] VARIANT *var); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF82-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMNodeList : IDispatch | 
|  | { | 
|  | [propget, id(DISPID_VALUE)] | 
|  | HRESULT item([in] LONG lIndex, [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODELIST_LENGTH)] | 
|  | HRESULT length([retval, out] LONG *lLength); | 
|  |  | 
|  | [id(DISPID_XMLDOM_NODELIST_NEXTNODE)] | 
|  | HRESULT nextNode( | 
|  | [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [id(DISPID_XMLDOM_NODELIST_RESET)] | 
|  | HRESULT reset(); | 
|  |  | 
|  | [propget, id(DISPID_NEWENUM)] | 
|  | HRESULT _newEnum([retval, out] IUnknown **ppUnk); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (AA634FC7-5888-44a7-A257-3A47150D3A0E) | 
|  | ] | 
|  | interface IXMLDOMSelection : IXMLDOMNodeList | 
|  | { | 
|  | [propget, id(DISPID_XMLDOM_SELECTION_EXPR)] | 
|  | HRESULT expr([retval, out] BSTR *p); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_SELECTION_EXPR)] | 
|  | HRESULT expr([in] BSTR p); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_SELECTION_CONTEXT)] | 
|  | HRESULT context([retval, out] IXMLDOMNode **ppNode); | 
|  |  | 
|  | [propputref, id(DISPID_XMLDOM_SELECTION_CONTEXT)] | 
|  | HRESULT context([in] IXMLDOMNode * pNode); | 
|  |  | 
|  | [id(DISPID_XMLDOM_SELECTION_PEEKNODE)] | 
|  | HRESULT peekNode( | 
|  | [retval, out] IXMLDOMNode **ppNode); | 
|  |  | 
|  | [id(DISPID_XMLDOM_SELECTION_MATCHES)] | 
|  | HRESULT matches( | 
|  | [in] IXMLDOMNode *pNode, | 
|  | [retval, out] IXMLDOMNode **ppNode); | 
|  |  | 
|  | [id(DISPID_XMLDOM_SELECTION_REMOVENEXT)] | 
|  | HRESULT removeNext( | 
|  | [retval, out] IXMLDOMNode **ppNode); | 
|  |  | 
|  | [id(DISPID_XMLDOM_SELECTION_REMOVEALL)] | 
|  | HRESULT removeAll(); | 
|  |  | 
|  | [id(DISPID_XMLDOM_SELECTION_CLONE)] | 
|  | HRESULT clone( | 
|  | [retval, out] IXMLDOMSelection **ppNode); | 
|  |  | 
|  | [id(DISPID_XMLDOM_SELECTION_GETPROPERTY)] | 
|  | HRESULT getProperty( | 
|  | [in] BSTR p, | 
|  | [retval, out] VARIANT * var); | 
|  |  | 
|  | [id(DISPID_XMLDOM_SELECTION_SETPROPERTY)] | 
|  | HRESULT setProperty( | 
|  | [in] BSTR p, | 
|  | [in] VARIANT var); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF83-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMNamedNodeMap : IDispatch | 
|  | { | 
|  | [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM)] | 
|  | HRESULT getNamedItem( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM)] | 
|  | HRESULT setNamedItem( | 
|  | [in] IXMLDOMNode *newNode, | 
|  | [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM)] | 
|  | HRESULT removeNamedItem( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [propget, id(DISPID_VALUE)] | 
|  | HRESULT item([in] LONG lIndex, [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NODELIST_LENGTH)] | 
|  | HRESULT length([retval, out] LONG *lLength); | 
|  |  | 
|  | [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM)] | 
|  | HRESULT getQualifiedItem( | 
|  | [in] BSTR name, | 
|  | [in] BSTR uri, | 
|  | [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM)] | 
|  | HRESULT removeQualifiedItem( | 
|  | [in] BSTR name, | 
|  | [in] BSTR uri, | 
|  | [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE)] | 
|  | HRESULT nextNode( | 
|  | [retval, out] IXMLDOMNode **outNode); | 
|  |  | 
|  | [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET)] | 
|  | HRESULT reset(); | 
|  |  | 
|  | [propget, id(DISPID_NEWENUM)] | 
|  | HRESULT _newEnum([retval, out] IUnknown **ppUnk); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (3efaa413-272f-11d2-836f-0000f87a7782) | 
|  | ] | 
|  | interface IXMLDOMDocumentFragment : IXMLDOMNode | 
|  | { | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF84-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMCharacterData : IXMLDOMNode | 
|  | { | 
|  | [propget, id(DISPID_DOM_DATA_DATA)] | 
|  | HRESULT data([retval, out] BSTR *p); | 
|  |  | 
|  | [propput, id(DISPID_DOM_DATA_DATA)] | 
|  | HRESULT data([in] BSTR data); | 
|  |  | 
|  | [propget, id(DISPID_DOM_DATA_LENGTH)] | 
|  | HRESULT length([retval, out] LONG *len); | 
|  |  | 
|  | [id(DISPID_DOM_DATA_SUBSTRING)] | 
|  | HRESULT substringData( | 
|  | [in] LONG offset, | 
|  | [in] LONG count, | 
|  | [retval, out] BSTR *p); | 
|  |  | 
|  | [id(DISPID_DOM_DATA_APPEND)] | 
|  | HRESULT appendData( | 
|  | [in] BSTR p); | 
|  |  | 
|  | [id(DISPID_DOM_DATA_INSERT)] | 
|  | HRESULT insertData( | 
|  | [in] LONG offset, | 
|  | [in] BSTR p); | 
|  |  | 
|  | [id(DISPID_DOM_DATA_DELETE)] | 
|  | HRESULT deleteData( | 
|  | [in] LONG offset, | 
|  | [in] LONG count); | 
|  |  | 
|  | [id(DISPID_DOM_DATA_REPLACE)] | 
|  | HRESULT replaceData( | 
|  | [in] LONG offset, | 
|  | [in] LONG count, | 
|  | [in] BSTR p); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF85-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMAttribute : IXMLDOMNode | 
|  | { | 
|  | [propget, id(DISPID_DOM_ATTRIBUTE_GETNAME)] | 
|  | HRESULT name([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_DOM_ATTRIBUTE_VALUE)] | 
|  | HRESULT value([retval, out] VARIANT *var1); | 
|  |  | 
|  | [propput, id(DISPID_DOM_ATTRIBUTE_VALUE)] | 
|  | HRESULT value([in] VARIANT var1); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF86-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMElement : IXMLDOMNode | 
|  | { | 
|  | [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME)] | 
|  | HRESULT tagName([retval, out] BSTR *p); | 
|  |  | 
|  | [id(DISPID_DOM_ELEMENT_GETATTRIBUTE)] | 
|  | HRESULT getAttribute( | 
|  | [in] BSTR p, | 
|  | [retval, out] VARIANT *var); | 
|  |  | 
|  | [id(DISPID_DOM_ELEMENT_SETATTRIBUTE)] | 
|  | HRESULT setAttribute( | 
|  | [in] BSTR p, | 
|  | [in] VARIANT var); | 
|  |  | 
|  | [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE)] | 
|  | HRESULT removeAttribute( | 
|  | [in] BSTR p); | 
|  |  | 
|  | [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE)] | 
|  | HRESULT getAttributeNode( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMAttribute **attributeNode); | 
|  |  | 
|  | [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE)] | 
|  | HRESULT setAttributeNode( | 
|  | [in] IXMLDOMAttribute *domAttribute, | 
|  | [retval, out] IXMLDOMAttribute **attributeNode); | 
|  |  | 
|  | [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE)] | 
|  | HRESULT removeAttributeNode( | 
|  | [in] IXMLDOMAttribute *domAttribute, | 
|  | [retval, out] IXMLDOMAttribute **attributeNode); | 
|  |  | 
|  | [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME)] | 
|  | HRESULT getElementsByTagName( | 
|  | [in] BSTR p, | 
|  | [retval, out] IXMLDOMNodeList **resultList); | 
|  |  | 
|  | [id(DISPID_DOM_ELEMENT_NORMALIZE)] | 
|  | HRESULT normalize(); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF87-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMText : IXMLDOMCharacterData | 
|  | { | 
|  | [id(DISPID_DOM_TEXT_SPLITTEXT)] | 
|  | HRESULT splitText( | 
|  | [in] LONG offset, | 
|  | [retval, out] IXMLDOMText **txtNode); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF88-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMComment : IXMLDOMCharacterData | 
|  | { | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF89-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMProcessingInstruction : IXMLDOMNode | 
|  | { | 
|  | [propget, id(DISPID_DOM_PI_TARGET)] | 
|  | HRESULT target([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_DOM_PI_DATA)] | 
|  | HRESULT data([retval, out] BSTR *p); | 
|  |  | 
|  | [propput, id(DISPID_DOM_PI_DATA)] | 
|  | HRESULT data([in] BSTR p); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF8A-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMCDATASection : IXMLDOMText | 
|  | { | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF8B-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMDocumentType : IXMLDOMNode | 
|  | { | 
|  | [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME)] | 
|  | HRESULT name([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES)] | 
|  | HRESULT entities([retval, out] IXMLDOMNamedNodeMap **entityMap); | 
|  |  | 
|  | [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS)] | 
|  | HRESULT notations([retval, out] IXMLDOMNamedNodeMap **notationMap); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF8C-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMNotation : IXMLDOMNode | 
|  | { | 
|  | [propget, id(DISPID_DOM_NOTATION_PUBLICID)] | 
|  | HRESULT publicId([retval, out] VARIANT *id); | 
|  |  | 
|  | [propget, id(DISPID_DOM_NOTATION_SYSTEMID)] | 
|  | HRESULT systemId([retval, out] VARIANT *id); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF8D-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMEntity : IXMLDOMNode | 
|  | { | 
|  | [propget, id(DISPID_DOM_ENTITY_PUBLICID)] | 
|  | HRESULT publicId([retval, out] VARIANT *id1); | 
|  |  | 
|  | [propget, id(DISPID_DOM_ENTITY_SYSTEMID)] | 
|  | HRESULT systemId([retval, out] VARIANT *id1); | 
|  |  | 
|  | [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME)] | 
|  | HRESULT notationName([retval, out] BSTR *p); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF8E-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMEntityReference : IXMLDOMNode | 
|  | { | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF8F-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXMLDOMImplementation : IDispatch | 
|  | { | 
|  | [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)] | 
|  | HRESULT hasFeature( | 
|  | [in] BSTR feature, | 
|  | [in] BSTR version, | 
|  | [retval, out] VARIANT_BOOL *pbool); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (3efaa425-272f-11d2-836f-0000f87a7782) | 
|  | ] | 
|  | interface IXTLRuntime : IXMLDOMNode | 
|  | { | 
|  | [id(DISPID_XTLRUNTIME_UNIQUEID)] | 
|  | HRESULT uniqueID( | 
|  | [in]IXMLDOMNode *pNode, | 
|  | [retval, out]LONG *pID); | 
|  |  | 
|  | [id(DISPID_XTLRUNTIME_DEPTH)] | 
|  | HRESULT depth( | 
|  | [in] IXMLDOMNode *pNode, | 
|  | [retval, out]LONG * pDepth); | 
|  |  | 
|  | [id(DISPID_XTLRUNTIME_CHILDNUMBER)] | 
|  | HRESULT childNumber( | 
|  | [in]IXMLDOMNode *pNode, | 
|  | [retval, out] LONG *pNumber); | 
|  |  | 
|  | [id(DISPID_XTLRUNTIME_ANCESTORCHILDNUMBER)] | 
|  | HRESULT ancestorChildNumber( | 
|  | [in]BSTR bstr, | 
|  | [in]IXMLDOMNode *pNode, | 
|  | [retval, out]LONG *pNumber); | 
|  |  | 
|  | [id(DISPID_XTLRUNTIME_ABSOLUTECHILDNUMBER)] | 
|  | HRESULT absoluteChildNumber( | 
|  | [in]IXMLDOMNode *pNode, | 
|  | [retval, out]LONG *pNumber); | 
|  |  | 
|  | [id(DISPID_XTLRUNTIME_FORMATINDEX)] | 
|  | HRESULT formatIndex( | 
|  | [in] LONG lIndex, | 
|  | [in] BSTR bstr, | 
|  | [retval, out]BSTR *pbstr); | 
|  |  | 
|  | [id(DISPID_XTLRUNTIME_FORMATNUMBER)] | 
|  | HRESULT formatNumber( | 
|  | [in] double dblNumber, | 
|  | [in] BSTR bstr, | 
|  | [retval, out]BSTR *pbstr); | 
|  |  | 
|  | [id(DISPID_XTLRUNTIME_FORMATDATE)] | 
|  | HRESULT formatDate( | 
|  | [in] VARIANT var1, | 
|  | [in] BSTR bstr, | 
|  | [optional, in] VARIANT var2, | 
|  | [retval, out]BSTR *pbstr); | 
|  |  | 
|  | [id(DISPID_XTLRUNTIME_FORMATTIME)] | 
|  | HRESULT formatTime( | 
|  | [in] VARIANT var1, | 
|  | [in] BSTR bstr, | 
|  | [optional, in] VARIANT var2, | 
|  | [retval, out]BSTR *pbstr); | 
|  |  | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(3efaa427-272f-11d2-836f-0000f87a7782) | 
|  | ] | 
|  | dispinterface XMLDOMDocumentEvents | 
|  | { | 
|  | properties: | 
|  | methods: | 
|  | [id (DISPID_XMLDOMEVENT_ONDATAAVAILABLE)] | 
|  | HRESULT ondataavailable(); | 
|  |  | 
|  | [id (DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)] | 
|  | HRESULT onreadystatechange(); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF92-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXSLProcessor : IDispatch | 
|  | { | 
|  | [propput, id(DISPID_XMLDOM_PROCESSOR_INPUT)] | 
|  | HRESULT input([in] VARIANT var); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_PROCESSOR_INPUT)] | 
|  | HRESULT input([retval, out] VARIANT *var); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_PROCESSOR_XSLTEMPLATE)] | 
|  | HRESULT ownerTemplate([retval, out] IXSLTemplate **ppTemplate); | 
|  |  | 
|  | [id(DISPID_XMLDOM_PROCESSOR_SETSTARTMODE)] | 
|  | HRESULT setStartMode( | 
|  | [in] BSTR p, | 
|  | [in, defaultvalue("")] BSTR uri); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_PROCESSOR_STARTMODE)] | 
|  | HRESULT startMode([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_PROCESSOR_STARTMODEURI)] | 
|  | HRESULT startModeURI([retval, out] BSTR *uri); | 
|  |  | 
|  | [propput, id(DISPID_XMLDOM_PROCESSOR_OUTPUT)] | 
|  | HRESULT output([in] VARIANT var); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_PROCESSOR_OUTPUT)] | 
|  | HRESULT output([retval, out] VARIANT *var); | 
|  |  | 
|  | [id(DISPID_XMLDOM_PROCESSOR_TRANSFORM)] | 
|  | HRESULT transform( | 
|  | [retval, out] VARIANT_BOOL *pbool); | 
|  |  | 
|  | [id(DISPID_XMLDOM_PROCESSOR_RESET)] | 
|  | HRESULT reset(); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_PROCESSOR_READYSTATE)] | 
|  | HRESULT readyState([retval, out] LONG *pstate); | 
|  |  | 
|  | [id(DISPID_XMLDOM_PROCESSOR_ADDPARAMETER)] | 
|  | HRESULT addParameter( | 
|  | [in] BSTR p, | 
|  | [in] VARIANT var, | 
|  | [in, defaultvalue("")] BSTR uri); | 
|  |  | 
|  | [id(DISPID_XMLDOM_PROCESSOR_ADDOBJECT)] | 
|  | HRESULT addObject( | 
|  | [in] IDispatch* obj, | 
|  | [in] BSTR uri); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_PROCESSOR_STYLESHEET)] | 
|  | HRESULT stylesheet([retval, out] IXMLDOMNode **node); | 
|  | } | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (2933BF93-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | interface IXSLTemplate : IDispatch | 
|  | { | 
|  | [propputref, id(DISPID_XMLDOM_TEMPLATE_STYLESHEET)] | 
|  | HRESULT stylesheet([in] IXMLDOMNode *node); | 
|  |  | 
|  | [propget, id(DISPID_XMLDOM_TEMPLATE_STYLESHEET)] | 
|  | HRESULT stylesheet([retval, out] IXMLDOMNode **node); | 
|  |  | 
|  | [id(DISPID_XMLDOM_TEMPLATE_CREATEPROCESSOR)] | 
|  | HRESULT createProcessor( | 
|  | [retval, out] IXSLProcessor **ppProcessor); | 
|  | } | 
|  |  | 
|  | [ | 
|  | object, | 
|  | uuid(ED8C108D-4349-11D2-91A4-00C04F7969E8), | 
|  | odl, | 
|  | dual, | 
|  | oleautomation, | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IXMLHTTPRequest : IDispatch | 
|  | { | 
|  | [id(1)] | 
|  | HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl, [in, optional] VARIANT varAsync, | 
|  | [in,optional] VARIANT username, [in,optional] VARIANT password); | 
|  |  | 
|  | [id(2)] | 
|  | HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue); | 
|  |  | 
|  | [id(3)] | 
|  | HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR * value); | 
|  |  | 
|  | [id(4)] | 
|  | HRESULT getAllResponseHeaders([out, retval] BSTR * pbstrHeaders); | 
|  |  | 
|  | [id(5)] | 
|  | HRESULT send([in, optional] VARIANT body); | 
|  |  | 
|  | [id(6)] | 
|  | HRESULT abort(); | 
|  |  | 
|  | [propget, id(7)] | 
|  | HRESULT status([out, retval] LONG *pStatus); | 
|  |  | 
|  | [propget, id(8)] | 
|  | HRESULT statusText([out, retval] BSTR *pStatus); | 
|  |  | 
|  | [propget, id(9)] | 
|  | HRESULT responseXML([out, retval] IDispatch **pBody); | 
|  |  | 
|  | [propget, id(10)] | 
|  | HRESULT responseText([out, retval] BSTR *pBody); | 
|  |  | 
|  | [propget, id(11)] | 
|  | HRESULT responseBody([out, retval] VARIANT *pBody); | 
|  |  | 
|  | [propget, id(12)] | 
|  | HRESULT responseStream([out, retval] VARIANT *pBody); | 
|  |  | 
|  | [propget, id(13)] | 
|  | HRESULT readyState([out, retval] LONG *pState); | 
|  |  | 
|  | [propput, id(14)] | 
|  | HRESULT onreadystatechange([in] IDispatch *pReadyStateSink); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (3efaa426-272f-11d2-836f-0000f87a7782) | 
|  | ] | 
|  | interface IXMLDOMParseError : IDispatch | 
|  | { | 
|  | [propget, id(DISPID_VALUE)] | 
|  | HRESULT errorCode([retval, out] LONG *errCode); | 
|  |  | 
|  | [propget, id(DISPID_DOM_ERROR_URL)] | 
|  | HRESULT url([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_DOM_ERROR_REASON)] | 
|  | HRESULT reason([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_DOM_ERROR_SRCTEXT)] | 
|  | HRESULT srcText([retval, out] BSTR *p); | 
|  |  | 
|  | [propget, id(DISPID_DOM_ERROR_LINE)] | 
|  | HRESULT line([retval, out] LONG *lineNo); | 
|  |  | 
|  | [propget, id(DISPID_DOM_ERROR_LINEPOS)] | 
|  | HRESULT linepos([retval, out] LONG * linePos); | 
|  |  | 
|  | [propget, id(DISPID_DOM_ERROR_FILEPOS)] | 
|  | HRESULT filepos([retval, out] LONG * filePos); | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(F6D90F11-9C73-11D3-B32E-00C04F990BB4) | 
|  | ] | 
|  | coclass DOMDocument | 
|  | { | 
|  | [default] interface IXMLDOMDocument2; | 
|  | [default, source] dispinterface XMLDOMDocumentEvents; | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(f5078f1b-c551-11d3-89b9-0000f81fe221) | 
|  | ] | 
|  | coclass DOMDocument26 | 
|  | { | 
|  | [default] interface IXMLDOMDocument2; | 
|  | [default, source] dispinterface XMLDOMDocumentEvents; | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(f5078f32-c551-11d3-89b9-0000f81fe221) | 
|  | ] | 
|  | coclass DOMDocument30 | 
|  | { | 
|  | [default] interface IXMLDOMDocument2; | 
|  | [default, source] dispinterface XMLDOMDocumentEvents; | 
|  | } | 
|  |  | 
|  |  | 
|  | [ | 
|  | uuid(F6D90F12-9C73-11D3-B32E-00C04F990BB4) | 
|  | ] | 
|  | coclass FreeThreadedDOMDocument | 
|  | { | 
|  | [default] interface IXMLDOMDocument2; | 
|  | [default, source] dispinterface XMLDOMDocumentEvents; | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(f5078f1c-c551-11d3-89b9-0000f81fe221) | 
|  | ] | 
|  | coclass FreeThreadedDOMDocument26 | 
|  | { | 
|  | [default] interface IXMLDOMDocument2; | 
|  | [default, source] dispinterface XMLDOMDocumentEvents; | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(f5078f33-c551-11d3-89b9-0000f81fe221) | 
|  | ] | 
|  | coclass FreeThreadedDOMDocument30 | 
|  | { | 
|  | [default] interface IXMLDOMDocument2; | 
|  | [default, source] dispinterface XMLDOMDocumentEvents; | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(373984c9-b845-449b-91e7-45ac83036ade) | 
|  | ] | 
|  | coclass XMLSchemaCache | 
|  | { | 
|  | [default] interface IXMLDOMSchemaCollection; | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(f5078f1d-c551-11d3-89b9-0000f81fe221) | 
|  | ] | 
|  | coclass XMLSchemaCache26 | 
|  | { | 
|  | [default] interface IXMLDOMSchemaCollection; | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(f5078f34-c551-11d3-89b9-0000f81fe221) | 
|  | ] | 
|  | coclass XMLSchemaCache30 | 
|  | { | 
|  | [default] interface IXMLDOMSchemaCollection; | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(2933BF94-7B36-11d2-B20E-00C04F983E60) | 
|  | ] | 
|  | coclass XSLTemplate | 
|  | { | 
|  | [default] interface IXSLTemplate; | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(f5078f21-c551-11d3-89b9-0000f81fe221) | 
|  | ] | 
|  | coclass XSLTemplate26 | 
|  | { | 
|  | [default] interface IXSLTemplate; | 
|  | } | 
|  |  | 
|  | [ | 
|  | uuid(f5078f36-c551-11d3-89b9-0000f81fe221) | 
|  | ] | 
|  | coclass XSLTemplate30 | 
|  | { | 
|  | [default] interface IXSLTemplate; | 
|  | } | 
|  |  | 
|  | /* | 
|  | * Sax Interfaces | 
|  | */ | 
|  | [ | 
|  | object, | 
|  | local, | 
|  | uuid(f078abe1-45d2-4832-91ea-4466ce2f25c9) | 
|  | ] | 
|  | interface ISAXAttributes : IUnknown | 
|  | { | 
|  | HRESULT getLength( | 
|  | [out, retval] int *length); | 
|  |  | 
|  | HRESULT getURI( | 
|  | [in] int nIndex, | 
|  | [out] const WCHAR **pUrl, | 
|  | [out] int *pUriSize); | 
|  |  | 
|  | HRESULT getLocalName( | 
|  | [in] int nIndex, | 
|  | [out] const WCHAR **pLocalName, | 
|  | [out] int *pLocalNameLength); | 
|  |  | 
|  | HRESULT getQName( | 
|  | [in] int nIndex, | 
|  | [out] const WCHAR **pQName, | 
|  | [out] int *pQNameLength); | 
|  |  | 
|  | HRESULT getName( | 
|  | [in] int nIndex, | 
|  | [out] const WCHAR **pUri, | 
|  | [out] int * pUriLength, | 
|  | [out] const WCHAR ** pLocalName, | 
|  | [out] int * pLocalNameSize, | 
|  | [out] const WCHAR ** pQName, | 
|  | [out] int * pQNameLength); | 
|  |  | 
|  | HRESULT getIndexFromName( | 
|  | [in] const WCHAR * pUri, | 
|  | [in] int cUriLength, | 
|  | [in] const WCHAR * pLocalName, | 
|  | [in] int cocalNameLength, | 
|  | [out, retval] int * index); | 
|  |  | 
|  | HRESULT getIndexFromQName( | 
|  | [in] const WCHAR * pQName, | 
|  | [in] int nQNameLength, | 
|  | [out, retval] int * index); | 
|  |  | 
|  | HRESULT getType( | 
|  | [in] int nIndex, | 
|  | [out] const WCHAR ** pType, | 
|  | [out] int * pTypeLength); | 
|  |  | 
|  | HRESULT getTypeFromName( | 
|  | [in] const WCHAR * pUri, | 
|  | [in] int nUri, | 
|  | [in] const WCHAR * pLocalName, | 
|  | [in] int nLocalName, | 
|  | [out] const WCHAR ** pType, | 
|  | [out] int * nType); | 
|  |  | 
|  | HRESULT getTypeFromQName( | 
|  | [in] const WCHAR * pQName, | 
|  | [in] int nQName, | 
|  | [out] const WCHAR ** pType, | 
|  | [out] int * nType); | 
|  |  | 
|  | HRESULT getValue( | 
|  | [in] int nIndex, | 
|  | [out] const WCHAR ** pValue, | 
|  | [out] int * nValue); | 
|  |  | 
|  | HRESULT getValueFromName( | 
|  | [in] const WCHAR * pUri, | 
|  | [in] int nUri, | 
|  | [in] const WCHAR * pLocalName, | 
|  | [in] int nLocalName, | 
|  | [out] const WCHAR ** pValue, | 
|  | [out] int * nValue); | 
|  |  | 
|  | HRESULT getValueFromQName( | 
|  | [in] const WCHAR * pQName, | 
|  | [in] int nQName, | 
|  | [out] const WCHAR ** pValue, | 
|  | [out] int * nValue); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | local, | 
|  | uuid(1545cdfa-9e4e-4497-a8a4-2bf7d0112c44) | 
|  | ] | 
|  | interface ISAXContentHandler : IUnknown | 
|  | { | 
|  | HRESULT putDocumentLocator( | 
|  | [in] ISAXLocator * pLocator); | 
|  |  | 
|  | HRESULT startDocument(); | 
|  |  | 
|  | HRESULT endDocument(); | 
|  |  | 
|  | HRESULT startPrefixMapping( | 
|  | [in] const WCHAR * pPrefix, | 
|  | [in] int nPrefix, | 
|  | [in] const WCHAR * pUri, | 
|  | [in] int nUri); | 
|  |  | 
|  | HRESULT endPrefixMapping( | 
|  | [in] const WCHAR * pPrefix, | 
|  | [in] int nPrefix); | 
|  |  | 
|  | HRESULT startElement( | 
|  | [in] const WCHAR * pNamespaceUri, | 
|  | [in] int nNamespaceUri, | 
|  | [in] const WCHAR * pLocalName, | 
|  | [in] int nLocalName, | 
|  | [in] const WCHAR * pQName, | 
|  | [in] int nQName, | 
|  | [in] ISAXAttributes * pAttr); | 
|  |  | 
|  | HRESULT endElement( | 
|  | [in] const WCHAR * pNamespaceUri, | 
|  | [in] int nNamespaceUri, | 
|  | [in] const WCHAR * pLocalName, | 
|  | [in] int nLocalName, | 
|  | [in] const WCHAR * pQName, | 
|  | [in] int nQName); | 
|  |  | 
|  | HRESULT characters( | 
|  | [in] const WCHAR * pChars, | 
|  | [in] int nChars); | 
|  |  | 
|  | HRESULT ignorableWhitespace( | 
|  | [in] const WCHAR * pChars, | 
|  | [in] int nChars); | 
|  |  | 
|  | HRESULT processingInstruction( | 
|  | [in] const WCHAR * pTarget, | 
|  | [in] int nTarget, | 
|  | [in] const WCHAR * pData, | 
|  | [in] int nData); | 
|  |  | 
|  | HRESULT skippedEntity( | 
|  | [in] const WCHAR * pName, | 
|  | [in] int nName); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | local, | 
|  | uuid(862629ac-771a-47b2-8337-4e6843c1be90) | 
|  | ] | 
|  | interface ISAXDeclHandler : IUnknown | 
|  | { | 
|  | HRESULT elementDecl( | 
|  | [in] const WCHAR * pName, | 
|  | [in] int nName, | 
|  | [in] const WCHAR * pModel, | 
|  | [in] int nModel); | 
|  |  | 
|  | HRESULT attributeDecl( | 
|  | [in] const WCHAR * pElementName, | 
|  | [in] int nElementName, | 
|  | [in] const WCHAR * pAttributeName, | 
|  | [in] int nAttributeName, | 
|  | [in] const WCHAR * pType, | 
|  | [in] int nType, | 
|  | [in] const WCHAR * pValueDefault, | 
|  | [in] int nValueDefault, | 
|  | [in] const WCHAR * pValue, | 
|  | [in] int nValue); | 
|  |  | 
|  | HRESULT internalEntityDecl( | 
|  | [in] const WCHAR * pName, | 
|  | [in] int nName, | 
|  | [in] const WCHAR * pValue, | 
|  | [in] int nValue); | 
|  |  | 
|  | HRESULT externalEntityDecl( | 
|  | [in] const WCHAR * pName, | 
|  | [in] int nName, | 
|  | [in] const WCHAR * pPublicId, | 
|  | [in] int nPublicId, | 
|  | [in] const WCHAR * pSystemId, | 
|  | [in] int nSystemId); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | local, | 
|  | uuid(e15c1baf-afb3-4d60-8c36-19a8c45defed) | 
|  | ] | 
|  | interface ISAXDTDHandler : IUnknown | 
|  | { | 
|  | HRESULT notationDecl( | 
|  | [in] const WCHAR * pName, | 
|  | [in] int nName, | 
|  | [in] const WCHAR * pPublicId, | 
|  | [in] int nPublicId, | 
|  | [in] const WCHAR * pSystemId, | 
|  | [in] int nSystemId); | 
|  |  | 
|  | HRESULT unparsedEntityDecl( | 
|  | [in] const WCHAR * pName, | 
|  | [in] int nName, | 
|  | [in] const WCHAR * pPublicId, | 
|  | [in] int nPublicId, | 
|  | [in] const WCHAR * pSystemId, | 
|  | [in] int nSystemId, | 
|  | [in] const WCHAR * pNotationName, | 
|  | [in] int nNotationName); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | local, | 
|  | uuid(99bca7bd-e8c4-4d5f-a0cf-6d907901ff07), | 
|  | ] | 
|  | interface ISAXEntityResolver : IUnknown | 
|  | { | 
|  | HRESULT resolveEntity( | 
|  | [in] const WCHAR * pPublicId, | 
|  | [in] const WCHAR * pSystemId, | 
|  | [out, retval] VARIANT * ret); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | local, | 
|  | uuid(a60511c4-ccf5-479e-98a3-dc8dc545b7d0) | 
|  | ] | 
|  | interface ISAXErrorHandler : IUnknown | 
|  | { | 
|  | HRESULT error( | 
|  | [in] ISAXLocator * pLocator, | 
|  | [in] const WCHAR * pErrorMessage, | 
|  | [in] HRESULT hrErrorCode); | 
|  |  | 
|  | HRESULT fatalError( | 
|  | [in] ISAXLocator * pLocator, | 
|  | [in] const WCHAR * pErrorMessage, | 
|  | [in] HRESULT hrErrorCode); | 
|  |  | 
|  | HRESULT ignorableWarning( | 
|  | [in] ISAXLocator * pLocator, | 
|  | [in] const WCHAR * pErrorMessage, | 
|  | [in] HRESULT hrErrorCode); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | local, | 
|  | uuid(7f85d5f5-47a8-4497-bda5-84ba04819ea6) | 
|  | ] | 
|  | interface ISAXLexicalHandler : IUnknown | 
|  | { | 
|  | HRESULT startDTD( | 
|  | [in] const WCHAR * pName, | 
|  | [in] int nName, | 
|  | [in] const WCHAR * pPublicId, | 
|  | [in] int nPublicId, | 
|  | [in] const WCHAR * pSystemId, | 
|  | [in] int nSystemId); | 
|  |  | 
|  | HRESULT endDTD(); | 
|  |  | 
|  | HRESULT startEntity( | 
|  | [in] const WCHAR * pName, | 
|  | [in] int nName); | 
|  |  | 
|  | HRESULT endEntity( | 
|  | [in] const WCHAR * pName, | 
|  | [in] int nName); | 
|  |  | 
|  | HRESULT startCDATA(); | 
|  |  | 
|  | HRESULT endCDATA(); | 
|  |  | 
|  | HRESULT comment( | 
|  | [in] const WCHAR * pChars, | 
|  | [in] int nChars); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | local, | 
|  | uuid(9b7e472a-0de4-4640-bff3-84d38a051c31) | 
|  | ] | 
|  | interface ISAXLocator : IUnknown | 
|  | { | 
|  | HRESULT getColumnNumber( | 
|  | [out, retval] int * nColumn); | 
|  |  | 
|  | HRESULT getLineNumber( | 
|  | [out, retval] int * nLine); | 
|  |  | 
|  | HRESULT getPublicId( | 
|  | [out, retval] const WCHAR ** publicId); | 
|  |  | 
|  | HRESULT getSystemId( | 
|  | [out, retval] const WCHAR ** systemId); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid(70409222-ca09-4475-acb8-40312fe8d145) | 
|  | ] | 
|  | interface ISAXXMLFilter : ISAXXMLReader | 
|  | { | 
|  | HRESULT getParent( | 
|  | [out, retval] ISAXXMLReader ** pReader); | 
|  | HRESULT putParent( | 
|  | [in] ISAXXMLReader * reader); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | local, | 
|  | object, | 
|  | uuid (a4f96ed0-f829-476e-81c0-cdc7bd2a0802) | 
|  | ] | 
|  | interface ISAXXMLReader : IUnknown | 
|  | { | 
|  | HRESULT getFeature( | 
|  | [in] const WCHAR * pFeature, | 
|  | [out, retval] VARIANT_BOOL * pValue); | 
|  | HRESULT putFeature( | 
|  | [in] const WCHAR * pFeature, | 
|  | [in] VARIANT_BOOL vfValue); | 
|  |  | 
|  | HRESULT getProperty( | 
|  | [in] const WCHAR * pProp, | 
|  | [out, retval] VARIANT * pValue); | 
|  | HRESULT putProperty( | 
|  | [in] const WCHAR * pProp, | 
|  | [in] VARIANT value); | 
|  |  | 
|  | HRESULT getEntityResolver( | 
|  | [out, retval] ISAXEntityResolver ** ppEntityResolver); | 
|  | HRESULT putEntityResolver( | 
|  | [in] ISAXEntityResolver * pEntityResolver); | 
|  |  | 
|  | HRESULT getContentHandler( | 
|  | [out, retval] ISAXContentHandler ** pContentHandler); | 
|  | HRESULT putContentHandler( | 
|  | [in] ISAXContentHandler * contentHandler); | 
|  |  | 
|  | HRESULT getDTDHandler( | 
|  | [out, retval] ISAXDTDHandler ** pDTDHandler); | 
|  | HRESULT putDTDHandler( | 
|  | [in] ISAXDTDHandler * pDTDHandler); | 
|  |  | 
|  | HRESULT getErrorHandler( | 
|  | [out, retval] ISAXErrorHandler ** pErrorHandler); | 
|  | HRESULT putErrorHandler( | 
|  | [in] ISAXErrorHandler * errorHandler); | 
|  |  | 
|  | HRESULT getBaseURL( | 
|  | [out, retval] const WCHAR ** pBaseUrl); | 
|  | HRESULT putBaseURL( | 
|  | [in] const WCHAR * pBaseUrl); | 
|  |  | 
|  | HRESULT getSecureBaseURL( | 
|  | [out, retval] const WCHAR ** pSecureBaseUrl); | 
|  | HRESULT putSecureBaseURL( | 
|  | [in] const WCHAR * secureBaseUrl); | 
|  |  | 
|  | HRESULT parse( | 
|  | [in] VARIANT varInput); | 
|  | HRESULT parseURL( | 
|  | [in] const WCHAR * url); | 
|  | } | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(10dc0586-132b-4cac-8bb3-db00ac8b7ee0) | 
|  | ] | 
|  | interface IVBSAXAttributes : IDispatch | 
|  | { | 
|  | [propget, id(DISPID_SAX_ATTRIBUTES_LENGTH)] | 
|  | HRESULT length( [out, retval] int * nLength); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETURI)] | 
|  | HRESULT getURI( [in] int nIndex, [out, retval] BSTR * uri); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETLOCALNAME)] | 
|  | HRESULT getLocalName( [in] int nIndex, [out, retval] BSTR * localName); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETQNAME)] | 
|  | HRESULT getQName( [in] int nIndex, [out, retval] BSTR * QName); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETINDEXFROMNAME)] | 
|  | HRESULT getIndexFromName( [in] BSTR uri, | 
|  | [in] BSTR localName, [out, retval] int * nIndex); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETINDEXFROMQNAME)] | 
|  | HRESULT getIndexFromQName( [in] BSTR QName, [out, retval] int * nIndex); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETTYPE)] | 
|  | HRESULT getType( [in] int nIndex, [out, retval] BSTR * type); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETTYPEFROMNAME)] | 
|  | HRESULT getTypeFromName( [in] BSTR uri, [in] BSTR localName, | 
|  | [out, retval] BSTR * type); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETTYPEFROMQNAME)] | 
|  | HRESULT getTypeFromQName( [in] BSTR QName, [out, retval] BSTR * type); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETVALUE)] | 
|  | HRESULT getValue( [in] int nIndex, [out, retval] BSTR * value); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETVALUEFROMNAME)] | 
|  | HRESULT getValueFromName( [in] BSTR uri, | 
|  | [in] BSTR localName, | 
|  | [out, retval] BSTR * value); | 
|  |  | 
|  | [id(DISPID_SAX_ATTRIBUTES_GETVALUEFROMQNAME)] | 
|  | HRESULT getValueFromQName( [in] BSTR QName, [out, retval] BSTR * value); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(2ed7290a-4dd5-4b46-bb26-4e4155e77faa) | 
|  | ] | 
|  | interface IVBSAXContentHandler : IDispatch | 
|  | { | 
|  | [propputref, id(DISPID_SAX_CONTENTHANDLER_DOCUMENTLOCATOR)] | 
|  | HRESULT documentLocator( [in] IVBSAXLocator * oLocator); | 
|  |  | 
|  | [id(DISPID_SAX_CONTENTHANDLER_STARTDOCUMENT)] | 
|  | HRESULT startDocument(); | 
|  |  | 
|  | [id(DISPID_SAX_CONTENTHANDLER_ENDDOCUMENT)] | 
|  | HRESULT endDocument(); | 
|  |  | 
|  | [id(DISPID_SAX_CONTENTHANDLER_STARTPREFIXMAPPING)] | 
|  | HRESULT startPrefixMapping( [in, out] BSTR * prefix, [in, out] BSTR * uri); | 
|  |  | 
|  | [id(DISPID_SAX_CONTENTHANDLER_ENDPREFIXMAPPING)] | 
|  | HRESULT endPrefixMapping( [in, out] BSTR * prefix); | 
|  |  | 
|  | [id(DISPID_SAX_CONTENTHANDLER_STARTELEMENT)] | 
|  | HRESULT startElement( [in, out] BSTR * namespaceURI, | 
|  | [in, out] BSTR * localName, | 
|  | [in, out] BSTR * QName, | 
|  | [in] IVBSAXAttributes * oAttributes); | 
|  |  | 
|  | [id(DISPID_SAX_CONTENTHANDLER_ENDELEMENT)] | 
|  | HRESULT endElement( [in, out] BSTR * namespaceURI, | 
|  | [in, out] BSTR * localName, [in, out] BSTR * strQName); | 
|  |  | 
|  | [id(DISPID_SAX_CONTENTHANDLER_CHARACTERS)] | 
|  | HRESULT characters( [in, out] BSTR * chars); | 
|  |  | 
|  | [id(DISPID_SAX_CONTENTHANDLER_IGNORABLEWHITESPACE)] | 
|  | HRESULT ignorableWhitespace( [in, out] BSTR * chars); | 
|  |  | 
|  | [id(DISPID_SAX_CONTENTHANDLER_PROCESSINGINSTRUCTION)] | 
|  | HRESULT processingInstruction( [in, out] BSTR * target, | 
|  | [in, out] BSTR * data); | 
|  |  | 
|  | [id(DISPID_SAX_CONTENTHANDLER_SKIPPEDENTITY)] | 
|  | HRESULT skippedEntity( [in, out] BSTR * name); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(e8917260-7579-4be1-b5dd-7afbfa6f077b) | 
|  | ] | 
|  | interface IVBSAXDeclHandler : IDispatch | 
|  | { | 
|  | [id(DISPID_SAX_DECLHANDLER_ELEMENTDECL)] | 
|  | HRESULT elementDecl( | 
|  | [in, out] BSTR * name, | 
|  | [in, out] BSTR * model); | 
|  |  | 
|  | [id(DISPID_SAX_DECLHANDLER_ATTRIBUTEDECL)] | 
|  | HRESULT attributeDecl( | 
|  | [in, out] BSTR * elementName, | 
|  | [in, out] BSTR * attributeName, | 
|  | [in, out] BSTR * type, | 
|  | [in, out] BSTR * valueDefault, | 
|  | [in, out] BSTR * value); | 
|  |  | 
|  | [id(DISPID_SAX_DECLHANDLER_INTERNALENTITYDECL)] | 
|  | HRESULT internalEntityDecl( | 
|  | [in, out] BSTR * name, | 
|  | [in, out] BSTR * value); | 
|  |  | 
|  | [id(DISPID_SAX_DECLHANDLER_EXTERNALENTITYDECL)] | 
|  | HRESULT externalEntityDecl( | 
|  | [in, out] BSTR * name, | 
|  | [in, out] BSTR * publicId, | 
|  | [in, out] BSTR * systemId); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(24fb3297-302d-4620-ba39-3a732d850558) | 
|  | ] | 
|  | interface IVBSAXDTDHandler : IDispatch | 
|  | { | 
|  | [id(DISPID_SAX_DTDHANDLER_NOTATIONDECL)] | 
|  | HRESULT notationDecl( | 
|  | [in, out] BSTR * name, | 
|  | [in, out] BSTR * publicId, | 
|  | [in, out] BSTR * systemId); | 
|  |  | 
|  | [id(DISPID_SAX_DTDHANDLER_UNPARSEDENTITYDECL)] | 
|  | HRESULT unparsedEntityDecl( | 
|  | [in, out] BSTR * name, | 
|  | [in, out] BSTR * publicId, | 
|  | [in, out] BSTR * systemId, | 
|  | [in, out] BSTR * notationName); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(0c05d096-f45b-4aca-ad1a-aa0bc25518dc) | 
|  | ] | 
|  | interface IVBSAXEntityResolver : IDispatch | 
|  | { | 
|  | [id(DISPID_SAX_ENTITYRESOLVER_RESOLVEENTITY)] | 
|  | HRESULT resolveEntity( | 
|  | [in, out] BSTR * publicId, | 
|  | [in, out] BSTR * systemId, | 
|  | [out, retval] VARIANT * ret); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(d963d3fe-173c-4862-9095-b92f66995f52) | 
|  | ] | 
|  | interface IVBSAXErrorHandler : IDispatch | 
|  | { | 
|  | [id(DISPID_SAX_ERRORHANDLER_ERROR)] | 
|  | HRESULT error( | 
|  | [in] IVBSAXLocator * locator, | 
|  | [in, out] BSTR * errorMessage, | 
|  | [in] LONG errorCode); | 
|  |  | 
|  | [id(DISPID_SAX_ERRORHANDLER_FATALERROR)] | 
|  | HRESULT fatalError( | 
|  | [in] IVBSAXLocator * locator, | 
|  | [in, out] BSTR * errorMessage, | 
|  | [in] LONG errorCode); | 
|  |  | 
|  | [id(DISPID_SAX_ERRORHANDLER_IGNORABLEWARNING)] | 
|  | HRESULT ignorableWarning( | 
|  | [in] IVBSAXLocator * locator, | 
|  | [in, out] BSTR * errorMessage, | 
|  | [in] LONG errorCode); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(032aac35-8c0e-4d9d-979f-e3b702935576) | 
|  | ] | 
|  | interface IVBSAXLexicalHandler : IDispatch | 
|  | { | 
|  | [id(DISPID_SAX_LEXICALHANDLER_STARTDTD)] | 
|  | HRESULT startDTD( | 
|  | [in, out] BSTR * name, | 
|  | [in, out] BSTR * publicId, | 
|  | [in, out] BSTR * systemId); | 
|  | [id(DISPID_SAX_LEXICALHANDLER_ENDDTD)] | 
|  | HRESULT endDTD(); | 
|  |  | 
|  | [id(DISPID_SAX_LEXICALHANDLER_STARTENTITY)] | 
|  | HRESULT startEntity([in, out] BSTR * name); | 
|  | [id(DISPID_SAX_LEXICALHANDLER_ENDENTITY)] | 
|  | HRESULT endEntity([in, out] BSTR * name); | 
|  |  | 
|  | [id(DISPID_SAX_LEXICALHANDLER_STARTCDATA)] | 
|  | HRESULT startCDATA(); | 
|  | [id(DISPID_SAX_LEXICALHANDLER_ENDCDATA)] | 
|  | HRESULT endCDATA(); | 
|  |  | 
|  | [id(DISPID_SAX_LEXICALHANDLER_COMMENT)] | 
|  | HRESULT comment( [in, out] BSTR * chars); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | uuid(796e7ac5-5aa2-4eff-acad-3faaf01a3288) | 
|  | ] | 
|  | interface IVBSAXLocator : IDispatch | 
|  | { | 
|  | [propget, id(DISPID_SAX_LOCATOR_COLUMNNUMBER)] | 
|  | HRESULT columnNumber( [out, retval] int * column); | 
|  |  | 
|  | [propget, id(DISPID_SAX_LOCATOR_LINENUMBER)] | 
|  | HRESULT lineNumber( [out, retval] int * line); | 
|  |  | 
|  | [propget, id(DISPID_SAX_LOCATOR_PUBLICID)] | 
|  | HRESULT publicId( [out, retval] BSTR * publicId); | 
|  |  | 
|  | [propget, id(DISPID_SAX_LOCATOR_SYSTEMID)] | 
|  | HRESULT systemId( [out, retval] BSTR * systemId); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(1299eb1b-5b88-433e-82de-82ca75ad4e04) | 
|  | ] | 
|  | interface IVBSAXXMLFilter : IDispatch | 
|  | { | 
|  | [propget, id(DISPID_SAX_XMLFILTER_PARENT)] | 
|  | HRESULT parent( [out, retval] IVBSAXXMLReader ** reader); | 
|  | [propputref, id(DISPID_SAX_XMLFILTER_PARENT)] | 
|  | HRESULT parent( [in] IVBSAXXMLReader * reader); | 
|  |  | 
|  | }; | 
|  |  | 
|  | [ | 
|  | dual, | 
|  | object, | 
|  | uuid (8c033caa-6cd6-4f73-b728-4531af74945f) | 
|  | ] | 
|  | interface IVBSAXXMLReader : IDispatch | 
|  | { | 
|  | [id(DISPID_SAX_XMLREADER_GETFEATURE)] | 
|  | HRESULT getFeature( [in] const WCHAR * pFeature, | 
|  | [out, retval] VARIANT_BOOL * pValue); | 
|  | [id(DISPID_SAX_XMLREADER_PUTFEATURE)] | 
|  | HRESULT putFeature( [in] const WCHAR * pFeature, | 
|  | [in] VARIANT_BOOL vfValue); | 
|  |  | 
|  | [id(DISPID_SAX_XMLREADER_GETPROPERTY)] | 
|  | HRESULT getProperty( [in] const WCHAR * pProp, | 
|  | [out, retval] VARIANT * pValue); | 
|  | [id(DISPID_SAX_XMLREADER_PUTPROPERTY)] | 
|  | HRESULT putProperty( [in] const WCHAR * pProp, [in] VARIANT value); | 
|  |  | 
|  | [propget, id(DISPID_SAX_XMLREADER_ENTITYRESOLVER)] | 
|  | HRESULT entityResolver( | 
|  | [out, retval] IVBSAXEntityResolver ** ppEntityResolver); | 
|  | [propputref, id(DISPID_SAX_XMLREADER_ENTITYRESOLVER)] | 
|  | HRESULT entityResolver( [in] IVBSAXEntityResolver * pEntityResolver); | 
|  |  | 
|  | [propget, id(DISPID_SAX_XMLREADER_CONTENTHANDLER)] | 
|  | HRESULT contentHandler( | 
|  | [out, retval] IVBSAXContentHandler ** pContentHandler); | 
|  | [propputref, id(DISPID_SAX_XMLREADER_CONTENTHANDLER)] | 
|  | HRESULT contentHandler([in] IVBSAXContentHandler * contentHandler); | 
|  |  | 
|  | [propget, id(DISPID_SAX_XMLREADER_DTDHANDLER)] | 
|  | HRESULT dtdHandler([out, retval] IVBSAXDTDHandler ** pDTDHandler); | 
|  | [propputref, id(DISPID_SAX_XMLREADER_DTDHANDLER)] | 
|  | HRESULT dtdHandler([in] IVBSAXDTDHandler * pDTDHandler); | 
|  |  | 
|  | [propget, id(DISPID_SAX_XMLREADER_ERRORHANDLER)] | 
|  | HRESULT errorHandler([out, retval] IVBSAXErrorHandler ** pErrorHandler); | 
|  | [propputref, id(DISPID_SAX_XMLREADER_ERRORHANDLER)] | 
|  | HRESULT errorHandler([in] IVBSAXErrorHandler * errorHandler); | 
|  |  | 
|  | [propget, id(DISPID_SAX_XMLREADER_BASEURL)] | 
|  | HRESULT baseURL([out, retval] const WCHAR ** pBaseUrl); | 
|  | [propput, id(DISPID_SAX_XMLREADER_BASEURL)] | 
|  | HRESULT baseURL([in] const WCHAR * pBaseUrl); | 
|  |  | 
|  | [propget, id(DISPID_SAX_XMLREADER_SECUREBASEURL)] | 
|  | HRESULT secureBaseURL([out, retval] const WCHAR ** pSecureBaseUrl); | 
|  | [propput, id(DISPID_SAX_XMLREADER_SECUREBASEURL)] | 
|  | HRESULT secureBaseURL([in] const WCHAR * secureBaseUrl); | 
|  |  | 
|  | [id(DISPID_SAX_XMLREADER_PARSE)] | 
|  | HRESULT parse( [in] VARIANT varInput); | 
|  | [id(DISPID_SAX_XMLREADER_PARSEURL)] | 
|  | HRESULT parseURL([in] const WCHAR * url); | 
|  | } | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(f10d27cc-3ec0-415c-8ed8-77ab1c5e7262) | 
|  | ] | 
|  | interface IMXAttributes : IDispatch | 
|  | { | 
|  | [id(DISPID_MX_ATTRIBUTES_ADDATTRIBUTE)] | 
|  | HRESULT addAttribute( | 
|  | [in] BSTR uri, | 
|  | [in] BSTR localName, | 
|  | [in] BSTR QName, | 
|  | [in] BSTR type, | 
|  | [in] BSTR value); | 
|  |  | 
|  | [id(DISPID_MX_ATTRIBUTES_ADDATTRIBUTEFROMINDEX)] | 
|  | HRESULT addAttributeFromIndex( [in] VARIANT atts, | 
|  | [in] int index); | 
|  |  | 
|  | [id(DISPID_MX_ATTRIBUTES_CLEAR)] | 
|  | HRESULT clear(); | 
|  |  | 
|  | [id(DISPID_MX_ATTRIBUTES_REMOVEATTRIBUTE)] | 
|  | HRESULT removeAttribute( [in] int index); | 
|  |  | 
|  | [id(DISPID_MX_ATTRIBUTES_SETATTRIBUTE)] | 
|  | HRESULT setAttribute( | 
|  | [in] int index, | 
|  | [in] BSTR uri, | 
|  | [in] BSTR localName, | 
|  | [in] BSTR QName, | 
|  | [in] BSTR type, | 
|  | [in] BSTR value); | 
|  |  | 
|  | [id(DISPID_MX_ATTRIBUTES_SETATTRIBUTES)] | 
|  | HRESULT setAttributes( [in] VARIANT atts); | 
|  |  | 
|  | [id(DISPID_MX_ATTRIBUTES_SETLOCALNAME)] | 
|  | HRESULT setLocalName( [in] int index, | 
|  | [in] BSTR localName); | 
|  |  | 
|  | [id(DISPID_MX_ATTRIBUTES_SETQNAME)] | 
|  | HRESULT setQName( | 
|  | [in] int index, | 
|  | [in] BSTR QName); | 
|  |  | 
|  | [id(DISPID_MX_ATTRIBUTES_SETTYPE)] | 
|  | HRESULT setType( [in] int index, [in] BSTR type); | 
|  |  | 
|  | [id(DISPID_MX_ATTRIBUTES_SETURI)] | 
|  | HRESULT setURI( [in] int index,  [in] BSTR uri); | 
|  |  | 
|  | [id(DISPID_MX_ATTRIBUTES_SETVALUE)] | 
|  | HRESULT setValue([in] int index, [in] BSTR value); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(808f4e35-8d5a-4fbe-8466-33a41279ed30) | 
|  | ] | 
|  | interface IMXReaderControl : IDispatch | 
|  | { | 
|  | [id(DISPID_MX_READER_CONTROL_ABORT)] | 
|  | HRESULT abort(); | 
|  |  | 
|  | [id(DISPID_MX_READER_CONTROL_RESUME)] | 
|  | HRESULT resume(); | 
|  |  | 
|  | [id(DISPID_MX_READER_CONTROL_SUSPEND)] | 
|  | HRESULT suspend(); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | object, | 
|  | dual, | 
|  | uuid(4d7ff4ba-1565-4ea8-94e1-6e724a46f98d) | 
|  | ] | 
|  | interface IMXWriter :  IDispatch | 
|  | { | 
|  | [propput, id(DISPID_MX_WRITER_OUTPUT)] | 
|  | HRESULT output ( [in] VARIANT Destination); | 
|  | [propget, id(DISPID_MX_WRITER_OUTPUT)] | 
|  | HRESULT output ( [out, retval] VARIANT * Destination); | 
|  |  | 
|  | [propput, id(DISPID_MX_WRITER_ENCODING)] | 
|  | HRESULT encoding ([in] BSTR encoding); | 
|  | [propget, id(DISPID_MX_WRITER_ENCODING)] | 
|  | HRESULT encoding ([out, retval] BSTR * encoding); | 
|  |  | 
|  | [propput, id(DISPID_MX_WRITER_BYTEORDERMARK)] | 
|  | HRESULT byteOrderMark ([in] VARIANT_BOOL writeByteOrderMark); | 
|  | [propget, id(DISPID_MX_WRITER_BYTEORDERMARK)] | 
|  | HRESULT byteOrderMark ([out, retval] VARIANT_BOOL * writeByteOrderMark); | 
|  |  | 
|  | [propput, id(DISPID_MX_WRITER_INDENT)] | 
|  | HRESULT indent ([in] VARIANT_BOOL indentMode); | 
|  | [propget, id(DISPID_MX_WRITER_INDENT)] | 
|  | HRESULT indent ([out, retval] VARIANT_BOOL * indentMode); | 
|  |  | 
|  | [propput, id(DISPID_MX_WRITER_STANDALONE)] | 
|  | HRESULT standalone ([in] VARIANT_BOOL value); | 
|  | [propget, id(DISPID_MX_WRITER_STANDALONE)] | 
|  | HRESULT standalone ([out, retval] VARIANT_BOOL * value); | 
|  |  | 
|  | [propput, id(DISPID_MX_WRITER_OMITXMLDECLARATION)] | 
|  | HRESULT omitXMLDeclaration ([in] VARIANT_BOOL value); | 
|  | [propget, id(DISPID_MX_WRITER_OMITXMLDECLARATION)] | 
|  | HRESULT omitXMLDeclaration ([out, retval] VARIANT_BOOL * value); | 
|  |  | 
|  | [propput, id(DISPID_MX_WRITER_VERSION)] | 
|  | HRESULT version ([in] BSTR version); | 
|  | [propget, id(DISPID_MX_WRITER_VERSION)] | 
|  | HRESULT version ([out, retval] BSTR * version); | 
|  |  | 
|  | [propput, id(DISPID_MX_WRITER_DISABLEOUTPUTESCAPING)] | 
|  | HRESULT disableOutputEscaping([in] VARIANT_BOOL value); | 
|  | [propget, id(DISPID_MX_WRITER_DISABLEOUTPUTESCAPING)] | 
|  | HRESULT disableOutputEscaping([out, retval] VARIANT_BOOL * value); | 
|  |  | 
|  | [id(DISPID_MX_WRITER_FLUSH)] | 
|  | HRESULT flush(); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | uuid(079aa557-4a18-424a-8eee-e39f0a8d41b9) | 
|  | ] | 
|  | coclass SAXXMLReader | 
|  | { | 
|  | [default] interface IVBSAXXMLReader; | 
|  | interface ISAXXMLReader; | 
|  | interface IMXReaderControl; | 
|  | }; | 
|  |  | 
|  | [ | 
|  | uuid(3124c396-fb13-4836-a6ad-1317f1713688) | 
|  | ] | 
|  | coclass SAXXMLReader30 | 
|  | { | 
|  | [default] interface IVBSAXXMLReader; | 
|  | interface ISAXXMLReader; | 
|  | interface IMXReaderControl; | 
|  | }; | 
|  |  | 
|  | [ | 
|  | uuid(fc220ad8-a72a-4ee8-926e-0b7ad152a020) | 
|  | ] | 
|  | coclass MXXMLWriter | 
|  | { | 
|  | [default] interface IMXWriter; | 
|  |  | 
|  | interface ISAXContentHandler; | 
|  | interface ISAXErrorHandler; | 
|  | interface ISAXDTDHandler; | 
|  | interface ISAXLexicalHandler; | 
|  | interface ISAXDeclHandler; | 
|  |  | 
|  | interface IVBSAXContentHandler; | 
|  | interface IVBSAXDeclHandler; | 
|  | interface IVBSAXDTDHandler; | 
|  | interface IVBSAXErrorHandler; | 
|  | interface IVBSAXLexicalHandler; | 
|  | }; | 
|  |  | 
|  | [ | 
|  | uuid(3d813dfe-6c91-4a4e-8f41-04346a841d9c) | 
|  | ] | 
|  | coclass MXXMLWriter30 | 
|  | { | 
|  | [default] interface IMXWriter; | 
|  |  | 
|  | interface ISAXContentHandler; | 
|  | interface ISAXDeclHandler; | 
|  | interface ISAXDTDHandler; | 
|  | interface ISAXErrorHandler; | 
|  | interface ISAXLexicalHandler; | 
|  |  | 
|  | interface IVBSAXContentHandler; | 
|  | interface IVBSAXDeclHandler; | 
|  | interface IVBSAXDTDHandler; | 
|  | interface IVBSAXErrorHandler; | 
|  | interface IVBSAXLexicalHandler; | 
|  | }; | 
|  |  | 
|  | [ | 
|  | uuid(4dd441ad-526d-4a77-9f1b-9841ed802fb0) | 
|  | ] | 
|  | coclass SAXAttributes | 
|  | { | 
|  | [default] interface IMXAttributes; | 
|  | interface IVBSAXAttributes; | 
|  | interface ISAXAttributes; | 
|  | }; | 
|  |  | 
|  | [ | 
|  | uuid(3e784a01-f3ae-4dc0-9354-9526b9370eba) | 
|  | ] | 
|  | coclass SAXAttributes30 | 
|  | { | 
|  | [default] interface IMXAttributes; | 
|  | interface IVBSAXAttributes; | 
|  | interface ISAXAttributes; | 
|  | }; | 
|  |  | 
|  |  | 
|  | } /* Library MSXML */ |