/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: XDocumentBuilder.idl,v $
 *
 *  $Revision: 1.3 $
 *
 *  last change: $Author: rt $ $Date: 2005-09-08 09:57:27 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/

#ifndef __com_sun_star_xml_dom_XDocumentBuilder_idl__
#define __com_sun_star_xml_dom_XDocumentBuilder_idl__

#ifndef __com_sun_star_uno__XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif

#ifndef __com_sun_star_xml_dom_XDocument_idl__
#include <com/sun/star/xml/dom/XDocumentType.idl>
#endif
#ifndef __com_sun_star_xml_dom_XDOMImplementation_idl__
#include <com/sun/star/xml/dom/XDOMImplementation.idl>
#endif
#ifndef __com_sun_star_io_XInputStream_idl__
#include <com/sun/star/io/XInputStream.idl>
#endif
module com { module sun { module star { module xml { module dom {

interface XInputStream;

/**
Builds a new dom tree
*/
interface XDocumentBuilder : com::sun::star::uno::XInterface
{

    /**
    Obtain an instance of a DOMImplementation object.
    */
    XDOMImplementation getDOMImplementation();

    /**
    Indicates whether or not this parser is configured to understand
    namespaces.
    */
    boolean isNamespaceAware();

    /**
    Indicates whether or not this parser is configured to validate XML
    documents.
    */
    boolean isValidating();

    /**
    Obtain a new instance of a DOM Document object to build a DOM tree
    with.
    */
    XDocument newDocument();

    /**
    Parse the content of the given InputStream as an XML document and
    return a new DOM Document object.
    */
    XDocument parse([in] com::sun::star::io::XInputStream is);

    /**
    Parse the content of the given URI as an XML document and return
    a new DOM Document object.
    */
    //XDocument parse([in] string uri);

    /**
    Specify the EntityResolver to be used to resolve entities present
    in the XML document to be parsed.
    */
    // void setEntityResolver([in] XEntityResolver er);

    /**
    Specify the ErrorHandler to be used to report errors present in
    the XML document to be parsed.
    */
    //void setErrorHandler([in] XErrorHandler eh);
};

}; }; }; }; };

#endif
