//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992-1998. // // File: msxml.idl // //-------------------------------------------------------------------------- cpp_quote("//+-------------------------------------------------------------------------") cpp_quote("//") cpp_quote("// Microsoft Windows") cpp_quote("// Copyright (C) Microsoft Corporation, 1997-1998.") cpp_quote("//") cpp_quote("//--------------------------------------------------------------------------") #include "msxml2did.h" #include #ifndef DO_NO_IMPORTS import "unknwn.idl"; import "wtypes.idl"; import "objidl.idl"; import "oaidl.idl"; #endif // DOMDocument has a different guid in IE5. In msxml3, it is a version independent guid. To avoid // compile errors define it to be DOMDocment2 cpp_quote("#define DOMDocument DOMDocument2") cpp_quote("#define CLSID_DOMDocument CLSID_DOMDocument2") cpp_quote("") cpp_quote("#ifdef __USE_MSXML2_NAMESPACE__") cpp_quote("namespace MSXML2 {") cpp_quote("#endif") cpp_quote("#ifndef __msxml_h__") #ifndef IMPORTED_MSXML typedef struct _xml_error { unsigned _nLine; // line number BSTR _pchBuf; // current input buffer unsigned _cchBuf; // number of chars in buffer unsigned _ich; // index of the char when error occurred BSTR _pszFound; // token found BSTR _pszExpected; // token expected DWORD _reserved1; // reserved DWORD _reserved2; // reserved } XML_ERROR; // If, when importing this file into another idl file you receive duplicate definition // errors, define IMPORTED_MSXML on the command line to the MIDL compiler. #endif cpp_quote("#endif") // msxml2 shares the same library as msxml3. To make sure all of msxml3 is defined check for the SAX interfaces. // If they are not there then undefine the library so that msxml3 definitions are included. cpp_quote("#ifndef __ISAXXMLReader_INTERFACE_DEFINED__") cpp_quote("#undef __MSXML2_LIBRARY_DEFINED__") cpp_quote("#endif") [ uuid(f5078f18-c551-11d3-89b9-0000f81fe221), version(3.0), helpstring("Microsoft XML, v3.0"), lcid(0x0000) ] library MSXML2 { importlib("stdole32.tlb"); importlib("stdole2.tlb"); // XMLDOM 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 interface ISAXXMLReader; interface ISAXXMLFilter; interface ISAXLocator; interface ISAXEntityResolver; interface ISAXContentHandler; interface ISAXDTDHandler; interface ISAXErrorHandler; interface ISAXLexicalHandler; interface ISAXDeclHandler; interface ISAXAttributes; interface IVBSAXXMLReader; interface IVBSAXXMLFilter; interface IVBSAXLocator; interface IVBSAXEntityResolver; interface IVBSAXContentHandler; interface IVBSAXDTDHandler; interface IVBSAXErrorHandler; interface IVBSAXLexicalHandler; interface IVBSAXDeclHandler; interface IVBSAXAttributes; interface IMXWriter; interface IMXAttributes; interface IMXReaderControl; // IE4 ObjectModel interface IXMLElementCollection; interface IXMLDocument; interface IXMLDocument2; interface IXMLElement; interface IXMLElement2; interface IXMLAttribute; interface IXMLError; interface IXMLElementNotificationSink; /// This is needed to avoid having the (SAX) ParseURL method /// become the ParseURLA method. cpp_quote("#undef ParseURL") cpp_quote("#if !defined(__msxml_h__)") #ifndef IMPORTED_MSXML typedef [ helpstring("Constants that define types for IXMLElement.") ] enum tagXMLEMEM_TYPE { XMLELEMTYPE_ELEMENT, XMLELEMTYPE_TEXT, XMLELEMTYPE_COMMENT, XMLELEMTYPE_DOCUMENT, XMLELEMTYPE_DTD, XMLELEMTYPE_PI, XMLELEMTYPE_OTHER } XMLELEM_TYPE; #endif cpp_quote("#endif") // IE4 msxml.h also defines __msxml_h__. The only way to tell the difference between IE4 msxml.h and IE5 msxml.h is the // via the obsolete interface __IXMLElementNotificationSink_INTERFACE_DEFINED__ defined by IE4 cpp_quote("#if !defined(__msxml_h__) || defined(__IXMLElementNotificationSink_INTERFACE_DEFINED__)") typedef [ helpstring("Constants that define a node's type") ] 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") [ local, object, uuid(2933BF80-7B36-11d2-B20E-00C04F983E60), // IID_INode odl, dual, oleautomation, nonextensible, helpstring("Core DOM node interface"), pointer_default(unique) ] interface IXMLDOMNode : IDispatch { // readonly attribute wstring nodeName; [propget, id(DISPID_DOM_NODE_NODENAME), helpstring("name of the node")] HRESULT nodeName( [out, retval] BSTR * name); // attribute wstring nodeValue; [propget, id(DISPID_DOM_NODE_NODEVALUE), helpstring("value stored in the node")] HRESULT nodeValue( [out, retval] VARIANT * value); [propput, id(DISPID_DOM_NODE_NODEVALUE), helpstring("value stored in the node")] HRESULT nodeValue( [in] VARIANT value); // readonly attribute unsigned short nodeType; [propget, id(DISPID_DOM_NODE_NODETYPE), helpstring("the node's type")] HRESULT nodeType( [out, retval] DOMNodeType * type); // readonly attribute Node parentNode; [propget, id(DISPID_DOM_NODE_PARENTNODE), helpstring("parent of the node")] HRESULT parentNode( [out, retval] IXMLDOMNode ** parent); // readonly attribute NodeList childNodes; [propget, id(DISPID_DOM_NODE_CHILDNODES), helpstring("the collection of the node's children")] HRESULT childNodes( [out, retval] IXMLDOMNodeList ** childList); // readonly attribute Node firstChild; [propget,id(DISPID_DOM_NODE_FIRSTCHILD), helpstring("first child of the node")] HRESULT firstChild( [out, retval] IXMLDOMNode ** firstChild); // readonly attribute Node lastChild; [propget,id(DISPID_DOM_NODE_LASTCHILD), helpstring("last child of the node")] HRESULT lastChild( [out, retval] IXMLDOMNode ** lastChild); // readonly attribute Node previousSibling; [propget,id(DISPID_DOM_NODE_PREVIOUSSIBLING), helpstring("left sibling of the node")] HRESULT previousSibling( [out, retval] IXMLDOMNode ** previousSibling); // readonly attribute Node nextSibling; [propget,id(DISPID_DOM_NODE_NEXTSIBLING), helpstring("right sibling of the node")] HRESULT nextSibling( [out, retval] IXMLDOMNode ** nextSibling); // readonly attribute NamedNodeMap attributes; [propget, id(DISPID_DOM_NODE_ATTRIBUTES), helpstring("the collection of the node's attributes")] HRESULT attributes( [out, retval] IXMLDOMNamedNodeMap ** attributeMap); // Node insertBefore(in Node newChild, // in Node refChild) // raises(DOMException); [id(DISPID_DOM_NODE_INSERTBEFORE), helpstring("insert a child node")] HRESULT insertBefore( [in] IXMLDOMNode * newChild, [in] VARIANT refChild, [out, retval] IXMLDOMNode ** outNewChild); // Node replaceChild(in Node newChild, // in Node oldChild) // raises(DOMException); [id(DISPID_DOM_NODE_REPLACECHILD), helpstring("replace a child node")] HRESULT replaceChild( [in] IXMLDOMNode * newChild, [in] IXMLDOMNode * oldChild, [out, retval] IXMLDOMNode ** outOldChild); // Node removeChild(in Node childNode) // raises(DOMException); [id(DISPID_DOM_NODE_REMOVECHILD), helpstring("remove a child node")] HRESULT removeChild( [in] IXMLDOMNode * childNode, [out, retval] IXMLDOMNode ** oldChild); // Node appendChild(in Node newChild); [id(DISPID_DOM_NODE_APPENDCHILD), helpstring("append a child node")] HRESULT appendChild( [in] IXMLDOMNode * newChild, [out, retval] IXMLDOMNode ** outNewChild); // boolean hasChildNodes(); [id(DISPID_DOM_NODE_HASCHILDNODES), helpstring("")] HRESULT hasChildNodes( [out, retval] VARIANT_BOOL * hasChild); // readonly attribute Node ownerDocument; [propget, id(DISPID_DOM_NODE_OWNERDOC), helpstring("document that contains the node")] HRESULT ownerDocument( [out, retval] IXMLDOMDocument ** DOMDocument); // Node cloneNode(in boolean deep); [id(DISPID_DOM_NODE_CLONENODE), helpstring("")] HRESULT cloneNode( [in] VARIANT_BOOL deep, [out, retval] IXMLDOMNode ** cloneRoot); [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE), helpstring("the type of node in string form")] HRESULT nodeTypeString( [retval, out] BSTR * nodeType); [propget, id(DISPID_XMLDOM_NODE_TEXT), helpstring("text content of the node and subtree")] HRESULT text( [retval, out] BSTR * text); [propput, id(DISPID_XMLDOM_NODE_TEXT), helpstring("text content of the node and subtree")] HRESULT text( [in] BSTR text); [propget, id(DISPID_XMLDOM_NODE_SPECIFIED), helpstring("indicates whether node is a default value")] HRESULT specified( [out, retval] VARIANT_BOOL * isSpecified); // DTD Navigation. [propget, id(DISPID_XMLDOM_NODE_DEFINITION), helpstring("pointer to the definition of the node in the DTD or schema")] HRESULT definition( [retval,out] IXMLDOMNode ** definitionNode); [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE), helpstring("get the strongly typed value of the node")] HRESULT nodeTypedValue( [retval, out] VARIANT * typedValue); [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE), helpstring("get the strongly typed value of the node")] HRESULT nodeTypedValue( [in] VARIANT typedValue); [propget, id(DISPID_XMLDOM_NODE_DATATYPE), helpstring("the data type of the node")] HRESULT dataType( [retval, out] VARIANT * dataTypeName); // BSTR or VT_NULL [propput, id(DISPID_XMLDOM_NODE_DATATYPE), helpstring("the data type of the node")] HRESULT dataType( [in] BSTR dataTypeName); [propget, id(DISPID_XMLDOM_NODE_XML), helpstring("return the XML source for the node and each of its descendants")] HRESULT xml( [retval, out] BSTR * xmlString); [id(DISPID_XMLDOM_NODE_TRANSFORMNODE), helpstring("apply the stylesheet to the subtree")] HRESULT transformNode( [in] IXMLDOMNode * stylesheet, [retval, out] BSTR * xmlString); [id(DISPID_XMLDOM_NODE_SELECTNODES), helpstring("execute query on the subtree")] HRESULT selectNodes( [in] BSTR queryString, [retval, out] IXMLDOMNodeList** resultList); [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE), helpstring("execute query on the subtree")] HRESULT selectSingleNode( [in] BSTR queryString, [retval, out] IXMLDOMNode** resultNode); [propget,id(DISPID_XMLDOM_NODE_PARSED), helpstring("has sub-tree been completely parsed")] HRESULT parsed( [retval, out] VARIANT_BOOL * isParsed); [propget, id(DISPID_XMLDOM_NODE_NAMESPACE), helpstring("the URI for the namespace applying to the node")] HRESULT namespaceURI( [retval, out] BSTR * namespaceURI); [propget, id(DISPID_XMLDOM_NODE_PREFIX), helpstring("the prefix for the namespace applying to the node")] HRESULT prefix( [retval, out] BSTR * prefixString); [propget, id(DISPID_XMLDOM_NODE_BASENAME), helpstring("the base name of the node (nodename with the prefix stripped off)")] HRESULT baseName( [retval, out] BSTR * nameString); [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT), helpstring("apply the stylesheet to the subtree, returning the result through a document or a stream")] HRESULT transformNodeToObject( [in] IXMLDOMNode * stylesheet, [in] VARIANT outputObject); }; [ local, object, uuid(2933BF81-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMDocument odl, dual, oleautomation, nonextensible, pointer_default(unique), hidden ] interface IXMLDOMDocument : IXMLDOMNode { // readonly attribute DocumentType doctype; [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE), helpstring("node corresponding to the DOCTYPE")] HRESULT doctype( [out, retval] IXMLDOMDocumentType ** documentType); // readonly attribute DOMImplementation implementation; [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION), helpstring("info on this DOM implementation")] HRESULT implementation( [out, retval] IXMLDOMImplementation ** impl); // attribute Element documentElement; [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT), helpstring("the root of the tree")] HRESULT documentElement( [out, retval] IXMLDOMElement ** DOMElement); [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT), helpstring("the root of the tree")] HRESULT documentElement( [in] IXMLDOMElement * DOMElement); // Element createElement(in wstring tagName); [id(DISPID_DOM_DOCUMENT_CREATEELEMENT), helpstring("create an Element node")] HRESULT createElement( [in] BSTR tagName, [out, retval] IXMLDOMElement ** element); // DocumentFragment createDocumentFragment(); [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT), helpstring("create a DocumentFragment node")] HRESULT createDocumentFragment( [out, retval] IXMLDOMDocumentFragment ** docFrag ); // Text createTextNode(in wstring data); [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE), helpstring("create a text node")] HRESULT createTextNode( [in] BSTR data, [out, retval] IXMLDOMText ** text); // Comment createComment(in wstring data); [id(DISPID_DOM_DOCUMENT_CREATECOMMENT), helpstring("create a comment node")] HRESULT createComment( [in] BSTR data, [out, retval] IXMLDOMComment ** comment); // CDATASection createCDATASection(in wstring data); [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION), helpstring("create a CDATA section node")] HRESULT createCDATASection( [in] BSTR data, [out, retval] IXMLDOMCDATASection ** cdata); // ProcessingInstruction createProcessingInstruction(in wstring target, // in wstring data); [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION), helpstring("create a processing instruction node")] HRESULT createProcessingInstruction( [in] BSTR target, [in] BSTR data, [out, retval] IXMLDOMProcessingInstruction ** pi); // Attribute createAttribute(in wstring name); [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE), helpstring("create an attribute node")] HRESULT createAttribute( [in] BSTR name, [out, retval] IXMLDOMAttribute ** attribute); // EntityReference createEntityReference(in wstring name); [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE), helpstring("create an entity reference node")] HRESULT createEntityReference( [in] BSTR name, [out, retval] IXMLDOMEntityReference ** entityRef); // NodeList getElementsByTagName(in wstring tagname); [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME), helpstring("build a list of elements by name")] HRESULT getElementsByTagName( [in] BSTR tagName, [out, retval] IXMLDOMNodeList ** resultList); [id(DISPID_XMLDOM_DOCUMENT_CREATENODE), helpstring("create a node of the specified node type and name")] HRESULT createNode( [in] VARIANT Type, [in] BSTR name, [in] BSTR namespaceURI, [retval, out] IXMLDOMNode ** node); [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID), helpstring("retrieve node from it's ID")] HRESULT nodeFromID( [in] BSTR idString, [retval, out] IXMLDOMNode ** node); [id(DISPID_XMLDOM_DOCUMENT_LOAD), helpstring("load document from the specified XML source")] HRESULT load( [in] VARIANT xmlSource, [out, retval] VARIANT_BOOL * isSuccessful); [propget, id(DISPID_READYSTATE), helpstring("get the state of the XML document")] HRESULT readyState( [retval, out] long * value); [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR), helpstring("get the last parser error")] HRESULT parseError( [retval, out] IXMLDOMParseError ** errorObj); [propget, id(DISPID_XMLDOM_DOCUMENT_URL), helpstring("get the URL for the loaded XML document")] HRESULT url( [retval, out] BSTR * urlString); [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC), helpstring("flag for asynchronous download")] HRESULT async( [retval, out] VARIANT_BOOL * isAsync); [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC), helpstring("flag for asynchronous download")] HRESULT async( [in] VARIANT_BOOL isAsync); [id(DISPID_XMLDOM_DOCUMENT_ABORT), helpstring("abort an asynchronous download")] HRESULT abort(); [id(DISPID_XMLDOM_DOCUMENT_LOADXML), helpstring("load the document from a string")] HRESULT loadXML( [in] BSTR bstrXML, [out, retval] VARIANT_BOOL * isSuccessful); [id(DISPID_XMLDOM_DOCUMENT_SAVE), helpstring("save the document to a specified destination")] HRESULT save( [in] VARIANT destination); [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE), helpstring("indicates whether the parser performs validation")] HRESULT validateOnParse( [retval, out] VARIANT_BOOL * isValidating); [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE), helpstring("indicates whether the parser performs validation")] HRESULT validateOnParse( [in] VARIANT_BOOL isValidating); [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE), helpstring("indicates whether the parser resolves references to external DTD/Entities/Schema")] HRESULT resolveExternals( [retval,out] VARIANT_BOOL * isResolving); [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE), helpstring("indicates whether the parser resolves references to external DTD/Entities/Schema")] HRESULT resolveExternals( [in] VARIANT_BOOL isResolving); [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE), helpstring("indicates whether the parser preserves whitespace")] HRESULT preserveWhiteSpace( [retval,out] VARIANT_BOOL * isPreserving); [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE), helpstring("indicates whether the parser preserves whitespace")] HRESULT preserveWhiteSpace( [in] VARIANT_BOOL isPreserving); [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE), helpstring("register a readystatechange event handler")] HRESULT onreadystatechange( [in] VARIANT readystatechangeSink); [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE), helpstring("register an ondataavailable event handler")] HRESULT ondataavailable( [in] VARIANT ondataavailableSink); [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE), helpstring("register an ontransformnode event handler")] HRESULT ontransformnode( [in] VARIANT ontransformnodeSink); }; [ local, object, uuid(373984c8-b845-449b-91e7-45ac83036ade), odl, dual, oleautomation, nonextensible, helpstring("XML Schemas Collection"), pointer_default(unique) ] interface IXMLDOMSchemaCollection : IDispatch { [id(DISPID_XMLDOM_SCHEMACOLLECTION_ADD), helpstring("add a new schema")] HRESULT add( [in] BSTR namespaceURI, [in] VARIANT var); [id(DISPID_XMLDOM_SCHEMACOLLECTION_GET), helpstring("lookup schema by namespaceURI")] HRESULT get( [in] BSTR namespaceURI, [out,retval] IXMLDOMNode ** schemaNode); [id(DISPID_XMLDOM_SCHEMACOLLECTION_REMOVE), helpstring("remove schema by namespaceURI")] HRESULT remove( [in] BSTR namespaceURI); [id(DISPID_XMLDOM_SCHEMACOLLECTION_LENGTH), helpstring("number of schema in collection"), propget] HRESULT length( [out, retval] long * length); [propget, id(DISPID_VALUE), helpstring("Get namespaceURI for schema by index")] HRESULT namespaceURI( [in] long index, [out, retval] BSTR * length); [id(DISPID_XMLDOM_SCHEMACOLLECTION_ADDCOLLECTION), helpstring("copye & merge other collection into this one")] HRESULT addCollection( [in] IXMLDOMSchemaCollection * otherCollection); [propget, restricted, hidden, id(DISPID_NEWENUM)] HRESULT _newEnum( [retval, out] IUnknown ** ppUnk); }; [ local, object, uuid(2933BF95-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMDocument2 odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMDocument2 : IXMLDOMDocument { [propget, id(DISPID_XMLDOM_DOCUMENT2_NAMESPACES), helpstring("A collection of all namespaces for this document")] HRESULT namespaces( [out,retval] IXMLDOMSchemaCollection ** namespaceCollection); [propget, id(DISPID_XMLDOM_DOCUMENT2_SCHEMAS), helpstring("The associated schema cache")] HRESULT schemas( [out,retval] VARIANT * otherCollection); [propputref, id(DISPID_XMLDOM_DOCUMENT2_SCHEMAS), helpstring("The associated schema cache")] HRESULT schemas( [in] VARIANT otherCollection); [id(DISPID_XMLDOM_DOCUMENT2_VALIDATE), helpstring("perform runtime validation on the currently loaded XML document")] HRESULT validate( [retval, out] IXMLDOMParseError ** errorObj); [id(DISPID_XMLDOM_DOCUMENT2_SETPROPERTY), helpstring("set the value of the named property")] HRESULT setProperty( [in] BSTR name, [in] VARIANT value); [id(DISPID_XMLDOM_DOCUMENT2_GETPROPERTY), helpstring("get the value of the named property")] HRESULT getProperty( [in] BSTR name, [out,retval] VARIANT * value); }; [ local, object, uuid(2933BF82-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMNodeList odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMNodeList : IDispatch { // Node item(in unsigned long index); [propget, id(DISPID_VALUE), helpstring("collection of nodes")] HRESULT item( [in] long index, [out, retval] IXMLDOMNode ** listItem); // readonly attribute unsigned long length; [propget, id(DISPID_DOM_NODELIST_LENGTH), helpstring("number of nodes in the collection")] HRESULT length( [out, retval] long * listLength); [id(DISPID_XMLDOM_NODELIST_NEXTNODE), helpstring("get next node from iterator")] HRESULT nextNode( [out, retval] IXMLDOMNode ** nextItem); [id(DISPID_XMLDOM_NODELIST_RESET), helpstring("reset the position of iterator")] HRESULT reset(); [propget, restricted, hidden, id(DISPID_NEWENUM)] HRESULT _newEnum( [retval, out] IUnknown ** ppUnk); }; [ local, object, uuid(AA634FC7-5888-44a7-A257-3A47150D3A0E), // IID_IXMLDOMSelection odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMSelection : IXMLDOMNodeList { [propget, id(DISPID_XMLDOM_SELECTION_EXPR), helpstring("selection expression")] HRESULT expr( [out, retval] BSTR * expression); [propput, id(DISPID_XMLDOM_SELECTION_EXPR), helpstring("selection expression")] HRESULT expr( [in] BSTR expression); [propget, id(DISPID_XMLDOM_SELECTION_CONTEXT), helpstring("nodes to apply selection expression to")] HRESULT context( [out, retval] IXMLDOMNode ** ppNode); [propputref, id(DISPID_XMLDOM_SELECTION_CONTEXT), helpstring("nodes to apply selection expression to")] HRESULT context( [in] IXMLDOMNode * pNode); [id(DISPID_XMLDOM_SELECTION_PEEKNODE), helpstring("gets the next node without advancing the list position")] HRESULT peekNode( [out, retval] IXMLDOMNode ** ppNode); [id(DISPID_XMLDOM_SELECTION_MATCHES), helpstring("checks to see if the node matches the pattern")] HRESULT matches( [in] IXMLDOMNode * pNode, [out, retval] IXMLDOMNode ** ppNode); [id(DISPID_XMLDOM_SELECTION_REMOVENEXT), helpstring("removes the next node")] HRESULT removeNext( [out, retval] IXMLDOMNode ** ppNode); [id(DISPID_XMLDOM_SELECTION_REMOVEALL), helpstring("removes all the nodes that match the selection")] HRESULT removeAll(); [id(DISPID_XMLDOM_SELECTION_CLONE), helpstring("clone this object with the same position and context")] HRESULT clone( [out, retval] IXMLDOMSelection ** ppNode); [id(DISPID_XMLDOM_SELECTION_GETPROPERTY), helpstring("get the value of the named property")] HRESULT getProperty( [in] BSTR name, [out,retval] VARIANT * value); [id(DISPID_XMLDOM_SELECTION_SETPROPERTY), helpstring("set the value of the named property")] HRESULT setProperty( [in] BSTR name, [in] VARIANT value); }; [ local, object, uuid(2933BF83-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMNamedNodeMap odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMNamedNodeMap : IDispatch { // Node getNamedItem(in wstring name); [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM), helpstring("lookup item by name")] HRESULT getNamedItem( [in] BSTR name, [out, retval] IXMLDOMNode ** namedItem); // void setNamedItem(in Node arg); [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM), helpstring("set item by name")] HRESULT setNamedItem( [in] IXMLDOMNode * newItem, [out, retval] IXMLDOMNode ** nameItem); // Node removeNamedItem(in wstring name); [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM), helpstring("remove item by name")] HRESULT removeNamedItem( [in] BSTR name, [out, retval] IXMLDOMNode ** namedItem); // Node item(in unsigned long index); [propget, id(DISPID_VALUE), helpstring("collection of nodes")] HRESULT item( [in] long index, [out, retval] IXMLDOMNode ** listItem); // readonly attribute unsigned long length; [propget, id(DISPID_DOM_NODELIST_LENGTH), helpstring("number of nodes in the collection")] HRESULT length( [out, retval] long * listLength); // Node getQualifiedItem(in wstring name,in Node namespace); [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM), helpstring("lookup the item by name and namespace")] HRESULT getQualifiedItem( [in] BSTR baseName, [in] BSTR namespaceURI, [out, retval] IXMLDOMNode ** qualifiedItem); // Node removeQualifiedItem(in wstring name,in Node namespace); [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM), helpstring("remove the item by name and namespace")] HRESULT removeQualifiedItem( [in] BSTR baseName, [in] BSTR namespaceURI, [out, retval] IXMLDOMNode ** qualifiedItem); [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE), helpstring("get next node from iterator")] HRESULT nextNode( [out, retval] IXMLDOMNode ** nextItem); [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET), helpstring("reset the position of iterator")] HRESULT reset(); [propget, restricted, hidden, id(DISPID_NEWENUM)] HRESULT _newEnum( [retval, out] IUnknown ** ppUnk); }; [ local, object, uuid(3efaa413-272f-11d2-836f-0000f87a7782), // IID_IXMLDOMDocumentFragment odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMDocumentFragment : IXMLDOMNode { }; [ local, object, uuid(2933BF84-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMCharacterData odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMCharacterData : IXMLDOMNode { // attribute wstring data; [propget, id(DISPID_DOM_DATA_DATA), helpstring("value of the node")] HRESULT data( [out, retval] BSTR * data); [propput, id(DISPID_DOM_DATA_DATA), helpstring("value of the node")] HRESULT data( [in] BSTR data); // readonly attribute unsigned long length; [propget, id(DISPID_DOM_DATA_LENGTH), helpstring("number of characters in value")] HRESULT length( [out, retval] long * dataLength); // wstring substring(in unsigned long offset, // in unsigned long count) // raises(DOMException); [id(DISPID_DOM_DATA_SUBSTRING), helpstring("retrieve substring of value")] HRESULT substringData( [in] long offset, [in] long count, [out, retval] BSTR * data); // void append(in wstring arg); [id(DISPID_DOM_DATA_APPEND), helpstring("append string to value")] HRESULT appendData( [in] BSTR data); // void insert(in unsigned long offset, // in wstring arg) // raises(DOMException); [id(DISPID_DOM_DATA_INSERT), helpstring("insert string into value")] HRESULT insertData( [in] long offset, [in] BSTR data); // void delete(in unsigned long offset, // in unsigned long count) // raises(DOMException); [id(DISPID_DOM_DATA_DELETE), helpstring("delete string within the value")] HRESULT deleteData( [in] long offset, [in] long count); // void replace(in unsigned long offset, // in unsigned long count, // in wstring arg) // raises(DOMException); [id(DISPID_DOM_DATA_REPLACE), helpstring("replace string within the value")] HRESULT replaceData( [in] long offset, [in] long count, [in] BSTR data); }; [ local, object, uuid(2933BF85-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMAttribute odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMAttribute : IXMLDOMNode { // wstring name; [propget, id(DISPID_DOM_ATTRIBUTE_GETNAME), helpstring("get name of the attribute")] HRESULT name( [out, retval] BSTR * attributeName); // attribute boolean specified; // ! This is defined as an extended property on IXMLDOMNode // attribute wstring value; [propget, id(DISPID_DOM_ATTRIBUTE_VALUE), helpstring("string value of the attribute")] HRESULT value( [out, retval] VARIANT * attributeValue); [propput, id(DISPID_DOM_ATTRIBUTE_VALUE), helpstring("string value of the attribute")] HRESULT value( [in] VARIANT attributeValue); }; [ local, object, uuid(2933BF86-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMElement odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMElement : IXMLDOMNode { // readonly attribute wstring tagName; [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME), helpstring("get the tagName of the element")] HRESULT tagName( [out, retval] BSTR * tagName); // wstring getAttribute(in wstring name); [id(DISPID_DOM_ELEMENT_GETATTRIBUTE), helpstring("look up the string value of an attribute by name")] HRESULT getAttribute( [in] BSTR name, [out, retval] VARIANT * value); // void setAttribute(in string name, // in string value); [id(DISPID_DOM_ELEMENT_SETATTRIBUTE), helpstring("set the string value of an attribute by name")] HRESULT setAttribute( [in] BSTR name, [in] VARIANT value); // void removeAttribute(in wstring name); [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE), helpstring("remove an attribute by name")] HRESULT removeAttribute( [in] BSTR name); // Attribute getAttributeNode(in wstring name); [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE), helpstring("look up the attribute node by name")] HRESULT getAttributeNode( [in] BSTR name, [out, retval] IXMLDOMAttribute ** attributeNode); // void setAttributeNode(in Attribute newAttr); [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE), helpstring("set the specified attribute on the element")] HRESULT setAttributeNode( [in] IXMLDOMAttribute * DOMAttribute, [out, retval] IXMLDOMAttribute ** attributeNode); // void removeAttributeNode(in Attribute oldAttr); [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE), helpstring("remove the specified attribute")] HRESULT removeAttributeNode( [in] IXMLDOMAttribute * DOMAttribute, [out, retval] IXMLDOMAttribute ** attributeNode); // NodeList getElementsByTagName(in wstring tagname); [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME), helpstring("build a list of elements by name")] HRESULT getElementsByTagName( [in] BSTR tagName, [out, retval] IXMLDOMNodeList ** resultList); // void normalize(); [id(DISPID_DOM_ELEMENT_NORMALIZE), helpstring("collapse all adjacent text nodes in sub-tree")] HRESULT normalize(); }; [ local, object, uuid(2933BF87-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMText odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMText : IXMLDOMCharacterData { // Text splitText(in unsigned long offset); [id(DISPID_DOM_TEXT_SPLITTEXT), helpstring("split the text node into two text nodes at the position specified")] HRESULT splitText( [in] long offset, [out, retval] IXMLDOMText ** rightHandTextNode); }; [ local, object, uuid(2933BF88-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMComment odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMComment : IXMLDOMCharacterData { }; [ local, object, uuid(2933BF89-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMProcessingInstruction odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMProcessingInstruction : IXMLDOMNode { // read-only attribute wstring target; [propget, id(DISPID_DOM_PI_TARGET), helpstring("the target")] HRESULT target( [out, retval] BSTR * name); // attribute wstring data; [propget, id(DISPID_DOM_PI_DATA), helpstring("the data")] HRESULT data( [out, retval] BSTR * value); [propput, id(DISPID_DOM_PI_DATA), helpstring("the data")] HRESULT data( [in] BSTR value); }; [ local, object, uuid(2933BF8A-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMCDATASection odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMCDATASection : IXMLDOMText { }; [ local, object, uuid(2933BF8B-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMDocumentType odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMDocumentType : IXMLDOMNode { // readonly attribute wstring name; [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME), helpstring("name of the document type (root of the tree)")] HRESULT name( [out, retval] BSTR * rootName); // readonly attribute NamedNodeMap entities; [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES), helpstring("a list of entities in the document")] HRESULT entities( [out, retval] IXMLDOMNamedNodeMap ** entityMap); // readonly attribute NamedNodeMap notations; [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS), helpstring("a list of notations in the document")] HRESULT notations( [out, retval] IXMLDOMNamedNodeMap ** notationMap); }; [ local, object, uuid(2933BF8C-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMNotation odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMNotation : IXMLDOMNode { // attribute wstring publicId; [propget, id(DISPID_DOM_NOTATION_PUBLICID), helpstring("the public ID")] HRESULT publicId( [out, retval] VARIANT * publicID); // attribute wstring systemId; [propget, id(DISPID_DOM_NOTATION_SYSTEMID), helpstring("the system ID")] HRESULT systemId( [out, retval] VARIANT * systemID); }; [ local, object, uuid(2933BF8D-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMEntity odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMEntity : IXMLDOMNode { // attribute wstring publicId; [propget, id(DISPID_DOM_ENTITY_PUBLICID), helpstring("the public ID")] HRESULT publicId( [out, retval] VARIANT * publicID); // attribute wstring systemId; [propget, id(DISPID_DOM_ENTITY_SYSTEMID), helpstring("the system ID")] HRESULT systemId( [out, retval] VARIANT * systemID); // attribute wstring notationName; [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME), helpstring("the name of the notation")] HRESULT notationName( [out, retval] BSTR * name); }; [ local, object, uuid(2933BF8E-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMEntityReference odl, dual, oleautomation, nonextensible, pointer_default(unique) ] interface IXMLDOMEntityReference : IXMLDOMNode { }; [ local, object, nonextensible, pointer_default(unique), odl, oleautomation, dual, uuid(2933BF8F-7B36-11d2-B20E-00C04F983E60) // IID_IXMLDOMImplementation ] interface IXMLDOMImplementation : IDispatch { // boolean hasFeature(in wstring feature, // in wstring version); [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)] HRESULT hasFeature( [in] BSTR feature, [in] BSTR version, [out, retval] VARIANT_BOOL * hasFeature); }; [ local, object, uuid(3efaa425-272f-11d2-836f-0000f87a7782), // IID_IXTLRuntime odl, dual, oleautomation, nonextensible, helpstring("XTL runtime object"), pointer_default(unique) ] interface IXTLRuntime : IXMLDOMNode { [id(DISPID_XTLRUNTIME_UNIQUEID), helpstring("")] HRESULT uniqueID( [in]IXMLDOMNode *pNode, [out,retval]long *pID); [id(DISPID_XTLRUNTIME_DEPTH), helpstring("")] HRESULT depth( [in] IXMLDOMNode *pNode, [out,retval]long * pDepth); [id(DISPID_XTLRUNTIME_CHILDNUMBER), helpstring("")] HRESULT childNumber( [in]IXMLDOMNode *pNode, [out,retval] long *pNumber); [id(DISPID_XTLRUNTIME_ANCESTORCHILDNUMBER), helpstring("")] HRESULT ancestorChildNumber( [in]BSTR bstrNodeName, [in]IXMLDOMNode *pNode, [out,retval]long *pNumber); [id(DISPID_XTLRUNTIME_ABSOLUTECHILDNUMBER), helpstring("")] HRESULT absoluteChildNumber( [in]IXMLDOMNode *pNode, [out,retval]long *pNumber); [id(DISPID_XTLRUNTIME_FORMATINDEX), helpstring("")] HRESULT formatIndex( [in] long lIndex, [in] BSTR bstrFormat, [out, retval]BSTR *pbstrFormattedString); [id(DISPID_XTLRUNTIME_FORMATNUMBER), helpstring("")] HRESULT formatNumber( [in] double dblNumber, [in] BSTR bstrFormat, [out, retval]BSTR *pbstrFormattedString); [id(DISPID_XTLRUNTIME_FORMATDATE), helpstring("")] HRESULT formatDate( [in] VARIANT varDate, [in] BSTR bstrFormat, [in,optional] VARIANT varDestLocale, [out, retval]BSTR *pbstrFormattedString); [id(DISPID_XTLRUNTIME_FORMATTIME), helpstring("")] HRESULT formatTime( [in] VARIANT varTime, [in] BSTR bstrFormat, [in,optional] VARIANT varDestLocale, [out, retval]BSTR *pbstrFormattedString); }; [ local, object, uuid(3efaa426-272f-11d2-836f-0000f87a7782), // IID_IXMLDOMParseError odl, dual, oleautomation, nonextensible, helpstring("structure for reporting parser errors"), pointer_default(unique) ] interface IXMLDOMParseError : IDispatch { [propget, id(DISPID_VALUE), helpstring("the error code")] HRESULT errorCode( [retval, out] long * errorCode); [propget, id(DISPID_DOM_ERROR_URL), helpstring("the URL of the XML document containing the error")] HRESULT url( [retval, out] BSTR * urlString); [propget, id(DISPID_DOM_ERROR_REASON), helpstring("the cause of the error")] HRESULT reason( [retval, out] BSTR * reasonString); [propget, id(DISPID_DOM_ERROR_SRCTEXT), helpstring("the data where the error occurred")] HRESULT srcText( [retval, out] BSTR * sourceString); [propget, id(DISPID_DOM_ERROR_LINE), helpstring("the line number in the XML document where the error occurred")] HRESULT line( [retval, out] long * lineNumber); [propget, id(DISPID_DOM_ERROR_LINEPOS), helpstring("the character position in the line containing the error")] HRESULT linepos( [retval, out] long * linePosition); [propget, id(DISPID_DOM_ERROR_FILEPOS), helpstring("the absolute file position in the XML document containing the error")] HRESULT filepos( [retval, out] long * filePosition); }; // DOM event interface [ hidden, uuid(3efaa427-272f-11d2-836f-0000f87a7782) // IID_IXMLDOMEvent ] dispinterface XMLDOMDocumentEvents { properties: methods: [id (DISPID_XMLDOMEVENT_ONDATAAVAILABLE)] HRESULT ondataavailable(void); [id (DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)] HRESULT onreadystatechange(void); }; [ local, object, uuid(2933BF92-7B36-11d2-B20E-00C04F983E60), // IXSLProcessor odl, dual, oleautomation, nonextensible, helpstring("IXSLProcessor Interface"), pointer_default(unique) ] interface IXSLProcessor : IDispatch { [propput, id(DISPID_XMLDOM_PROCESSOR_INPUT), helpstring("XML input tree to transform")] HRESULT input([in] VARIANT var); [propget, id(DISPID_XMLDOM_PROCESSOR_INPUT), helpstring("XML input tree to transform")] HRESULT input([out,retval] VARIANT * pVar); [propget, id(DISPID_XMLDOM_PROCESSOR_XSLTEMPLATE), helpstring("template object used to create this processor object")] HRESULT ownerTemplate([out,retval] IXSLTemplate** ppTemplate); [id(DISPID_XMLDOM_PROCESSOR_SETSTARTMODE), helpstring("set XSL mode and it's namespace")] HRESULT setStartMode([in] BSTR mode, [in, defaultvalue("")] BSTR namespaceURI); [propget, id(DISPID_XMLDOM_PROCESSOR_STARTMODE), helpstring("starting XSL mode")] HRESULT startMode([out, retval] BSTR * mode); [propget, id(DISPID_XMLDOM_PROCESSOR_STARTMODEURI), helpstring("namespace of starting XSL mode")] HRESULT startModeURI([out, retval] BSTR * namespaceURI); [propput, id(DISPID_XMLDOM_PROCESSOR_OUTPUT), helpstring("custom stream object for transform output")] HRESULT output([in] VARIANT output); [propget, id(DISPID_XMLDOM_PROCESSOR_OUTPUT), helpstring("transform output")] HRESULT output([out, retval] VARIANT* pOutput); [id(DISPID_XMLDOM_PROCESSOR_TRANSFORM), helpstring("start/resume the XSL transformation process")] HRESULT transform([out,retval] VARIANT_BOOL* pDone); [id(DISPID_XMLDOM_PROCESSOR_RESET), helpstring("reset state of processor and abort current transform")] HRESULT reset(); [propget, id(DISPID_XMLDOM_PROCESSOR_READYSTATE), helpstring("current state of the processor")] HRESULT readyState([out, retval] long* pReadyState); [id(DISPID_XMLDOM_PROCESSOR_ADDPARAMETER), helpstring("set values")] HRESULT addParameter([in] BSTR baseName, [in] VARIANT parameter, [in, defaultvalue("")] BSTR namespaceURI); [id(DISPID_XMLDOM_PROCESSOR_ADDOBJECT), helpstring("pass object to stylesheet")] HRESULT addObject([in] IDispatch* obj, [in] BSTR namespaceURI); [propget, id(DISPID_XMLDOM_PROCESSOR_STYLESHEET), helpstring("current stylesheet being used")] HRESULT stylesheet([out,retval] IXMLDOMNode** stylesheet); }; [ local, object, uuid(2933BF93-7B36-11d2-B20E-00C04F983E60), // IID_IXSLTemplate odl, dual, oleautomation, nonextensible, helpstring("IXSLTemplate Interface"), pointer_default(unique) ] interface IXSLTemplate : IDispatch { [propputref, id(DISPID_XMLDOM_TEMPLATE_STYLESHEET), helpstring("stylesheet to use with processors")] HRESULT stylesheet([in] IXMLDOMNode* stylesheet); [propget, id(DISPID_XMLDOM_TEMPLATE_STYLESHEET), helpstring("stylesheet to use with processors")] HRESULT stylesheet([out, retval] IXMLDOMNode** stylesheet); [id(DISPID_XMLDOM_TEMPLATE_CREATEPROCESSOR), helpstring("create a new processor object")] HRESULT createProcessor([out, retval] IXSLProcessor** ppProcessor); }; [ local, object, uuid(310afa62-0575-11d2-9ca9-0060b0ec3d39), odl, dual, oleautomation, nonextensible, hidden, // Because that this is the default interface of coclass DSOControl helpstring("DSO Control"), pointer_default(unique) ] interface IDSOControl : IDispatch { [propget,id(DISPID_XMLDSO_DOCUMENT)] HRESULT XMLDocument([out, retval] IXMLDOMDocument** ppDoc); [propput,id(DISPID_XMLDSO_DOCUMENT)] HRESULT XMLDocument([in] IXMLDOMDocument* ppDoc); [propget,id(DISPID_XMLDSO_JAVADSOCOMPATIBLE)] HRESULT JavaDSOCompatible([out, retval] BOOL* fJavaDSOCompatible); [propput,id(DISPID_XMLDSO_JAVADSOCOMPATIBLE)] HRESULT JavaDSOCompatible([in] BOOL fJavaDSOCompatible); [propget, id(DISPID_READYSTATE)] HRESULT readyState([out, retval] long *state); }; [ object, uuid(ED8C108D-4349-11D2-91A4-00C04F7969E8), odl, dual, oleautomation, helpstring("IXMLHTTPRequest Interface"), pointer_default(unique) ] interface IXMLHTTPRequest : IDispatch { [id(1), helpstring("Open HTTP connection")] HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl, [in,optional] VARIANT varAsync, [in,optional] VARIANT bstrUser, [in,optional] VARIANT bstrPassword); [id(2), helpstring("Add HTTP request header")] HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue); [id(3), helpstring("Get HTTP response header")] HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR * pbstrValue); [id(4), helpstring("Get all HTTP response headers")] HRESULT getAllResponseHeaders([out, retval] BSTR * pbstrHeaders); [id(5), helpstring("Send HTTP request")] HRESULT send([in, optional] VARIANT varBody); [id(6), helpstring("Abort HTTP request")] HRESULT abort(); [propget, id(7), helpstring("Get HTTP status code")] HRESULT status([out, retval] long * plStatus); [propget, id(8), helpstring("Get HTTP status text")] HRESULT statusText([out, retval] BSTR * pbstrStatus); [propget, id(9), helpstring("Get response body")] HRESULT responseXML([out, retval] IDispatch ** ppBody); [propget, id(10), helpstring("Get response body")] HRESULT responseText([out, retval] BSTR * pbstrBody); [propget, id(11), helpstring("Get response body")] HRESULT responseBody([out, retval] VARIANT * pvarBody); [propget, id(12), helpstring("Get response body")] HRESULT responseStream([out, retval] VARIANT * pvarBody); [propget, id(13), helpstring("Get ready state")] HRESULT readyState([out, retval] long * plState); [propput, id(14), helpstring("Register a complete event handler")] HRESULT onreadystatechange([in] IDispatch * pReadyStateSink); }; typedef [ helpstring("Options for ServerXMLHTTPRequest Option property") ] enum _SERVERXMLHTTP_OPTION { SXH_OPTION_URL_CODEPAGE, SXH_OPTION_ESCAPE_PERCENT_IN_URL, SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, SXH_OPTION_SELECT_CLIENT_SSL_CERT } SERVERXMLHTTP_OPTION; typedef [ helpstring("Flags for SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS option") ] enum _SXH_SERVER_CERT_OPTION { SXH_SERVER_CERT_IGNORE_UNKNOWN_CA = 0x00000100, SXH_SERVER_CERT_IGNORE_WRONG_USAGE = 0x00000200, SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID = 0x00001000, SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID = 0x00002000, SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = (SXH_SERVER_CERT_IGNORE_UNKNOWN_CA + SXH_SERVER_CERT_IGNORE_WRONG_USAGE + SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID + SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID) } SXH_SERVER_CERT_OPTION; [ object, uuid(2e9196bf-13ba-4dd4-91ca-6c571f281495), odl, dual, oleautomation, helpstring("IServerXMLHTTPRequest Interface"), pointer_default(unique) ] interface IServerXMLHTTPRequest : IXMLHTTPRequest { [id(15), helpstring("Specify timeout settings (in milliseconds)")] HRESULT setTimeouts([in] long resolveTimeout, [in] long connectTimeout, [in] long sendTimeout, [in] long receiveTimeout); [id(16), helpstring("Wait for asynchronous send to complete, with optional timeout (in seconds)")] HRESULT waitForResponse([in, optional] VARIANT timeoutInSeconds, [out, retval] VARIANT_BOOL * isSuccessful); [id(17), helpstring("Get an option value")] HRESULT getOption([in] SERVERXMLHTTP_OPTION option, [out, retval] VARIANT * value); [id(18), helpstring("Set an option value")] HRESULT setOption([in] SERVERXMLHTTP_OPTION option, [in] VARIANT value); }; //+------------------------------------------------------------------------- // // SAX Non-Automatable Interfaces // //-------------------------------------------------------------------------- [ hidden, object, local, uuid(a4f96ed0-f829-476e-81c0-cdc7bd2a0802), // IID_ISAXXMLReader helpstring("ISAXXMLReader interface"), pointer_default(unique) ] interface ISAXXMLReader : IUnknown { HRESULT getFeature( [in] const wchar_t * pwchName, [out, retval] VARIANT_BOOL * pvfValue); HRESULT putFeature( [in] const wchar_t * pwchName, [in] VARIANT_BOOL vfValue); HRESULT getProperty( [in] const wchar_t * pwchName, [out, retval] VARIANT * pvarValue); HRESULT putProperty( [in] const wchar_t * pwchName, [in] VARIANT varValue); HRESULT getEntityResolver( [out, retval] ISAXEntityResolver ** ppResolver); HRESULT putEntityResolver( [in] ISAXEntityResolver * pResolver); HRESULT getContentHandler( [out, retval] ISAXContentHandler ** ppHandler); HRESULT putContentHandler( [in] ISAXContentHandler * pHandler); HRESULT getDTDHandler( [out, retval] ISAXDTDHandler ** ppHandler); HRESULT putDTDHandler( [in] ISAXDTDHandler * pHandler); HRESULT getErrorHandler( [out, retval] ISAXErrorHandler ** ppHandler); HRESULT putErrorHandler( [in] ISAXErrorHandler * pHandler); HRESULT getBaseURL( [out, retval] const wchar_t ** ppwchBaseUrl); HRESULT putBaseURL( [in] const wchar_t * pwchBaseUrl); HRESULT getSecureBaseURL( [out, retval] const wchar_t ** ppwchSecureBaseUrl); HRESULT putSecureBaseURL( [in] const wchar_t * pwchSecureBaseUrl); HRESULT parse( [in] VARIANT varInput); HRESULT parseURL( [in] const wchar_t * pwchUrl); }; [ hidden, object, local, uuid(70409222-ca09-4475-acb8-40312fe8d145), // IID_ISAXXMLFilter helpstring("ISAXXMLFilter interface"), pointer_default(unique) ] interface ISAXXMLFilter : ISAXXMLReader { HRESULT getParent( [out, retval] ISAXXMLReader ** ppReader); HRESULT putParent( [in] ISAXXMLReader * pReader); }; [ hidden, object, local, uuid(9b7e472a-0de4-4640-bff3-84d38a051c31), // IID_ISAXLocator helpstring("ISAXLocator interface"), pointer_default(unique) ] interface ISAXLocator : IUnknown { HRESULT getColumnNumber( [out, retval] int * pnColumn); HRESULT getLineNumber( [out, retval] int * pnLine); HRESULT getPublicId( [out, retval] const wchar_t ** ppwchPublicId); HRESULT getSystemId( [out, retval] const wchar_t ** ppwchSystemId); }; [ hidden, object, local, uuid(99bca7bd-e8c4-4d5f-a0cf-6d907901ff07), // IID_ISAXEntityResolver helpstring("ISAXEntityResolver interface"), pointer_default(unique) ] interface ISAXEntityResolver : IUnknown { HRESULT resolveEntity( [in] const wchar_t * pwchPublicId, [in] const wchar_t * pwchSystemId, [out, retval] VARIANT * pvarInput); }; [ hidden, object, local, uuid(1545cdfa-9e4e-4497-a8a4-2bf7d0112c44), // IID_ISAXContentHandler helpstring("ISAXContentHandler interface"), pointer_default(unique) ] interface ISAXContentHandler : IUnknown { HRESULT putDocumentLocator( [in] ISAXLocator * pLocator); HRESULT startDocument(); HRESULT endDocument(); HRESULT startPrefixMapping( [in] const wchar_t * pwchPrefix, [in] int cchPrefix, [in] const wchar_t * pwchUri, [in] int cchUri); HRESULT endPrefixMapping( [in] const wchar_t * pwchPrefix, [in] int cchPrefix); HRESULT startElement( [in] const wchar_t * pwchNamespaceUri, [in] int cchNamespaceUri, [in] const wchar_t * pwchLocalName, [in] int cchLocalName, [in] const wchar_t * pwchQName, [in] int cchQName, [in] ISAXAttributes * pAttributes); HRESULT endElement( [in] const wchar_t * pwchNamespaceUri, [in] int cchNamespaceUri, [in] const wchar_t * pwchLocalName, [in] int cchLocalName, [in] const wchar_t * pwchQName, [in] int cchQName); HRESULT characters( [in] const wchar_t * pwchChars, [in] int cchChars); HRESULT ignorableWhitespace( [in] const wchar_t * pwchChars, [in] int cchChars); HRESULT processingInstruction( [in] const wchar_t * pwchTarget, [in] int cchTarget, [in] const wchar_t * pwchData, [in] int cchData); HRESULT skippedEntity( [in] const wchar_t * pwchName, [in] int cchName); }; [ hidden, object, local, uuid(e15c1baf-afb3-4d60-8c36-19a8c45defed), // IID_ISAXDTDHandler helpstring("ISAXDTDHandler interface"), pointer_default(unique) ] interface ISAXDTDHandler : IUnknown { HRESULT notationDecl( [in] const wchar_t * pwchName, [in] int cchName, [in] const wchar_t * pwchPublicId, [in] int cchPublicId, [in] const wchar_t * pwchSystemId, [in] int cchSystemId); HRESULT unparsedEntityDecl( [in] const wchar_t * pwchName, [in] int cchName, [in] const wchar_t * pwchPublicId, [in] int cchPublicId, [in] const wchar_t * pwchSystemId, [in] int cchSystemId, [in] const wchar_t * pwchNotationName, [in] int cchNotationName); }; [ hidden, object, local, uuid(a60511c4-ccf5-479e-98a3-dc8dc545b7d0), // IID_ISAXErrorHandler helpstring("ISAXErrorHandler interface"), pointer_default(unique) ] interface ISAXErrorHandler : IUnknown { HRESULT error( [in] ISAXLocator * pLocator, [in] const wchar_t * pwchErrorMessage, [in] HRESULT hrErrorCode); HRESULT fatalError( [in] ISAXLocator * pLocator, [in] const wchar_t * pwchErrorMessage, [in] HRESULT hrErrorCode); HRESULT ignorableWarning( [in] ISAXLocator * pLocator, [in] const wchar_t * pwchErrorMessage, [in] HRESULT hrErrorCode); }; [ hidden, object, local, uuid(7f85d5f5-47a8-4497-bda5-84ba04819ea6), // IID_ISAXLexicalHandler helpstring("ISAXLexicalHandler interface"), pointer_default(unique) ] interface ISAXLexicalHandler : IUnknown { HRESULT startDTD( [in] const wchar_t * pwchName, [in] int cchName, [in] const wchar_t * pwchPublicId, [in] int cchPublicId, [in] const wchar_t * pwchSystemId, [in] int cchSystemId); HRESULT endDTD(); HRESULT startEntity( [in] const wchar_t * pwchName, [in] int cchName); HRESULT endEntity( [in] const wchar_t * pwchName, [in] int cchName); HRESULT startCDATA(); HRESULT endCDATA(); HRESULT comment( [in] const wchar_t * pwchChars, [in] int cchChars); }; [ hidden, object, local, uuid(862629ac-771a-47b2-8337-4e6843c1be90), // IID_ISAXDeclHandler helpstring("ISAXDeclHandler interface"), pointer_default(unique) ] interface ISAXDeclHandler : IUnknown { HRESULT elementDecl( [in] const wchar_t * pwchName, [in] int cchName, [in] const wchar_t * pwchModel, [in] int cchModel); HRESULT attributeDecl( [in] const wchar_t * pwchElementName, [in] int cchElementName, [in] const wchar_t * pwchAttributeName, [in] int cchAttributeName, [in] const wchar_t * pwchType, [in] int cchType, [in] const wchar_t * pwchValueDefault, [in] int cchValueDefault, [in] const wchar_t * pwchValue, [in] int cchValue); HRESULT internalEntityDecl( [in] const wchar_t * pwchName, [in] int cchName, [in] const wchar_t * pwchValue, [in] int cchValue); HRESULT externalEntityDecl( [in] const wchar_t * pwchName, [in] int cchName, [in] const wchar_t * pwchPublicId, [in] int cchPublicId, [in] const wchar_t * pwchSystemId, [in] int cchSystemId); }; [ hidden, object, local, uuid(f078abe1-45d2-4832-91ea-4466ce2f25c9), // IID_ISAXAttributes helpstring("ISAXAttributes interface"), pointer_default(unique) ] interface ISAXAttributes : IUnknown { HRESULT getLength( [out, retval] int * pnLength); HRESULT getURI( [in] int nIndex, [out] const wchar_t ** ppwchUri, [out] int * pcchUri); HRESULT getLocalName( [in] int nIndex, [out] const wchar_t ** ppwchLocalName, [out] int * pcchLocalName); HRESULT getQName( [in] int nIndex, [out] const wchar_t ** ppwchQName, [out] int * pcchQName); HRESULT getName( [in] int nIndex, [out] const wchar_t ** ppwchUri, [out] int * pcchUri, [out] const wchar_t ** ppwchLocalName, [out] int * pcchLocalName, [out] const wchar_t ** ppwchQName, [out] int * pcchQName); HRESULT getIndexFromName( [in] const wchar_t * pwchUri, [in] int cchUri, [in] const wchar_t * pwchLocalName, [in] int cchLocalName, [out, retval] int * pnIndex); HRESULT getIndexFromQName( [in] const wchar_t * pwchQName, [in] int cchQName, [out, retval] int * pnIndex); HRESULT getType( [in] int nIndex, [out] const wchar_t ** ppwchType, [out] int * pcchType); HRESULT getTypeFromName( [in] const wchar_t * pwchUri, [in] int cchUri, [in] const wchar_t * pwchLocalName, [in] int cchLocalName, [out] const wchar_t ** ppwchType, [out] int * pcchType); HRESULT getTypeFromQName( [in] const wchar_t * pwchQName, [in] int cchQName, [out] const wchar_t ** ppwchType, [out] int * pcchType); HRESULT getValue( [in] int nIndex, [out] const wchar_t ** ppwchValue, [out] int * pcchValue); HRESULT getValueFromName( [in] const wchar_t * pwchUri, [in] int cchUri, [in] const wchar_t * pwchLocalName, [in] int cchLocalName, [out] const wchar_t ** ppwchValue, [out] int * pcchValue); HRESULT getValueFromQName( [in] const wchar_t * pwchQName, [in] int cchQName, [out] const wchar_t ** ppwchValue, [out] int * pcchValue); }; //+------------------------------------------------------------------------- // // SAX Automatable Interfaces // //-------------------------------------------------------------------------- [ object, local, odl, dual, oleautomation, nonextensible, uuid(8c033caa-6cd6-4f73-b728-4531af74945f), // IID_IVBSAXXMLReader helpstring("IVBSAXXMLReader interface"), pointer_default(unique) ] interface IVBSAXXMLReader : IDispatch { [id(DISPID_SAX_XMLREADER_GETFEATURE), helpstring("Look up the value of a feature.")] HRESULT getFeature( [in] BSTR strName, [out, retval] VARIANT_BOOL * fValue); [id(DISPID_SAX_XMLREADER_PUTFEATURE), helpstring("Set the state of a feature.")] HRESULT putFeature( [in] BSTR strName, [in] VARIANT_BOOL fValue); [id(DISPID_SAX_XMLREADER_GETPROPERTY), helpstring("Look up the value of a property.")] HRESULT getProperty( [in] BSTR strName, [out, retval] VARIANT * varValue); [id(DISPID_SAX_XMLREADER_PUTPROPERTY), helpstring("Set the value of a property.")] HRESULT putProperty( [in] BSTR strName, [in] VARIANT varValue); [propget, id(DISPID_SAX_XMLREADER_ENTITYRESOLVER), helpstring("Allow an application to register an entity resolver or look up the current entity resolver.")] HRESULT entityResolver( [out, retval] IVBSAXEntityResolver ** oResolver); [propputref, id(DISPID_SAX_XMLREADER_ENTITYRESOLVER), helpstring("Allow an application to register an entity resolver or look up the current entity resolver.")] HRESULT entityResolver( [in] IVBSAXEntityResolver * oResolver); [propget, id(DISPID_SAX_XMLREADER_CONTENTHANDLER), helpstring("Allow an application to register a content event handler or look up the current content event handler.")] HRESULT contentHandler( [out, retval] IVBSAXContentHandler ** oHandler); [propputref, id(DISPID_SAX_XMLREADER_CONTENTHANDLER), helpstring("Allow an application to register a content event handler or look up the current content event handler")] HRESULT contentHandler( [in] IVBSAXContentHandler * oHandler); [propget, id(DISPID_SAX_XMLREADER_DTDHANDLER), helpstring("Allow an application to register a DTD event handler or look up the current DTD event handler.")] HRESULT dtdHandler( [out, retval] IVBSAXDTDHandler ** oHandler); [propputref, id(DISPID_SAX_XMLREADER_DTDHANDLER), helpstring("Allow an application to register a DTD event handler or look up the current DTD event handler.")] HRESULT dtdHandler( [in] IVBSAXDTDHandler * oHandler); [propget, id(DISPID_SAX_XMLREADER_ERRORHANDLER), helpstring("Allow an application to register an error event handler or look up the current error event handler.")] HRESULT errorHandler( [out, retval] IVBSAXErrorHandler ** oHandler); [propputref, id(DISPID_SAX_XMLREADER_ERRORHANDLER), helpstring("Allow an application to register an error event handler or look up the current error event handler.")] HRESULT errorHandler( [in] IVBSAXErrorHandler * oHandler); [propget, id(DISPID_SAX_XMLREADER_BASEURL), helpstring("Set or get the base URL for the document.")] HRESULT baseURL( [out, retval] BSTR * strBaseURL); [propput, id(DISPID_SAX_XMLREADER_BASEURL), helpstring("Set or get the base URL for the document.")] HRESULT baseURL( [in] BSTR strBaseURL); [propget, id(DISPID_SAX_XMLREADER_SECUREBASEURL), helpstring("Set or get the secure base URL for the document.")] HRESULT secureBaseURL( [out, retval] BSTR * strSecureBaseURL); [propput, id(DISPID_SAX_XMLREADER_SECUREBASEURL), helpstring("Set or get the secure base URL for the document.")] HRESULT secureBaseURL( [in] BSTR strSecureBaseURL); [id(DISPID_SAX_XMLREADER_PARSE), helpstring("Parse an XML document.")] HRESULT parse( [in] VARIANT varInput); [id(DISPID_SAX_XMLREADER_PARSEURL), helpstring("Parse an XML document from a system identifier (URI).")] HRESULT parseURL( [in] BSTR strURL); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(1299eb1b-5b88-433e-82de-82ca75ad4e04), // IID_IVBSAXXMLFilter helpstring("IVBSAXXMLFilter interface"), pointer_default(unique) ] interface IVBSAXXMLFilter : IDispatch { [propget, id(DISPID_SAX_XMLFILTER_PARENT), helpstring("Set or get the parent reader")] HRESULT parent( [out, retval] IVBSAXXMLReader ** oReader); [propputref, id(DISPID_SAX_XMLFILTER_PARENT), helpstring("Set or get the parent reader")] HRESULT parent( [in] IVBSAXXMLReader * oReader); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(796e7ac5-5aa2-4eff-acad-3faaf01a3288), // IID_IVBSAXLocator helpstring("IVBSAXLocator interface"), pointer_default(unique) ] interface IVBSAXLocator : IDispatch { [propget, id(DISPID_SAX_LOCATOR_COLUMNNUMBER), helpstring("Get the column number where the current document event ends.")] HRESULT columnNumber( [out, retval] int * nColumn); [propget, id(DISPID_SAX_LOCATOR_LINENUMBER), helpstring("Get the line number where the current document event ends.")] HRESULT lineNumber( [out, retval] int * nLine); [propget, id(DISPID_SAX_LOCATOR_PUBLICID), helpstring("Get the public identifier for the current document event.")] HRESULT publicId( [out, retval] BSTR * strPublicId); [propget, id(DISPID_SAX_LOCATOR_SYSTEMID), helpstring("Get the system identifier for the current document event.")] HRESULT systemId( [out, retval] BSTR * strSystemId); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(0c05d096-f45b-4aca-ad1a-aa0bc25518dc), // IID_IVBSAXEntityResolver helpstring("IVBSAXEntityResolver interface"), pointer_default(unique) ] interface IVBSAXEntityResolver : IDispatch { [id(DISPID_SAX_ENTITYRESOLVER_RESOLVEENTITY), helpstring("Allow the application to resolve external entities.")] HRESULT resolveEntity( [in, out] BSTR * strPublicId, [in, out] BSTR * strSystemId, [out, retval] VARIANT * varInput); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(2ed7290a-4dd5-4b46-bb26-4e4155e77faa), // IID_IVBSAXContentHandler helpstring("IVBSAXContentHandler interface"), pointer_default(unique) ] interface IVBSAXContentHandler : IDispatch { [propputref, id(DISPID_SAX_CONTENTHANDLER_DOCUMENTLOCATOR), helpstring("Receive an object for locating the origin of SAX document events.")] HRESULT documentLocator( [in] IVBSAXLocator * oLocator); [id(DISPID_SAX_CONTENTHANDLER_STARTDOCUMENT), helpstring("Receive notification of the beginning of a document.")] HRESULT startDocument(); [id(DISPID_SAX_CONTENTHANDLER_ENDDOCUMENT), helpstring("Receive notification of the end of a document.")] HRESULT endDocument(); [id(DISPID_SAX_CONTENTHANDLER_STARTPREFIXMAPPING), helpstring("Begin the scope of a prefix-URI Namespace mapping.")] HRESULT startPrefixMapping( [in, out] BSTR * strPrefix, [in, out] BSTR * strURI); [id(DISPID_SAX_CONTENTHANDLER_ENDPREFIXMAPPING), helpstring("End the scope of a prefix-URI mapping.")] HRESULT endPrefixMapping( [in, out] BSTR * strPrefix); [id(DISPID_SAX_CONTENTHANDLER_STARTELEMENT), helpstring("Receive notification of the beginning of an element.")] HRESULT startElement( [in, out] BSTR * strNamespaceURI, [in, out] BSTR * strLocalName, [in, out] BSTR * strQName, [in] IVBSAXAttributes * oAttributes); [id(DISPID_SAX_CONTENTHANDLER_ENDELEMENT), helpstring("Receive notification of the end of an element.")] HRESULT endElement( [in, out] BSTR * strNamespaceURI, [in, out] BSTR * strLocalName, [in, out] BSTR * strQName); [id(DISPID_SAX_CONTENTHANDLER_CHARACTERS), helpstring("Receive notification of character data.")] HRESULT characters( [in, out] BSTR * strChars); [id(DISPID_SAX_CONTENTHANDLER_IGNORABLEWHITESPACE), helpstring("Receive notification of ignorable whitespace in element content.")] HRESULT ignorableWhitespace( [in, out] BSTR * strChars); [id(DISPID_SAX_CONTENTHANDLER_PROCESSINGINSTRUCTION), helpstring("Receive notification of a processing instruction.")] HRESULT processingInstruction( [in, out] BSTR * strTarget, [in, out] BSTR * strData); [id(DISPID_SAX_CONTENTHANDLER_SKIPPEDENTITY), helpstring("Receive notification of a skipped entity.")] HRESULT skippedEntity( [in, out] BSTR * strName); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(24fb3297-302d-4620-ba39-3a732d850558), // IID_IVBSAXDTDHandler helpstring("IVBSAXDTDHandler interface"), pointer_default(unique) ] interface IVBSAXDTDHandler : IDispatch { [id(DISPID_SAX_DTDHANDLER_NOTATIONDECL), helpstring("Receive notification of a notation declaration event.")] HRESULT notationDecl( [in, out] BSTR * strName, [in, out] BSTR * strPublicId, [in, out] BSTR * strSystemId); [id(DISPID_SAX_DTDHANDLER_UNPARSEDENTITYDECL), helpstring("Receive notification of an unparsed entity declaration event.")] HRESULT unparsedEntityDecl( [in, out] BSTR * strName, [in, out] BSTR * strPublicId, [in, out] BSTR * strSystemId, [in, out] BSTR * strNotationName); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(d963d3fe-173c-4862-9095-b92f66995f52), // IID_IVBSAXErrorHandler helpstring("IVBSAXErrorHandler interface"), pointer_default(unique) ] interface IVBSAXErrorHandler : IDispatch { [id(DISPID_SAX_ERRORHANDLER_ERROR), helpstring("Receive notification of a recoverable error.")] HRESULT error( [in] IVBSAXLocator * oLocator, [in, out] BSTR * strErrorMessage, [in] long nErrorCode); [id(DISPID_SAX_ERRORHANDLER_FATALERROR), helpstring("Receive notification of a non-recoverable error.")] HRESULT fatalError( [in] IVBSAXLocator * oLocator, [in, out] BSTR * strErrorMessage, [in] long nErrorCode); [id(DISPID_SAX_ERRORHANDLER_IGNORABLEWARNING), helpstring("Receive notification of an ignorable warning.")] HRESULT ignorableWarning( [in] IVBSAXLocator * oLocator, [in, out] BSTR * strErrorMessage, [in] long nErrorCode); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(032aac35-8c0e-4d9d-979f-e3b702935576), // IID_IVBSAXLexicalHandler helpstring("IVBSAXLexicalHandler interface"), pointer_default(unique) ] interface IVBSAXLexicalHandler : IDispatch { [id(DISPID_SAX_LEXICALHANDLER_STARTDTD), helpstring("Report the start of DTD declarations, if any.")] HRESULT startDTD( [in, out] BSTR * strName, [in, out] BSTR * strPublicId, [in, out] BSTR * strSystemId); [id(DISPID_SAX_LEXICALHANDLER_ENDDTD), helpstring("Report the end of DTD declarations.")] HRESULT endDTD(); [id(DISPID_SAX_LEXICALHANDLER_STARTENTITY), helpstring("Report the beginning of some internal and external XML entities.")] HRESULT startEntity( [in, out] BSTR * strName); [id(DISPID_SAX_LEXICALHANDLER_ENDENTITY), helpstring("Report the end of an entity.")] HRESULT endEntity( [in, out] BSTR * strName); [id(DISPID_SAX_LEXICALHANDLER_STARTCDATA), helpstring("Report the start of a CDATA section.")] HRESULT startCDATA(); [id(DISPID_SAX_LEXICALHANDLER_ENDCDATA), helpstring("Report the end of a CDATA section.")] HRESULT endCDATA(); [id(DISPID_SAX_LEXICALHANDLER_COMMENT), helpstring("Report an XML comment anywhere in the document.")] HRESULT comment( [in, out] BSTR * strChars); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(e8917260-7579-4be1-b5dd-7afbfa6f077b), // IID_IVBSAXDeclHandler helpstring("IVBSAXDeclHandler interface"), pointer_default(unique) ] interface IVBSAXDeclHandler : IDispatch { [id(DISPID_SAX_DECLHANDLER_ELEMENTDECL), helpstring("Report an element type declaration.")] HRESULT elementDecl( [in, out] BSTR * strName, [in, out] BSTR * strModel); [id(DISPID_SAX_DECLHANDLER_ATTRIBUTEDECL), helpstring("Report an attribute type declaration.")] HRESULT attributeDecl( [in, out] BSTR * strElementName, [in, out] BSTR * strAttributeName, [in, out] BSTR * strType, [in, out] BSTR * strValueDefault, [in, out] BSTR * strValue); [id(DISPID_SAX_DECLHANDLER_INTERNALENTITYDECL), helpstring("Report an internal entity declaration.")] HRESULT internalEntityDecl( [in, out] BSTR * strName, [in, out] BSTR * strValue); [id(DISPID_SAX_DECLHANDLER_EXTERNALENTITYDECL), helpstring("Report a parsed external entity declaration.")] HRESULT externalEntityDecl( [in, out] BSTR * strName, [in, out] BSTR * strPublicId, [in, out] BSTR * strSystemId); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(10dc0586-132b-4cac-8bb3-db00ac8b7ee0), // IID_IVBSAXAttributes helpstring("IVBSAXAttributes interface"), pointer_default(unique) ] interface IVBSAXAttributes : IDispatch { [propget, id(DISPID_SAX_ATTRIBUTES_LENGTH), helpstring("Get the number of attributes in the list.")] HRESULT length( [out, retval] int * nLength); [id(DISPID_SAX_ATTRIBUTES_GETURI), helpstring("Look up an attribute's Namespace URI by index.")] HRESULT getURI( [in] int nIndex, [out, retval] BSTR * strURI); [id(DISPID_SAX_ATTRIBUTES_GETLOCALNAME), helpstring("Look up an attribute's local name by index.")] HRESULT getLocalName( [in] int nIndex, [out, retval] BSTR * strLocalName); [id(DISPID_SAX_ATTRIBUTES_GETQNAME), helpstring("Look up an attribute's XML 1.0 qualified name by index.")] HRESULT getQName( [in] int nIndex, [out, retval] BSTR * strQName); [id(DISPID_SAX_ATTRIBUTES_GETINDEXFROMNAME), helpstring("Look up the index of an attribute by Namespace name.")] HRESULT getIndexFromName( [in] BSTR strURI, [in] BSTR strLocalName, [out, retval] int * nIndex); [id(DISPID_SAX_ATTRIBUTES_GETINDEXFROMQNAME), helpstring("Look up the index of an attribute by XML 1.0 qualified name.")] HRESULT getIndexFromQName( [in] BSTR strQName, [out, retval] int * nIndex); [id(DISPID_SAX_ATTRIBUTES_GETTYPE), helpstring("Look up an attribute's type by index.")] HRESULT getType( [in] int nIndex, [out, retval] BSTR * strType); [id(DISPID_SAX_ATTRIBUTES_GETTYPEFROMNAME), helpstring("Look up an attribute's type by Namespace name.")] HRESULT getTypeFromName( [in] BSTR strURI, [in] BSTR strLocalName, [out, retval] BSTR * strType); [id(DISPID_SAX_ATTRIBUTES_GETTYPEFROMQNAME), helpstring("Look up an attribute's type by XML 1.0 qualified name.")] HRESULT getTypeFromQName( [in] BSTR strQName, [out, retval] BSTR * strType); [id(DISPID_SAX_ATTRIBUTES_GETVALUE), helpstring("Look up an attribute's value by index.")] HRESULT getValue( [in] int nIndex, [out, retval] BSTR * strValue); [id(DISPID_SAX_ATTRIBUTES_GETVALUEFROMNAME), helpstring("Look up an attribute's value by Namespace name.")] HRESULT getValueFromName( [in] BSTR strURI, [in] BSTR strLocalName, [out, retval] BSTR * strValue); [id(DISPID_SAX_ATTRIBUTES_GETVALUEFROMQNAME), helpstring("Look up an attribute's value by XML 1.0 qualified name.")] HRESULT getValueFromQName( [in] BSTR strQName, [out, retval] BSTR * strValue); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(4d7ff4ba-1565-4ea8-94e1-6e724a46f98d), // IID_IMXWriter helpstring("IMXWriter interface"), pointer_default(unique) ] interface IMXWriter : IDispatch { [propput, id(DISPID_MX_WRITER_OUTPUT), helpstring("Set or get the output.")] HRESULT output ( [in] VARIANT varDestination); [propget, id(DISPID_MX_WRITER_OUTPUT), helpstring("Set or get the output.")] HRESULT output ( [out, retval] VARIANT * varDestination); [propput, id(DISPID_MX_WRITER_ENCODING), helpstring("Set or get the output encoding.")] HRESULT encoding ( [in] BSTR strEncoding); [propget, id(DISPID_MX_WRITER_ENCODING), helpstring("Set or get the output encoding.")] HRESULT encoding ( [out, retval] BSTR * strEncoding); [propput, id(DISPID_MX_WRITER_BYTEORDERMARK), helpstring("Determine whether or not to write the byte order mark")] HRESULT byteOrderMark ( [in] VARIANT_BOOL fWriteByteOrderMark); [propget, id(DISPID_MX_WRITER_BYTEORDERMARK), helpstring("Determine whether or not to write the byte order mark")] HRESULT byteOrderMark ( [out, retval] VARIANT_BOOL * fWriteByteOrderMark); [propput, id(DISPID_MX_WRITER_INDENT), helpstring("Enable or disable auto indent mode.")] HRESULT indent ( [in] VARIANT_BOOL fIndentMode); [propget, id(DISPID_MX_WRITER_INDENT), helpstring("Enable or disable auto indent mode.")] HRESULT indent ( [out, retval] VARIANT_BOOL * fIndentMode); [propput, id(DISPID_MX_WRITER_STANDALONE), helpstring("Set or get the standalone document declaration.")] HRESULT standalone ( [in] VARIANT_BOOL fValue); [propget, id(DISPID_MX_WRITER_STANDALONE), helpstring("Set or get the standalone document declaration.")] HRESULT standalone ( [out, retval] VARIANT_BOOL * fValue); [propput, id(DISPID_MX_WRITER_OMITXMLDECLARATION), helpstring("Determine whether or not to omit the XML declaration.")] HRESULT omitXMLDeclaration ( [in] VARIANT_BOOL fValue); [propget, id(DISPID_MX_WRITER_OMITXMLDECLARATION), helpstring("Determine whether or not to omit the XML declaration.")] HRESULT omitXMLDeclaration ( [out, retval] VARIANT_BOOL * fValue); [propput, id(DISPID_MX_WRITER_VERSION), helpstring("Set or get the xml version info.")] HRESULT version ( [in] BSTR strVersion); [propget, id(DISPID_MX_WRITER_VERSION), helpstring("Set or get the xml version info.")] HRESULT version ( [out, retval] BSTR * strVersion); [propput, id(DISPID_MX_WRITER_DISABLEOUTPUTESCAPING), helpstring("When enabled, the writer no longer escapes out its input when writing it out.")] HRESULT disableOutputEscaping( [in] VARIANT_BOOL fValue); [propget, id(DISPID_MX_WRITER_DISABLEOUTPUTESCAPING), helpstring("When enabled, the writer no longer escapes out its input when writing it out.")] HRESULT disableOutputEscaping( [out, retval] VARIANT_BOOL * fValue); [id(DISPID_MX_WRITER_FLUSH), helpstring("Flushes all writer buffers forcing the writer to write to the underlying output object")] HRESULT flush(); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(f10d27cc-3ec0-415c-8ed8-77ab1c5e7262), // IID_IMXAttributes helpstring("IMXAttributes interface"), pointer_default(unique) ] interface IMXAttributes : IDispatch { [id(DISPID_MX_ATTRIBUTES_ADDATTRIBUTE), helpstring("Add an attribute to the end of the list.")] HRESULT addAttribute( [in] BSTR strURI, [in] BSTR strLocalName, [in] BSTR strQName, [in] BSTR strType, [in] BSTR strValue); [id(DISPID_MX_ATTRIBUTES_ADDATTRIBUTEFROMINDEX), helpstring("Add an attribute, whose value is equal to the indexed attribute in the input attributes object, to the end of the list.")] HRESULT addAttributeFromIndex( [in] VARIANT varAtts, [in] int nIndex); [id(DISPID_MX_ATTRIBUTES_CLEAR), helpstring("Clear the attribute list for reuse.")] HRESULT clear(); [id(DISPID_MX_ATTRIBUTES_REMOVEATTRIBUTE), helpstring("Remove an attribute from the list.")] HRESULT removeAttribute( [in] int nIndex); [id(DISPID_MX_ATTRIBUTES_SETATTRIBUTE), helpstring("Set an attribute in the list.")] HRESULT setAttribute( [in] int nIndex, [in] BSTR strURI, [in] BSTR strLocalName, [in] BSTR strQName, [in] BSTR strType, [in] BSTR strValue); [id(DISPID_MX_ATTRIBUTES_SETATTRIBUTES), helpstring("Copy an entire Attributes object.")] HRESULT setAttributes( [in] VARIANT varAtts); [id(DISPID_MX_ATTRIBUTES_SETLOCALNAME), helpstring("Set the local name of a specific attribute.")] HRESULT setLocalName( [in] int nIndex, [in] BSTR strLocalName); [id(DISPID_MX_ATTRIBUTES_SETQNAME), helpstring("Set the qualified name of a specific attribute.")] HRESULT setQName( [in] int nIndex, [in] BSTR strQName); [id(DISPID_MX_ATTRIBUTES_SETTYPE), helpstring("Set the type of a specific attribute.")] HRESULT setType( [in] int nIndex, [in] BSTR strType); [id(DISPID_MX_ATTRIBUTES_SETURI), helpstring("Set the Namespace URI of a specific attribute.")] HRESULT setURI( [in] int nIndex, [in] BSTR strURI); [id(DISPID_MX_ATTRIBUTES_SETVALUE), helpstring("Set the value of a specific attribute.")] HRESULT setValue( [in] int nIndex, [in] BSTR strValue); }; [ object, local, odl, dual, oleautomation, nonextensible, uuid(808f4e35-8d5a-4fbe-8466-33a41279ed30), // IID_IMXReaderControl helpstring("IMXReaderControl interface"), pointer_default(unique) ] interface IMXReaderControl : IDispatch { [id(DISPID_MX_READER_CONTROL_ABORT), helpstring("Abort the reader")] HRESULT abort(); [id(DISPID_MX_READER_CONTROL_RESUME), helpstring("Resume the reader")] HRESULT resume(); [id(DISPID_MX_READER_CONTROL_SUSPEND), helpstring("Suspend the reader")] HRESULT suspend(); }; //+------------------------------------------------------------------------- // // IE4 Interfaces // //-------------------------------------------------------------------------- #ifndef IMPORTED_MSXML [ local, object, uuid(65725580-9B5D-11d0-9BFE-00C04FC99C8E), // IID_IXMLElementCollection odl, dual, oleautomation, hidden, // replaced by IDOMNodeList helpstring("IXMLElementCollection helps to enumerate through a XML document tree.") ] interface IXMLElementCollection : IDispatch { [propput, restricted, hidden, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)] HRESULT length([in] long v); [propget, id(DISPID_XMLELEMENTCOLLECTION_LENGTH), helpstring("get number of elements in this IXMLElementCollection.")] HRESULT length([retval, out] long * p); [propget, restricted, hidden, id(DISPID_XMLELEMENTCOLLECTION_NEWENUM)] HRESULT _newEnum([retval, out] IUnknown ** ppUnk); [id(DISPID_XMLELEMENTCOLLECTION_ITEM), helpstring("get current item, or (optional) by index and name.")] HRESULT item([optional, in] VARIANT var1,[optional, in] VARIANT var2,[retval, out] IDispatch ** ppDisp); }; [ local, object, uuid(F52E2B61-18A1-11d1-B105-00805F49916B), // IID_IXMLDocument odl, dual, oleautomation, hidden, // replaced by IDOMDocument helpstring("IXMLDocument loads and saves XML document. This is obsolete. You should use IDOMDocument or IXMLDOMDocument.") ] interface IXMLDocument : IDispatch { [propget, id(DISPID_XMLDOCUMENT_ROOT), helpstring("get root IXMLElement of the XML document.")] HRESULT root ([retval, out] IXMLElement * * p); [propget, restricted, hidden, id(DISPID_XMLDOCUMENT_FILESIZE)] HRESULT fileSize([retval, out] BSTR * p); [propget, restricted, hidden, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)] HRESULT fileModifiedDate([retval, out] BSTR * p); [propget, restricted, hidden, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)] HRESULT fileUpdatedDate([retval, out] BSTR * p); [propget, id(DISPID_XMLDOCUMENT_URL), helpstring("set URL to load an XML document from the URL.")] HRESULT URL([retval, out] BSTR * p); [propput, id(DISPID_XMLDOCUMENT_URL), helpstring("get url.")] HRESULT URL([in] BSTR p); [propget, restricted, hidden, id(DISPID_XMLDOCUMENT_MIMETYPE)] HRESULT mimeType([retval, out] BSTR * p); [propget, id(DISPID_XMLDOCUMENT_READYSTATE), helpstring("get ready state.")] HRESULT readyState([retval, out]long *pl); [propget, id(DISPID_XMLDOCUMENT_CHARSET), helpstring("get encoding.")] HRESULT charset([retval, out]BSTR *p); [propput, id(DISPID_XMLDOCUMENT_CHARSET), helpstring("set encoding.")] HRESULT charset([in]BSTR p); [propget, id(DISPID_XMLDOCUMENT_VERSION), helpstring("get XML version number.")] HRESULT version([retval, out]BSTR *p); [propget, id(DISPID_XMLDOCUMENT_DOCTYPE), helpstring("get document type.")] HRESULT doctype([retval, out]BSTR *p); [propget, restricted, hidden, id(DISPID_XMLDOCUMENT_DTDURL)] HRESULT dtdURL([retval, out]BSTR *p); [id(DISPID_XMLDOCUMENT_CREATEELEMENT), helpstring("create different types of IXMLElements.")] HRESULT createElement([in] VARIANT vType, [optional, in] VARIANT var1, [retval, out] IXMLElement * * ppElem); }; #endif [ local, object, uuid(2B8DE2FE-8D2D-11d1-B2FC-00C04FD915A9), // IID_IXMLDocument2 hidden // Because that this interface is the default interface of coclass XMLDocument ] interface IXMLDocument2 : IDispatch { [propget, id(DISPID_XMLDOCUMENT_ROOT), helpstring("get root IXMLElement of the XML document.")] HRESULT root ([retval, out] IXMLElement2 * * p); [propget, restricted, hidden, id(DISPID_XMLDOCUMENT_FILESIZE)] HRESULT fileSize([retval, out] BSTR * p); [propget, restricted, hidden, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)] HRESULT fileModifiedDate([retval, out] BSTR * p); [propget, restricted, hidden, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)] HRESULT fileUpdatedDate([retval, out] BSTR * p); [propget, id(DISPID_XMLDOCUMENT_URL), helpstring("set URL to load an XML document from the URL.")] HRESULT URL([retval, out] BSTR * p); [propput, id(DISPID_XMLDOCUMENT_URL), helpstring("get url.")] HRESULT URL([in] BSTR p); [propget, restricted, hidden, id(DISPID_XMLDOCUMENT_MIMETYPE)] HRESULT mimeType([retval, out] BSTR * p); [propget, id(DISPID_XMLDOCUMENT_READYSTATE), helpstring("get ready state.")] HRESULT readyState([retval, out]long *pl); [propget, id(DISPID_XMLDOCUMENT_CHARSET), helpstring("get encoding.")] HRESULT charset([retval, out]BSTR *p); [propput, id(DISPID_XMLDOCUMENT_CHARSET), helpstring("set encoding.")] HRESULT charset([in]BSTR p); [propget, id(DISPID_XMLDOCUMENT_VERSION), helpstring("get XML version number.")] HRESULT version([retval, out]BSTR *p); [propget, id(DISPID_XMLDOCUMENT_DOCTYPE), helpstring("get document type.")] HRESULT doctype([retval, out]BSTR *p); [propget, restricted, hidden, id(DISPID_XMLDOCUMENT_DTDURL)] HRESULT dtdURL([retval, out]BSTR *p); [id(DISPID_XMLDOCUMENT_CREATEELEMENT), helpstring("create different types of IXMLElements.")] HRESULT createElement([in] VARIANT vType, [optional, in] VARIANT var1, [retval, out] IXMLElement2 * * ppElem); [propget, id(DISPID_XMLDOCUMENT_ASYNC), helpstring("get asynchronous loading flag.")] HRESULT async([retval, out] VARIANT_BOOL * pf); [propput, id(DISPID_XMLDOCUMENT_ASYNC), helpstring("set flag to turn on/off asynchronous loading.")] HRESULT async([in] VARIANT_BOOL f); }; #ifndef IMPORTED_MSXML [ local, object, uuid(3F7F31AC-E15F-11d0-9C25-00C04FC99C8E), // IID_IXMLElement odl, dual, oleautomation, hidden, // replaced by IDOMNode helpstring("IXMLElement represents an element in the XML document tree.") ] interface IXMLElement : IDispatch { [propget, id(DISPID_XMLELEMENT_TAGNAME), helpstring("get tag name.")] HRESULT tagName([retval, out] BSTR * p); [propput, id(DISPID_XMLELEMENT_TAGNAME), helpstring("set tag name.")] HRESULT tagName([in] BSTR p); [propget, id(DISPID_XMLELEMENT_PARENT), helpstring("get parent IXMLElement.")] HRESULT parent([retval, out]IXMLElement **ppParent); [id(DISPID_XMLELEMENT_SETATTRIBUTE), helpstring("set attribute.")] HRESULT setAttribute([in] BSTR strPropertyName,[in] VARIANT PropertyValue); [id(DISPID_XMLELEMENT_GETATTRIBUTE), helpstring("get attribute.")] HRESULT getAttribute([in] BSTR strPropertyName,[retval, out] VARIANT* PropertyValue); [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE), helpstring("remove attribute.")] HRESULT removeAttribute([in] BSTR strPropertyName); [propget, id(DISPID_XMLELEMENT_CHILDREN), helpstring("get a IXMLElementCollection of children.")] HRESULT children([retval, out] IXMLElementCollection * * pp); [propget, id(DISPID_XMLELEMENT_TYPE), helpstring("get type of this IXMLElement.")] HRESULT type([retval, out] long *plType); [propget, id(DISPID_XMLELEMENT_TEXT), helpstring("get text.")] HRESULT text([retval, out] BSTR *p); [propput, id(DISPID_XMLELEMENT_TEXT), helpstring("set text.")] HRESULT text([in] BSTR p); [id(DISPID_XMLELEMENT_ADDCHILD), helpstring("add a child.")] HRESULT addChild([in] IXMLElement *pChildElem, long lIndex, long lReserved); // lReserved must be -1 [id(DISPID_XMLELEMENT_REMOVECHILD), helpstring("remove a child.")] HRESULT removeChild([in]IXMLElement *pChildElem); } #endif [ local, object, uuid(2B8DE2FF-8D2D-11d1-B2FC-00C04FD915A9), // IID_IXMLElement2 odl, dual, oleautomation, hidden, // replaced by IDOMNode helpstring("IXMLElement2 extends IXMLElement.") ] interface IXMLElement2 : IDispatch { [propget, id(DISPID_XMLELEMENT_TAGNAME), helpstring("get tag name.")] HRESULT tagName([retval, out] BSTR * p); [propput, id(DISPID_XMLELEMENT_TAGNAME), helpstring("set tag name.")] HRESULT tagName([in] BSTR p); [propget, id(DISPID_XMLELEMENT_PARENT), helpstring("get parent IXMLElement.")] HRESULT parent([retval, out]IXMLElement2 **ppParent); [id(DISPID_XMLELEMENT_SETATTRIBUTE), helpstring("set attribute.")] HRESULT setAttribute([in] BSTR strPropertyName,[in] VARIANT PropertyValue); [id(DISPID_XMLELEMENT_GETATTRIBUTE), helpstring("get attribute.")] HRESULT getAttribute([in] BSTR strPropertyName,[retval, out] VARIANT* PropertyValue); [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE), helpstring("remove attribute.")] HRESULT removeAttribute([in] BSTR strPropertyName); [propget, id(DISPID_XMLELEMENT_CHILDREN), helpstring("get a IXMLElementCollection of all children.")] HRESULT children([retval, out] IXMLElementCollection * * pp); [propget, id(DISPID_XMLELEMENT_TYPE), helpstring("get type of this IXMLElement.")] HRESULT type([retval, out] long *plType); [propget, id(DISPID_XMLELEMENT_TEXT), helpstring("get text.")] HRESULT text([retval, out] BSTR *p); [propput, id(DISPID_XMLELEMENT_TEXT), helpstring("set text.")] HRESULT text([in] BSTR p); [id(DISPID_XMLELEMENT_ADDCHILD), helpstring("add a child.")] HRESULT addChild([in] IXMLElement2 *pChildElem, long lIndex, long lReserved); // lReserved must be -1 [id(DISPID_XMLELEMENT_REMOVECHILD), helpstring("remove a child.")] HRESULT removeChild([in]IXMLElement2 *pChildElem); [propget, id(DISPID_XMLELEMENT_ATTRIBUTES), helpstring("get a IXMLElementCollection of all attributes.")] HRESULT attributes([retval, out] IXMLElementCollection ** pp); } [ local, object, uuid(D4D4A0FC-3B73-11d1-B2B4-00C04FB92596), // IID_IXMLAttribute odl, dual, oleautomation, hidden, // replaced by IDOMNode helpstring("IXMLAttribute allows to get attributes of an IXMLElement.") ] interface IXMLAttribute : IDispatch { [propget, id(DISPID_XMLATTRIBUTE_NAME), helpstring("get attribute name.")] HRESULT name([retval, out] BSTR* n); [propget, id(DISPID_XMLATTRIBUTE_VALUE), helpstring("get attribute value.")] HRESULT value([retval, out] BSTR* v); }; #ifndef IMPORTED_MSXML [ local, object, uuid(948C5AD3-C58D-11d0-9C0B-00C04FC99C8E), // IID_IXMLError odl, hidden, // this is not scriptable. helpstring("Gets error info.") ] interface IXMLError : IUnknown { HRESULT GetErrorInfo(XML_ERROR *pErrorReturn); } #endif //+------------------------------------------------------------------------- // // CoClasses // //-------------------------------------------------------------------------- // DOM Document rental-model co-Class, version independent [ uuid(F6D90F11-9C73-11D3-B32E-00C04F990BB4), // CLSID_DOMDocument helpstring("W3C-DOM XML Document (Apartment)") ] coclass DOMDocument { [default] interface IXMLDOMDocument2; [default, source] dispinterface XMLDOMDocumentEvents; }; // DOM Document rental-model co-Class, 2.6 version dependent [ uuid(f5078f1b-c551-11d3-89b9-0000f81fe221), // CLSID_DOMDocument26 helpstring("W3C-DOM XML Document (Apartment)") ] coclass DOMDocument26 { [default] interface IXMLDOMDocument2; [default, source] dispinterface XMLDOMDocumentEvents; }; // DOM Document rental-model co-Class, 3.0 version dependent [ uuid(f5078f32-c551-11d3-89b9-0000f81fe221), // CLSID_DOMDocument30 helpstring("W3C-DOM XML Document (Apartment)") ] coclass DOMDocument30 { [default] interface IXMLDOMDocument2; [default, source] dispinterface XMLDOMDocumentEvents; }; // DOM Document free-threaded co-Class, version independent [ uuid(F6D90F12-9C73-11D3-B32E-00C04F990BB4), // CLSID_FreeThreadedDOMDocument helpstring("W3C-DOM XML Document (Free threaded)") ] coclass FreeThreadedDOMDocument { [default] interface IXMLDOMDocument2; [default, source] dispinterface XMLDOMDocumentEvents; }; // DOM Document free-threaded co-Class, 2.6 version dependent [ uuid(f5078f1c-c551-11d3-89b9-0000f81fe221), // CLSID_FreeThreadedDOMDocument26 helpstring("W3C-DOM XML Document (Free threaded)") ] coclass FreeThreadedDOMDocument26 { [default] interface IXMLDOMDocument2; [default, source] dispinterface XMLDOMDocumentEvents; }; // DOM Document free-threaded co-Class, 3.0 version dependent [ uuid(f5078f33-c551-11d3-89b9-0000f81fe221), // CLSID_FreeThreadedDOMDocument30 helpstring("W3C-DOM XML Document (Free threaded)") ] coclass FreeThreadedDOMDocument30 { [default] interface IXMLDOMDocument2; [default, source] dispinterface XMLDOMDocumentEvents; }; // XML Schema Cache, version independent [ uuid(373984c9-b845-449b-91e7-45ac83036ade), helpstring("object for caching schemas") ] coclass XMLSchemaCache { [default] interface IXMLDOMSchemaCollection; }; // XML Schema Cache, version 2.6 dependent [ uuid(f5078f1d-c551-11d3-89b9-0000f81fe221), helpstring("object for caching schemas") ] coclass XMLSchemaCache26 { [default] interface IXMLDOMSchemaCollection; }; // XML Schema Cache, version 3.0 dependent [ uuid(f5078f34-c551-11d3-89b9-0000f81fe221), helpstring("object for caching schemas") ] coclass XMLSchemaCache30 { [default] interface IXMLDOMSchemaCollection; }; // XSLTemplate, version independent [ uuid(2933BF94-7B36-11d2-B20E-00C04F983E60), // CLSID_XMLDOMXSLTemplate (Progid=Msxml2.XMLDOMXSLTemplate) helpstring("object for caching compiled XSL stylesheets") ] coclass XSLTemplate { [default] interface IXSLTemplate; }; // XSLTemplate, 2.6 version dependent [ uuid(f5078f21-c551-11d3-89b9-0000f81fe221), // CLSID_XMLDOMXSLTemplate (Progid=Microsoft.XMLDOMXSLTemplate) helpstring("object for caching compiled XSL stylesheets") ] coclass XSLTemplate26 { [default] interface IXSLTemplate; }; // XSLTemplate, 3.0 version dependent [ uuid(f5078f36-c551-11d3-89b9-0000f81fe221), // CLSID_XMLDOMXSLTemplate30 (Progid=Msxml2.XMLDOMXSLTemplate.3.0) helpstring("object for caching compiled XSL stylesheets") ] coclass XSLTemplate30 { [default] interface IXSLTemplate; }; // XMLDSO, version independent [ uuid(F6D90F14-9C73-11D3-B32E-00C04F990BB4), helpstring("XML Data Source Object") ] coclass DSOControl { [default] interface IDSOControl; }; // DSOControl, 2.6 version dependent [ uuid(f5078f1f-c551-11d3-89b9-0000f81fe221), helpstring("XML Data Source Object") ] coclass DSOControl26 { [default] interface IDSOControl; }; // DSOControl, 3.0 version dependent [ uuid(f5078f39-c551-11d3-89b9-0000f81fe221), helpstring("XML Data Source Object") ] coclass DSOControl30 { [default] interface IDSOControl; }; // XML HTTP Request Class, version independent [ uuid(F6D90F16-9C73-11D3-B32E-00C04F990BB4), // CLSID_XMLHTTP helpstring("XML HTTP Request class.") ] coclass XMLHTTP { [default] interface IXMLHTTPRequest; }; // XML HTTP Request Class, 2.6, version dependent [ uuid(f5078f1e-c551-11d3-89b9-0000f81fe221), // CLSID_XMLHTTP26 helpstring("XML HTTP Request class.") ] coclass XMLHTTP26 { [default] interface IXMLHTTPRequest; }; // XML HTTP Request Class, 3.0, version dependent [ uuid(f5078f35-c551-11d3-89b9-0000f81fe221), // CLSID_XMLHTTP30 helpstring("XML HTTP Request class.") ] coclass XMLHTTP30 { [default] interface IXMLHTTPRequest; }; // Server XML HTTP Request Class, version independent [ uuid(afba6b42-5692-48ea-8141-dc517dcf0ef1), // CLSID_ServerXMLHTTP helpstring("Server XML HTTP Request class.") ] coclass ServerXMLHTTP { [default] interface IServerXMLHTTPRequest; } // Server XML HTTP Request Class, 3.0, version dependent [ uuid(afb40ffd-b609-40a3-9828-f88bbe11e4e3), // CLSID_ServerXMLHTTP30 helpstring("Server XML HTTP Request class.") ] coclass ServerXMLHTTP30 { [default] interface IServerXMLHTTPRequest; } // SAXXMLReader co-class, version independent [ uuid(079aa557-4a18-424a-8eee-e39f0a8d41b9), // CLSID_SAXXMLReader helpstring("SAX XML Reader (version independent) coclass") ] coclass SAXXMLReader { [default] interface IVBSAXXMLReader; interface ISAXXMLReader; interface IMXReaderControl; }; // SAXXMLReader co-class, 3.0 version dependent [ uuid(3124c396-fb13-4836-a6ad-1317f1713688), // CLSID_SAXXMLReader30 helpstring("SAX XML Reader 3.0 coclass") ] coclass SAXXMLReader30 { [default] interface IVBSAXXMLReader; interface ISAXXMLReader; interface IMXReaderControl; }; // MXXMLWriter co-class, version independent [ uuid(fc220ad8-a72a-4ee8-926e-0b7ad152a020), // CLSID_MXXMLWriter helpstring("Microsoft XML Writer (version independent) coclass") ] 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; }; // MXXMLWriter co-class, 3.0 version dependent [ uuid(3d813dfe-6c91-4a4e-8f41-04346a841d9c), // CLSID_MXXMLWriter30 helpstring("Microsoft XML Writer 3.0 coclass") ] 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; }; // SAXAttributes co-class, version independent [ uuid(4dd441ad-526d-4a77-9f1b-9841ed802fb0), // CLSID_SAXAttributes helpstring("SAX Attributes (version independent) coclass") ] coclass SAXAttributes { [default] interface IMXAttributes; interface IVBSAXAttributes; interface ISAXAttributes; }; // SAXAttributes co-class, 3.0 version dependent [ uuid(3e784a01-f3ae-4dc0-9354-9526b9370eba), // CLSID_SAXAttributes30 helpstring("SAX Attributes 3.0 coclass") ] coclass SAXAttributes30 { [default] interface IMXAttributes; interface IVBSAXAttributes; interface ISAXAttributes; }; #ifndef IMPORTED_MSXML // XML Document Class, IE4 version [ uuid(CFC399AF-D876-11d0-9C10-00C04FC99C8E), // CLSID_XMLDocument helpstring("XMLDocument extends IXML Document. It is obsolete. You should use DOMDocument. This object should not be confused with the XMLDocument property on the XML data island."), hidden // replaced by DOMDocument ] coclass XMLDocument { [default] interface IXMLDocument2; } #endif } cpp_quote("//----------------------------") cpp_quote("// MSXML SPECIFIC ERROR CODES ") cpp_quote("//----------------------------") cpp_quote("#define E_XML_NOTWF 0xC00CE223L // Validate failed because the document is not well formed.") cpp_quote("#define E_XML_NODTD 0xC00CE224L // Validate failed because a DTD/Schema was not specified in the document.") cpp_quote("#define E_XML_INVALID 0xC00CE225L // Validate failed because of a DTD/Schema violation.") cpp_quote("#ifdef __USE_MSXML2_NAMESPACE__") cpp_quote("}") cpp_quote("#endif")