diff -r 000000000000 -r 6474c204b198 parser/xml/public/nsISAXMutableAttributes.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/parser/xml/public/nsISAXMutableAttributes.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,127 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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 "nsISupports.idl" +#include "nsISAXAttributes.idl" + +/** + * This interface extends the nsISAXAttributes interface with + * manipulators so that the list can be modified or reused. + */ +[scriptable, uuid(8b1de83d-cebb-49fa-8245-c0fe319eb7b6)] +interface nsISAXMutableAttributes : nsISAXAttributes { + + /** + * Add an attribute to the end of the list. + * + * For the sake of speed, this method does no checking + * to see if the attribute is already in the list: that is + * the responsibility of the application. + * + * @param uri The Namespace URI, or the empty string if + * none is available or Namespace processing is not + * being performed. + * @param localName The local name, or the empty string if + * Namespace processing is not being performed. + * @param qName The qualified (prefixed) name, or the empty string + * if qualified names are not available. + * @param type The attribute type as a string. + * @param value The attribute value. + */ + void addAttribute(in AString uri, + in AString localName, + in AString qName, + in AString type, + in AString value); + + /** + * Clear the attribute list for reuse. + */ + void clear(); + + /** + * Remove an attribute from the list. + * + * @param index The index of the attribute (zero-based). + */ + void removeAttribute(in unsigned long index); + + /** + * Set the attributes list. This method will clear any attributes in + * the list before adding the attributes from the argument. + * + * @param attributes The attributes object to replace populate the + * list with. + */ + void setAttributes(in nsISAXAttributes attributes); + + /** + * Set an attribute in the list. + * + * For the sake of speed, this method does no checking for name + * conflicts or well-formedness: such checks are the responsibility + * of the application. + * + * @param index The index of the attribute (zero-based). + * @param uri The Namespace URI, or the empty string if + * none is available or Namespace processing is not + * being performed. + * @param localName The local name, or the empty string if + * Namespace processing is not being performed. + * @param qName The qualified name, or the empty string + * if qualified names are not available. + * @param type The attribute type as a string. + * @param value The attribute value. + */ + void setAttribute(in unsigned long index, + in AString uri, + in AString localName, + in AString qName, + in AString type, + in AString value); + + /** + * Set the local name of a specific attribute. + * + * @param index The index of the attribute (zero-based). + * @param localName The attribute's local name, or the empty + * string for none. + */ + void setLocalName(in unsigned long index, in AString localName); + + /** + * Set the qualified name of a specific attribute. + * + * @param index The index of the attribute (zero-based). + * @param qName The attribute's qualified name, or the empty + * string for none. + */ + void setQName(in unsigned long index, in AString qName); + + /** + * Set the type of a specific attribute. + * + * @param index The index of the attribute (zero-based). + * @param type The attribute's type. + */ + void setType(in unsigned long index, in AString type); + + /** + * Set the Namespace URI of a specific attribute. + * + * @param index The index of the attribute (zero-based). + * @param uri The attribute's Namespace URI, or the empty + * string for none. + */ + void setURI(in unsigned long index, in AString uri); + + /** + * Set the value of a specific attribute. + * + * @param index The index of the attribute (zero-based). + * @param value The attribute's value. + */ + void setValue(in unsigned long index, in AString value); +};