|  | /* | 
|  | * Copyright (C) 2005 Vijay Kiran Kamuju | 
|  | * | 
|  | * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
|  | */ | 
|  |  | 
|  | #include <msxml2did.h> | 
|  | #include <olectl.h> | 
|  |  | 
|  | import "unknwn.idl"; | 
|  | import "objidl.idl"; | 
|  | import "oaidl.idl"; | 
|  |  | 
|  | 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; | 
|  |  | 
|  | 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; | 
|  |  | 
|  | [ | 
|  | 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); | 
|  | }; | 
|  |  | 
|  | [ | 
|  | 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; | 
|  | }; |