/*
 * The Apache Software License, Version 1.1
 *
 * Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
 * reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The end-user documentation included with the redistribution,
 *    if any, must include the following acknowledgment:
 *       "This product includes software developed by the
 *        Apache Software Foundation (http://www.apache.org/)."
 *    Alternately, this acknowledgment may appear in the software itself,
 *    if and wherever such third-party acknowledgments normally appear.
 *
 * 4. The names "Xerces" and "Apache Software Foundation" must
 *    not be used to endorse or promote products derived from this
 *    software without prior written permission. For written
 *    permission, please contact apache\@apache.org.
 *
 * 5. Products derived from this software may not be called "Apache",
 *    nor may "Apache" appear in their name, without prior written
 *    permission of the Apache Software Foundation.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Software Foundation, and was
 * originally based on software copyright (c) 1999, International
 * Business Machines, Inc., http://www.ibm.com .  For more information
 * on the Apache Software Foundation, please see
 * <http://www.apache.org/>.
 */

/*
 * $Id: xml4com.idl,v 1.7 2003/11/21 12:05:48 amassari Exp $
 */

// This file will be processed by the MIDL tool to
// produce the type library (xml4com.tlb) and marshalling code.

import "oaidl.idl";

[
	uuid(C4775B62-ECD6-11d4-94B4-00A0CC57CBCB),
	//
	//  Format for version is major.minor
	//  no support for additional parts (like 1.5.2)
	//  Use 1.60 for subsequent release
	version(2.40),
	helpstring("Xerces XML Parser 2.4.0")
]
library Xerces
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	//
	//   it appears to be necessary to forward declare
	//      this interface to lure it into the type library
	interface IXMLDOMNotation;

	//
	//   might as well insure the rest we use are here
	//
	interface IXMLDOMAttribute;
	interface IXMLDOMCDATASection;
	interface IXMLDOMComment;
	interface IXMLDOMDocument;
	interface IXMLDOMDocumentType;
	interface IXMLDOMElement;
	interface IXMLDOMEntity;
	interface IXMLDOMEntityReference;
	interface IXMLDOMImplementation;
	interface IXMLDOMNamedNodeMap;
	interface IXMLDOMNodeList;
	interface IXMLDOMParseError;
	interface IXMLDOMProcessingInstruction;
	interface IXMLDOMText;
	interface IXMLHttpRequest;


	//
	//
	//    if you get an "Cannot open input file" error here
	//       then you most probably do not have a recent
	//        Microsoft Platform SDK in your include path
	//
	//    See http://xml.apache.org/xerces-c/build.html#BuildCOM
	import "xmldom.idl";
	
	[
		object,
		uuid(35ADBB42-47B2-4b22-9D2E-1DA260EE5007),
		hidden,
		oleautomation,
		helpstring("IIBMXMLDOMNodeIdentity Interface"),
		pointer_default(unique)
	]
	interface IIBMXMLDOMNodeIdentity : IUnknown
	{
		[propget, helpstring("property NodeId")] HRESULT NodeId([out, retval] long *pVal);
	};

	[
		uuid(C4775B61-ECD6-11d4-94B4-00A0CC57CBCB),
		helpstring("DOMDocument Class")
	]
	coclass DOMDocument
	{
		[default] interface IXMLDOMDocument;
		[default, source] dispinterface XMLDOMDocumentEvents;
	};

	[
	  uuid(3A725053-15FB-4065-9171-BC02BCF3876C),
	  helpstring("XMLHTTPRequest class.")
	]
	coclass XMLHTTPRequest
	{
		[default] interface IXMLHttpRequest;
	};
};
