From b8040eb2567bc01d0f87fbf4e5613178028e76ca Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Mon, 24 Mar 2008 20:10:05 +1100 Subject: [PATCH] msxml3: Add SAX interfaces. --- include/msxml2.idl | 915 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 915 insertions(+) diff --git a/include/msxml2.idl b/include/msxml2.idl index 9aa56458cf3..ab10f1407f1 100644 --- a/include/msxml2.idl +++ b/include/msxml2.idl @@ -1,5 +1,6 @@ /* * Copyright (C) 2005 Vijay Kiran Kamuju + * Copyright (C) 2008 Alistair Leslie-Hughes * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -57,6 +58,34 @@ interface IXTLRuntime; interface IXSLTemplate; interface IXSLProcessor; +/* SAX Interfaces */ +interface ISAXAttributes; +interface ISAXContentHandler; +interface ISAXDeclHandler; +interface ISAXDTDHandler; +interface ISAXEntityResolver; +interface ISAXErrorHandler; +interface ISAXLexicalHandler; +interface ISAXLocator; +interface ISAXXMLFilter; +interface ISAXXMLReader; + +interface IVBSAXAttributes; +interface IVBSAXContentHandler; +interface IVBSAXDeclHandler; +interface IVBSAXDTDHandler; +interface IVBSAXEntityResolver; +interface IVBSAXErrorHandler; +interface IVBSAXLexicalHandler; +interface IVBSAXLocator; +interface IVBSAXXMLFilter; +interface IVBSAXXMLReader; + +interface IMXAttributes; +interface IMXReaderControl; +interface IMXWriter; + + cpp_quote("#define DOMDocument DOMDocument2") cpp_quote("#define CLSID_DOMDocument CLSID_DOMDocument2") @@ -1063,4 +1092,890 @@ coclass XSLTemplate30 [default] interface IXSLTemplate; } +/* + * Sax Interfaces + */ +[ + object, + local, + uuid(f078abe1-45d2-4832-91ea-4466ce2f25c9) +] +interface ISAXAttributes : IUnknown +{ + HRESULT getLength( + [out, retval] int *length); + + HRESULT getURI( + [in] int nIndex, + [out] const WCHAR **pUrl, + [out] int *pUriSize); + + HRESULT getLocalName( + [in] int nIndex, + [out] const WCHAR **pLocalName, + [out] int *pLocalNameLength); + + HRESULT getQName( + [in] int nIndex, + [out] const WCHAR **pQName, + [out] int *pQNameLength); + + HRESULT getName( + [in] int nIndex, + [out] const WCHAR **pUri, + [out] int * pUriLength, + [out] const WCHAR ** pLocalName, + [out] int * pLocalNameSize, + [out] const WCHAR ** pQName, + [out] int * pQNameLength); + + HRESULT getIndexFromName( + [in] const WCHAR * pUri, + [in] int cUriLength, + [in] const WCHAR * pLocalName, + [in] int cocalNameLength, + [out, retval] int * index); + + HRESULT getIndexFromQName( + [in] const WCHAR * pQName, + [in] int nQNameLength, + [out, retval] int * index); + + HRESULT getType( + [in] int nIndex, + [out] const WCHAR ** pType, + [out] int * pTypeLength); + + HRESULT getTypeFromName( + [in] const WCHAR * pUri, + [in] int nUri, + [in] const WCHAR * pLocalName, + [in] int nLocalName, + [out] const WCHAR ** pType, + [out] int * nType); + + HRESULT getTypeFromQName( + [in] const WCHAR * pQName, + [in] int nQName, + [out] const WCHAR ** pType, + [out] int * nType); + + HRESULT getValue( + [in] int nIndex, + [out] const WCHAR ** pValue, + [out] int * nValue); + + HRESULT getValueFromName( + [in] const WCHAR * pUri, + [in] int nUri, + [in] const WCHAR * pLocalName, + [in] int nLocalName, + [out] const WCHAR ** pValue, + [out] int * nValue); + + HRESULT getValueFromQName( + [in] const WCHAR * pQName, + [in] int nQName, + [out] const WCHAR ** pValue, + [out] int * nValue); +}; + +[ + object, + local, + uuid(1545cdfa-9e4e-4497-a8a4-2bf7d0112c44) +] +interface ISAXContentHandler : IUnknown +{ + HRESULT putDocumentLocator( + [in] ISAXLocator * pLocator); + + HRESULT startDocument(); + + HRESULT endDocument(); + + HRESULT startPrefixMapping( + [in] const WCHAR * pPrefix, + [in] int nPrefix, + [in] const WCHAR * pUri, + [in] int nUri); + + HRESULT endPrefixMapping( + [in] const WCHAR * pPrefix, + [in] int nPrefix); + + HRESULT startElement( + [in] const WCHAR * pNamespaceUri, + [in] int nNamespaceUri, + [in] const WCHAR * pLocalName, + [in] int nLocalName, + [in] const WCHAR * pQName, + [in] int nQName, + [in] ISAXAttributes * pAttr); + + HRESULT endElement( + [in] const WCHAR * pNamespaceUri, + [in] int nNamespaceUri, + [in] const WCHAR * pLocalName, + [in] int nLocalName, + [in] const WCHAR * pQName, + [in] int nQName); + + HRESULT characters( + [in] const WCHAR * pChars, + [in] int nChars); + + HRESULT ignorableWhitespace( + [in] const WCHAR * pChars, + [in] int nChars); + + HRESULT processingInstruction( + [in] const WCHAR * pTarget, + [in] int nTarget, + [in] const WCHAR * pData, + [in] int nData); + + HRESULT skippedEntity( + [in] const WCHAR * pName, + [in] int nName); +}; + +[ + object, + local, + uuid(862629ac-771a-47b2-8337-4e6843c1be90) +] +interface ISAXDeclHandler : IUnknown +{ + HRESULT elementDecl( + [in] const WCHAR * pName, + [in] int nName, + [in] const WCHAR * pModel, + [in] int nModel); + + HRESULT attributeDecl( + [in] const WCHAR * pElementName, + [in] int nElementName, + [in] const WCHAR * pAttributeName, + [in] int nAttributeName, + [in] const WCHAR * pType, + [in] int nType, + [in] const WCHAR * pValueDefault, + [in] int nValueDefault, + [in] const WCHAR * pValue, + [in] int nValue); + + HRESULT internalEntityDecl( + [in] const WCHAR * pName, + [in] int nName, + [in] const WCHAR * pValue, + [in] int nValue); + + HRESULT externalEntityDecl( + [in] const WCHAR * pName, + [in] int nName, + [in] const WCHAR * pPublicId, + [in] int nPublicId, + [in] const WCHAR * pSystemId, + [in] int nSystemId); +}; + +[ + object, + local, + uuid(e15c1baf-afb3-4d60-8c36-19a8c45defed) +] +interface ISAXDTDHandler : IUnknown +{ + HRESULT notationDecl( + [in] const WCHAR * pName, + [in] int nName, + [in] const WCHAR * pPublicId, + [in] int nPublicId, + [in] const WCHAR * pSystemId, + [in] int nSystemId); + + HRESULT unparsedEntityDecl( + [in] const WCHAR * pName, + [in] int nName, + [in] const WCHAR * pPublicId, + [in] int nPublicId, + [in] const WCHAR * pSystemId, + [in] int nSystemId, + [in] const WCHAR * pNotationName, + [in] int nNotationName); +}; + +[ + object, + local, + uuid(99bca7bd-e8c4-4d5f-a0cf-6d907901ff07), +] +interface ISAXEntityResolver : IUnknown +{ + HRESULT resolveEntity( + [in] const WCHAR * pPublicId, + [in] const WCHAR * pSystemId, + [out, retval] VARIANT * ret); +}; + +[ + object, + local, + uuid(a60511c4-ccf5-479e-98a3-dc8dc545b7d0) +] +interface ISAXErrorHandler : IUnknown +{ + HRESULT error( + [in] ISAXLocator * pLocator, + [in] const WCHAR * pErrorMessage, + [in] HRESULT hrErrorCode); + + HRESULT fatalError( + [in] ISAXLocator * pLocator, + [in] const WCHAR * pErrorMessage, + [in] HRESULT hrErrorCode); + + HRESULT ignorableWarning( + [in] ISAXLocator * pLocator, + [in] const WCHAR * pErrorMessage, + [in] HRESULT hrErrorCode); +}; + +[ + object, + local, + uuid(7f85d5f5-47a8-4497-bda5-84ba04819ea6) +] +interface ISAXLexicalHandler : IUnknown +{ + HRESULT startDTD( + [in] const WCHAR * pName, + [in] int nName, + [in] const WCHAR * pPublicId, + [in] int nPublicId, + [in] const WCHAR * pSystemId, + [in] int nSystemId); + + HRESULT endDTD(); + + HRESULT startEntity( + [in] const WCHAR * pName, + [in] int nName); + + HRESULT endEntity( + [in] const WCHAR * pName, + [in] int nName); + + HRESULT startCDATA(); + + HRESULT endCDATA(); + + HRESULT comment( + [in] const WCHAR * pChars, + [in] int nChars); +}; + +[ + object, + local, + uuid(9b7e472a-0de4-4640-bff3-84d38a051c31) +] +interface ISAXLocator : IUnknown +{ + HRESULT getColumnNumber( + [out, retval] int * nColumn); + + HRESULT getLineNumber( + [out, retval] int * nLine); + + HRESULT getPublicId( + [out, retval] const WCHAR ** publicId); + + HRESULT getSystemId( + [out, retval] const WCHAR ** systemId); +}; + +[ + local, + object, + uuid(70409222-ca09-4475-acb8-40312fe8d145) +] +interface ISAXXMLFilter : ISAXXMLReader +{ + HRESULT getParent( + [out, retval] ISAXXMLReader ** pReader); + HRESULT putParent( + [in] ISAXXMLReader * reader); +}; + +[ +local, +object, +uuid (a4f96ed0-f829-476e-81c0-cdc7bd2a0802) +] +interface ISAXXMLReader : IUnknown +{ + HRESULT getFeature( + [in] const WCHAR * pFeature, + [out, retval] VARIANT_BOOL * pValue); + HRESULT putFeature( + [in] const WCHAR * pFeature, + [in] VARIANT_BOOL vfValue); + + HRESULT getProperty( + [in] const WCHAR * pProp, + [out, retval] VARIANT * pValue); + HRESULT putProperty( + [in] const WCHAR * pProp, + [in] VARIANT value); + + HRESULT getEntityResolver( + [out, retval] ISAXEntityResolver ** ppEntityResolver); + HRESULT putEntityResolver( + [in] ISAXEntityResolver * pEntityResolver); + + HRESULT getContentHandler( + [out, retval] ISAXContentHandler ** pContentHandler); + HRESULT putContentHandler( + [in] ISAXContentHandler * contentHandler); + + HRESULT getDTDHandler( + [out, retval] ISAXDTDHandler ** pDTDHandler); + HRESULT putDTDHandler( + [in] ISAXDTDHandler * pDTDHandler); + + HRESULT getErrorHandler( + [out, retval] ISAXErrorHandler ** pErrorHandler); + HRESULT putErrorHandler( + [in] ISAXErrorHandler * errorHandler); + + HRESULT getBaseURL( + [out, retval] const WCHAR ** pBaseUrl); + HRESULT putBaseURL( + [in] const WCHAR * pBaseUrl); + + HRESULT getSecureBaseURL( + [out, retval] const WCHAR ** pSecureBaseUrl); + HRESULT putSecureBaseURL( + [in] const WCHAR * secureBaseUrl); + + HRESULT parse( + [in] VARIANT varInput); + HRESULT parseURL( + [in] const WCHAR * url); +} + +[ + object, + dual, + uuid(10dc0586-132b-4cac-8bb3-db00ac8b7ee0) +] +interface IVBSAXAttributes : IDispatch +{ + [propget, id(DISPID_SAX_ATTRIBUTES_LENGTH)] + HRESULT length( [out, retval] int * nLength); + + [id(DISPID_SAX_ATTRIBUTES_GETURI)] + HRESULT getURI( [in] int nIndex, [out, retval] BSTR * uri); + + [id(DISPID_SAX_ATTRIBUTES_GETLOCALNAME)] + HRESULT getLocalName( [in] int nIndex, [out, retval] BSTR * localName); + + [id(DISPID_SAX_ATTRIBUTES_GETQNAME)] + HRESULT getQName( [in] int nIndex, [out, retval] BSTR * QName); + + [id(DISPID_SAX_ATTRIBUTES_GETINDEXFROMNAME)] + HRESULT getIndexFromName( [in] BSTR uri, + [in] BSTR localName, [out, retval] int * nIndex); + + [id(DISPID_SAX_ATTRIBUTES_GETINDEXFROMQNAME)] + HRESULT getIndexFromQName( [in] BSTR QName, [out, retval] int * nIndex); + + [id(DISPID_SAX_ATTRIBUTES_GETTYPE)] + HRESULT getType( [in] int nIndex, [out, retval] BSTR * type); + + [id(DISPID_SAX_ATTRIBUTES_GETTYPEFROMNAME)] + HRESULT getTypeFromName( [in] BSTR uri, [in] BSTR localName, + [out, retval] BSTR * type); + + [id(DISPID_SAX_ATTRIBUTES_GETTYPEFROMQNAME)] + HRESULT getTypeFromQName( [in] BSTR QName, [out, retval] BSTR * type); + + [id(DISPID_SAX_ATTRIBUTES_GETVALUE)] + HRESULT getValue( [in] int nIndex, [out, retval] BSTR * value); + + [id(DISPID_SAX_ATTRIBUTES_GETVALUEFROMNAME)] + HRESULT getValueFromName( [in] BSTR uri, + [in] BSTR localName, + [out, retval] BSTR * value); + + [id(DISPID_SAX_ATTRIBUTES_GETVALUEFROMQNAME)] + HRESULT getValueFromQName( [in] BSTR QName, [out, retval] BSTR * value); +}; + +[ + object, + dual, + uuid(2ed7290a-4dd5-4b46-bb26-4e4155e77faa) +] +interface IVBSAXContentHandler : IDispatch +{ + [propputref, id(DISPID_SAX_CONTENTHANDLER_DOCUMENTLOCATOR)] + HRESULT documentLocator( [in] IVBSAXLocator * oLocator); + + [id(DISPID_SAX_CONTENTHANDLER_STARTDOCUMENT)] + HRESULT startDocument(); + + [id(DISPID_SAX_CONTENTHANDLER_ENDDOCUMENT)] + HRESULT endDocument(); + + [id(DISPID_SAX_CONTENTHANDLER_STARTPREFIXMAPPING)] + HRESULT startPrefixMapping( [in, out] BSTR * prefix, [in, out] BSTR * uri); + + [id(DISPID_SAX_CONTENTHANDLER_ENDPREFIXMAPPING)] + HRESULT endPrefixMapping( [in, out] BSTR * prefix); + + [id(DISPID_SAX_CONTENTHANDLER_STARTELEMENT)] + HRESULT startElement( [in, out] BSTR * namespaceURI, + [in, out] BSTR * localName, + [in, out] BSTR * QName, + [in] IVBSAXAttributes * oAttributes); + + [id(DISPID_SAX_CONTENTHANDLER_ENDELEMENT)] + HRESULT endElement( [in, out] BSTR * namespaceURI, + [in, out] BSTR * localName, [in, out] BSTR * strQName); + + [id(DISPID_SAX_CONTENTHANDLER_CHARACTERS)] + HRESULT characters( [in, out] BSTR * chars); + + [id(DISPID_SAX_CONTENTHANDLER_IGNORABLEWHITESPACE)] + HRESULT ignorableWhitespace( [in, out] BSTR * chars); + + [id(DISPID_SAX_CONTENTHANDLER_PROCESSINGINSTRUCTION)] + HRESULT processingInstruction( [in, out] BSTR * target, + [in, out] BSTR * data); + + [id(DISPID_SAX_CONTENTHANDLER_SKIPPEDENTITY)] + HRESULT skippedEntity( [in, out] BSTR * name); +}; + +[ + object, + dual, + uuid(e8917260-7579-4be1-b5dd-7afbfa6f077b) +] +interface IVBSAXDeclHandler : IDispatch +{ + [id(DISPID_SAX_DECLHANDLER_ELEMENTDECL)] + HRESULT elementDecl( + [in, out] BSTR * name, + [in, out] BSTR * model); + + [id(DISPID_SAX_DECLHANDLER_ATTRIBUTEDECL)] + HRESULT attributeDecl( + [in, out] BSTR * elementName, + [in, out] BSTR * attributeName, + [in, out] BSTR * type, + [in, out] BSTR * valueDefault, + [in, out] BSTR * value); + + [id(DISPID_SAX_DECLHANDLER_INTERNALENTITYDECL)] + HRESULT internalEntityDecl( + [in, out] BSTR * name, + [in, out] BSTR * value); + + [id(DISPID_SAX_DECLHANDLER_EXTERNALENTITYDECL)] + HRESULT externalEntityDecl( + [in, out] BSTR * name, + [in, out] BSTR * publicId, + [in, out] BSTR * systemId); +}; + +[ + object, + dual, + uuid(24fb3297-302d-4620-ba39-3a732d850558) +] +interface IVBSAXDTDHandler : IDispatch +{ + [id(DISPID_SAX_DTDHANDLER_NOTATIONDECL)] + HRESULT notationDecl( + [in, out] BSTR * name, + [in, out] BSTR * publicId, + [in, out] BSTR * systemId); + + [id(DISPID_SAX_DTDHANDLER_UNPARSEDENTITYDECL)] + HRESULT unparsedEntityDecl( + [in, out] BSTR * name, + [in, out] BSTR * publicId, + [in, out] BSTR * systemId, + [in, out] BSTR * notationName); +}; + +[ + object, + dual, + uuid(0c05d096-f45b-4aca-ad1a-aa0bc25518dc) +] +interface IVBSAXEntityResolver : IDispatch +{ + [id(DISPID_SAX_ENTITYRESOLVER_RESOLVEENTITY)] + HRESULT resolveEntity( + [in, out] BSTR * publicId, + [in, out] BSTR * systemId, + [out, retval] VARIANT * ret); +}; + +[ + object, + dual, + uuid(d963d3fe-173c-4862-9095-b92f66995f52) +] +interface IVBSAXErrorHandler : IDispatch +{ + [id(DISPID_SAX_ERRORHANDLER_ERROR)] + HRESULT error( + [in] IVBSAXLocator * locator, + [in, out] BSTR * errorMessage, + [in] long errorCode); + + [id(DISPID_SAX_ERRORHANDLER_FATALERROR)] + HRESULT fatalError( + [in] IVBSAXLocator * locator, + [in, out] BSTR * errorMessage, + [in] long errorCode); + + [id(DISPID_SAX_ERRORHANDLER_IGNORABLEWARNING)] + HRESULT ignorableWarning( + [in] IVBSAXLocator * locator, + [in, out] BSTR * errorMessage, + [in] long errorCode); +}; + +[ + object, + dual, + uuid(032aac35-8c0e-4d9d-979f-e3b702935576) +] +interface IVBSAXLexicalHandler : IDispatch +{ + [id(DISPID_SAX_LEXICALHANDLER_STARTDTD)] + HRESULT startDTD( + [in, out] BSTR * name, + [in, out] BSTR * publicId, + [in, out] BSTR * systemId); + [id(DISPID_SAX_LEXICALHANDLER_ENDDTD)] + HRESULT endDTD(); + + [id(DISPID_SAX_LEXICALHANDLER_STARTENTITY)] + HRESULT startEntity([in, out] BSTR * name); + [id(DISPID_SAX_LEXICALHANDLER_ENDENTITY)] + HRESULT endEntity([in, out] BSTR * name); + + [id(DISPID_SAX_LEXICALHANDLER_STARTCDATA)] + HRESULT startCDATA(); + [id(DISPID_SAX_LEXICALHANDLER_ENDCDATA)] + HRESULT endCDATA(); + + [id(DISPID_SAX_LEXICALHANDLER_COMMENT)] + HRESULT comment( [in, out] BSTR * chars); +}; + +[ + object, + uuid(796e7ac5-5aa2-4eff-acad-3faaf01a3288) +] +interface IVBSAXLocator : IDispatch +{ + [propget, id(DISPID_SAX_LOCATOR_COLUMNNUMBER)] + HRESULT columnNumber( [out, retval] int * column); + + [propget, id(DISPID_SAX_LOCATOR_LINENUMBER)] + HRESULT lineNumber( [out, retval] int * line); + + [propget, id(DISPID_SAX_LOCATOR_PUBLICID)] + HRESULT publicId( [out, retval] BSTR * publicId); + + [propget, id(DISPID_SAX_LOCATOR_SYSTEMID)] + HRESULT systemId( [out, retval] BSTR * systemId); +}; + +[ + object, + dual, + uuid(1299eb1b-5b88-433e-82de-82ca75ad4e04) +] +interface IVBSAXXMLFilter : IDispatch +{ + [propget, id(DISPID_SAX_XMLFILTER_PARENT)] + HRESULT parent( [out, retval] IVBSAXXMLReader ** reader); + [propputref, id(DISPID_SAX_XMLFILTER_PARENT)] + HRESULT parent( [in] IVBSAXXMLReader * reader); + +}; + +[ + dual, + object, + uuid (8c033caa-6cd6-4f73-b728-4531af74945f) +] +interface IVBSAXXMLReader : IDispatch +{ + [id(DISPID_SAX_XMLREADER_GETFEATURE)] + HRESULT getFeature( [in] const WCHAR * pFeature, + [out, retval] VARIANT_BOOL * pValue); + [id(DISPID_SAX_XMLREADER_PUTFEATURE)] + HRESULT putFeature( [in] const WCHAR * pFeature, + [in] VARIANT_BOOL vfValue); + + [id(DISPID_SAX_XMLREADER_GETPROPERTY)] + HRESULT getProperty( [in] const WCHAR * pProp, + [out, retval] VARIANT * pValue); + [id(DISPID_SAX_XMLREADER_PUTPROPERTY)] + HRESULT putProperty( [in] const WCHAR * pProp, [in] VARIANT value); + + [propget, id(DISPID_SAX_XMLREADER_ENTITYRESOLVER)] + HRESULT getEntityResolver( + [out, retval] IVBSAXEntityResolver ** ppEntityResolver); + [propputref, id(DISPID_SAX_XMLREADER_ENTITYRESOLVER)] + HRESULT putEntityResolver( [in] IVBSAXEntityResolver * pEntityResolver); + + [propget, id(DISPID_SAX_XMLREADER_CONTENTHANDLER)] + HRESULT getContentHandler( + [out, retval] IVBSAXContentHandler ** pContentHandler); + [propputref, id(DISPID_SAX_XMLREADER_CONTENTHANDLER)] + HRESULT putContentHandler([in] IVBSAXContentHandler * contentHandler); + + [propget, id(DISPID_SAX_XMLREADER_DTDHANDLER)] + HRESULT getDTDHandler([out, retval] IVBSAXDTDHandler ** pDTDHandler); + [propputref, id(DISPID_SAX_XMLREADER_DTDHANDLER)] + HRESULT putDTDHandler([in] IVBSAXDTDHandler * pDTDHandler); + + [propget, id(DISPID_SAX_XMLREADER_ERRORHANDLER)] + HRESULT getErrorHandler([out, retval] IVBSAXErrorHandler ** pErrorHandler); + [propputref, id(DISPID_SAX_XMLREADER_ERRORHANDLER)] + HRESULT putErrorHandler([in] IVBSAXErrorHandler * errorHandler); + + [propget, id(DISPID_SAX_XMLREADER_BASEURL)] + HRESULT getBaseURL([out, retval] const WCHAR ** pBaseUrl); + [propput, id(DISPID_SAX_XMLREADER_BASEURL)] + HRESULT putBaseURL([in] const WCHAR * pBaseUrl); + + [propget, id(DISPID_SAX_XMLREADER_SECUREBASEURL)] + HRESULT getSecureBaseURL([out, retval] const WCHAR ** pSecureBaseUrl); + [propput, id(DISPID_SAX_XMLREADER_SECUREBASEURL)] + HRESULT putSecureBaseURL([in] const WCHAR * secureBaseUrl); + + [propget, id(DISPID_SAX_XMLREADER_PARSE)] + HRESULT parse( [in] VARIANT varInput); + [propput, id(DISPID_SAX_XMLREADER_PARSE)] + HRESULT parseURL([in] const WCHAR * url); +} + +[ + object, + dual, + uuid(f10d27cc-3ec0-415c-8ed8-77ab1c5e7262) +] +interface IMXAttributes : IDispatch +{ + [id(DISPID_MX_ATTRIBUTES_ADDATTRIBUTE)] + HRESULT addAttribute( + [in] BSTR uri, + [in] BSTR localName, + [in] BSTR QName, + [in] BSTR type, + [in] BSTR value); + + [id(DISPID_MX_ATTRIBUTES_ADDATTRIBUTEFROMINDEX)] + HRESULT addAttributeFromIndex( [in] VARIANT atts, + [in] int index); + + [id(DISPID_MX_ATTRIBUTES_CLEAR)] + HRESULT clear(); + + [id(DISPID_MX_ATTRIBUTES_REMOVEATTRIBUTE)] + HRESULT removeAttribute( [in] int index); + + [id(DISPID_MX_ATTRIBUTES_SETATTRIBUTE)] + HRESULT setAttribute( + [in] int index, + [in] BSTR uri, + [in] BSTR localName, + [in] BSTR QName, + [in] BSTR type, + [in] BSTR value); + + [id(DISPID_MX_ATTRIBUTES_SETATTRIBUTES)] + HRESULT setAttributes( [in] VARIANT atts); + + [id(DISPID_MX_ATTRIBUTES_SETLOCALNAME)] + HRESULT setLocalName( [in] int index, + [in] BSTR localName); + + [id(DISPID_MX_ATTRIBUTES_SETQNAME)] + HRESULT setQName( + [in] int index, + [in] BSTR QName); + + [id(DISPID_MX_ATTRIBUTES_SETTYPE)] + HRESULT setType( [in] int index, [in] BSTR type); + + [id(DISPID_MX_ATTRIBUTES_SETURI)] + HRESULT setURI( [in] int index, [in] BSTR uri); + + [id(DISPID_MX_ATTRIBUTES_SETVALUE)] + HRESULT setValue([in] int index, [in] BSTR value); +}; + +[ + object, + dual, + uuid(808f4e35-8d5a-4fbe-8466-33a41279ed30) +] +interface IMXReaderControl : IDispatch +{ + [id(DISPID_MX_READER_CONTROL_ABORT)] + HRESULT abort(); + + [id(DISPID_MX_READER_CONTROL_RESUME)] + HRESULT resume(); + + [id(DISPID_MX_READER_CONTROL_SUSPEND)] + HRESULT suspend(); +}; + +[ + object, + dual, + uuid(4d7ff4ba-1565-4ea8-94e1-6e724a46f98d) +] +interface IMXWriter : IDispatch +{ + [propput, id(DISPID_MX_WRITER_OUTPUT)] + HRESULT output ( [in] VARIANT Destination); + [propget, id(DISPID_MX_WRITER_OUTPUT)] + HRESULT output ( [out, retval] VARIANT * Destination); + + [propput, id(DISPID_MX_WRITER_ENCODING)] + HRESULT encoding ([in] BSTR encoding); + [propget, id(DISPID_MX_WRITER_ENCODING)] + HRESULT encoding ([out, retval] BSTR * encoding); + + [propput, id(DISPID_MX_WRITER_BYTEORDERMARK)] + HRESULT byteOrderMark ([in] VARIANT_BOOL writeByteOrderMark); + [propget, id(DISPID_MX_WRITER_BYTEORDERMARK)] + HRESULT byteOrderMark ([out, retval] VARIANT_BOOL * writeByteOrderMark); + + [propput, id(DISPID_MX_WRITER_INDENT)] + HRESULT indent ([in] VARIANT_BOOL indentMode); + [propget, id(DISPID_MX_WRITER_INDENT)] + HRESULT indent ([out, retval] VARIANT_BOOL * indentMode); + + [propput, id(DISPID_MX_WRITER_STANDALONE)] + HRESULT standalone ([in] VARIANT_BOOL value); + [propget, id(DISPID_MX_WRITER_STANDALONE)] + HRESULT standalone ([out, retval] VARIANT_BOOL * value); + + [propput, id(DISPID_MX_WRITER_OMITXMLDECLARATION)] + HRESULT omitXMLDeclaration ([in] VARIANT_BOOL value); + [propget, id(DISPID_MX_WRITER_OMITXMLDECLARATION)] + HRESULT omitXMLDeclaration ([out, retval] VARIANT_BOOL * value); + + [propput, id(DISPID_MX_WRITER_VERSION)] + HRESULT version ([in] BSTR version); + [propget, id(DISPID_MX_WRITER_VERSION)] + HRESULT version ([out, retval] BSTR * version); + + [propput, id(DISPID_MX_WRITER_DISABLEOUTPUTESCAPING)] + HRESULT disableOutputEscaping([in] VARIANT_BOOL value); + [propget, id(DISPID_MX_WRITER_DISABLEOUTPUTESCAPING)] + HRESULT disableOutputEscaping([out, retval] VARIANT_BOOL * value); + + [id(DISPID_MX_WRITER_FLUSH)] + HRESULT flush(); +}; + +[ + uuid(079aa557-4a18-424a-8eee-e39f0a8d41b9) +] +coclass SAXXMLReader +{ + [default] interface IVBSAXXMLReader; + interface ISAXXMLReader; + interface IMXReaderControl; +}; + +[ + uuid(3124c396-fb13-4836-a6ad-1317f1713688) +] +coclass SAXXMLReader30 +{ + [default] interface IVBSAXXMLReader; + interface ISAXXMLReader; + interface IMXReaderControl; +}; + +[ + uuid(fc220ad8-a72a-4ee8-926e-0b7ad152a020) +] +coclass MXXMLWriter +{ + [default] interface IMXWriter; + + interface ISAXContentHandler; + interface ISAXErrorHandler; + interface ISAXDTDHandler; + interface ISAXLexicalHandler; + interface ISAXDeclHandler; + + interface IVBSAXContentHandler; + interface IVBSAXDeclHandler; + interface IVBSAXDTDHandler; + interface IVBSAXErrorHandler; + interface IVBSAXLexicalHandler; +}; + +[ + uuid(3d813dfe-6c91-4a4e-8f41-04346a841d9c) +] +coclass MXXMLWriter30 +{ + [default] interface IMXWriter; + + interface ISAXContentHandler; + interface ISAXDeclHandler; + interface ISAXDTDHandler; + interface ISAXErrorHandler; + interface ISAXLexicalHandler; + + interface IVBSAXContentHandler; + interface IVBSAXDeclHandler; + interface IVBSAXDTDHandler; + interface IVBSAXErrorHandler; + interface IVBSAXLexicalHandler; +}; + +[ + uuid(4dd441ad-526d-4a77-9f1b-9841ed802fb0) +] +coclass SAXAttributes +{ + [default] interface IMXAttributes; + interface IVBSAXAttributes; + interface ISAXAttributes; +}; + +[ + uuid(3e784a01-f3ae-4dc0-9354-9526b9370eba) +] +coclass SAXAttributes30 +{ + [default] interface IMXAttributes; + interface IVBSAXAttributes; + interface ISAXAttributes; +}; + + } /* Library MSXML */