/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsIAtom.idl"
#include "nsISupports.idl"
#include "nsIRDFDataSource.idl"

[scriptable, uuid(8ae1fbf8-1dd2-11b2-bd21-d728069cca92)]
interface nsIRDFXMLSerializer : nsISupports
{
    /**
     * Initialize the serializer with the specified datasource.
     * @param aDataSource the datasource from which data will be
     *   serialized
     */
    void init(in nsIRDFDataSource aDataSource);

    /**
     * Add the specified namespace to the serializer.
     * @param aPrefix the attribute namespace prefix
     * @param aURI the namespace URI
     */
    void addNameSpace(in nsIAtom aPrefix, in DOMString aURI);
};
