/*
 * The Apache Software License, Version 1.1
 * 
 * Copyright (c) 1999-2000 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.4 2000/09/29 23:07:05 aruna1 Exp $
 */
 
// This file will be processed by the MIDL tool to
// produce the type library (xml4com.tlb) and marshalling code.

import "oaidl.idl"; 

[
	uuid(C58E1141-26F6-4d3a-AF76-6214CA435238),
	version(1.3),
	helpstring("Xerces XML Parser 1.3")
]
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(988AE1AE-12FF-4c11-8847-BDD79C1B6B59),
		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;
	};
};
