summaryrefslogtreecommitdiff
path: root/parser/xml/nsISAXMutableAttributes.idl
diff options
context:
space:
mode:
Diffstat (limited to 'parser/xml/nsISAXMutableAttributes.idl')
-rw-r--r--parser/xml/nsISAXMutableAttributes.idl127
1 files changed, 127 insertions, 0 deletions
diff --git a/parser/xml/nsISAXMutableAttributes.idl b/parser/xml/nsISAXMutableAttributes.idl
new file mode 100644
index 0000000000..c3c205005d
--- /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);
+};