diff options
Diffstat (limited to 'parser/xml/nsISAXMutableAttributes.idl')
-rw-r--r-- | parser/xml/nsISAXMutableAttributes.idl | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/parser/xml/nsISAXMutableAttributes.idl b/parser/xml/nsISAXMutableAttributes.idl new file mode 100644 index 000000000..c3c205005 --- /dev/null +++ b/parser/xml/nsISAXMutableAttributes.idl @@ -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); +}; |