238 lines
12 KiB
Plaintext
238 lines
12 KiB
Plaintext
//+-------------------------------------------------------------------------
|
|
//
|
|
// 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 "msxmldid.h"
|
|
|
|
#ifndef DO_NO_IMPORTS
|
|
import "unknwn.idl";
|
|
import "wtypes.idl";
|
|
import "objidl.idl";
|
|
import "oaidl.idl";
|
|
#endif
|
|
|
|
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;
|
|
|
|
[
|
|
uuid(d63e0ce2-a0a2-11d0-9c02-00c04fc99c8e), // LIBID_MSXML
|
|
helpstring("Microsoft XML, version 2.0"),
|
|
lcid(0x0000),
|
|
version(2.0)
|
|
]
|
|
|
|
library MSXML
|
|
{
|
|
|
|
importlib("stdole2.tlb");
|
|
|
|
#include "xmldom.idl"
|
|
#include "xmldso.idl"
|
|
|
|
|
|
interface IXMLElementCollection;
|
|
interface IXMLDocument;
|
|
interface IXMLDocument2;
|
|
interface IXMLElement;
|
|
interface IXMLElement2;
|
|
interface IXMLAttribute;
|
|
interface IXMLError;
|
|
interface IXMLElementNotificationSink;
|
|
|
|
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;
|
|
|
|
[
|
|
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);
|
|
};
|
|
|
|
|
|
[
|
|
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);
|
|
};
|
|
|
|
[
|
|
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);
|
|
}
|
|
|
|
|
|
[
|
|
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);
|
|
};
|
|
|
|
[
|
|
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);
|
|
}
|
|
|
|
// XML Document Class
|
|
[
|
|
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.")
|
|
]
|
|
coclass XMLDocument
|
|
{
|
|
[default] interface IXMLDocument2;
|
|
}
|
|
|
|
}
|