2.2.3 [DOMLevel2Core:2000] Section 1.2, Fundamental Interfaces
C0003:
-
IDL Definition exception DOMException { unsigned short code; }; // ExceptionCode const unsigned short INDEX_SIZE_ERR = 1; const unsigned short DOMSTRING_SIZE_ERR = 2; const unsigned short HIERARCHY_REQUEST_ERR = 3; const unsigned short WRONG_DOCUMENT_ERR = 4; const unsigned short INVALID_CHARACTER_ERR = 5; const unsigned short NO_DATA_ALLOWED_ERR = 6; const unsigned short NO_MODIFICATION_ALLOWED_ERR = 7; const unsigned short NOT_FOUND_ERR = 8; const unsigned short NOT_SUPPORTED_ERR = 9; const unsigned short INUSE_ATTRIBUTE_ERR = 10; // Introduced in DOM Level 2: const unsigned short INVALID_STATE_ERR = 11; // Introduced in DOM Level 2: const unsigned short SYNTAX_ERR = 12; // Introduced in DOM Level 2: const unsigned short INVALID_MODIFICATION_ERR = 13; // Introduced in DOM Level 2: const unsigned short NAMESPACE_ERR = 14; // Introduced in DOM Level 2: const unsigned short INVALID_ACCESS_ERR = 15;
MSXML3 and MSXML6
DOMException is not implemented; instead, HRESULT values are returned. The HRESULT code is very different in terms of error types and meanings. Windows terminology uses all uppercase for HRESULT.
V0001:
-
IDL Definition interface DOMImplementation { boolean hasFeature(in DOMString feature, in DOMString version); // Introduced in DOM Level 2: DocumentType createDocumentType(in DOMString qualifiedName, in DOMString publicId, in DOMString systemId) raises(DOMException); // Introduced in DOM Level 2: Document createDocument(in DOMString namespaceURI, in DOMString qualifiedName, in DocumentType doctype) raises(DOMException); };
MSXML3 and MSXML6
The createDocumentType and createDocument methods of the DOMImplementation interface are not supported.
C0004:
-
Method hasFeature Test if the DOM implementation implements a specific feature. Parameters feature of type DOMString The name of the feature to test (case-insensitive). The values used by DOM features are defined throughout the DOM Level 2 specifications and listed in the Conformance section. The name must be an XML name. To avoid possible conflicts, as a convention, names referring to features defined outside the DOM specification should be made unique by reversing the name of the Internet domain name of the person (or the organization that the person belongs to) who defines the feature, component by component, and using this as a prefix. For instance, the W3C SVG Working Group defines the feature "org.w3c.dom.svg". version of type DOMString This is the version number of the feature to test. In Level 2, the string can be either "2.0" or "1.0". If the version is not specified, supporting any version of the feature causes the method to return true. Return Value boolean true if the feature is implemented in the specified version, false otherwise. No Exceptions
MSXML3
The hasFeature method of the DOMImplementation interface supports only the following parameter values:
XML
"version="
1.0
"
The version parameter cannot be
empty. For more information about the "XML
"
value, see [DOMLevel2Core:2000],
Conformance.
MSXML6
The hasFeature method of the DOMImplementation
interface supports only the feature= "XML
"
parameter value.
C0005:
The specification defines the Document interface.
MSXML3 and MSXML6
The following additional Document interface attributes are supported:
async
parseError
preserveWhiteSpace
readyState
resolveExternals
url
validateOnParse
The following additional Document interface methods are supported:
abort
createNode
load
loadXML
nodeFromID
save
The following Document interface events are supported:
ondataavailable
onreadystatechange
ontransformnode
The following methods are not supported:
importNode
createElementNS
createAttributeNS
getElementsByTagNameNS
getElementById
The documentElement attribute is read/write, not read-only.
C0006:
-
Interface Document Attribute documentElement of type Element, readonly This is a convenience attribute that allows direct access to the child node that is the root element of the document. For HTML documents, this is the element with the tagName "HTML".
MSXML3 and MSXML6
The documentElement attribute of the Document interface is read/write, not read-only.
C0007:
The specification defines the interface node.
MSXML3 and MSXML6
The following clarifications apply:
The methods isSupported, hasAttributes, and normalize are not supported.
The normalize method is defined in
Element
.The localName method is not supported, but baseName is supported for similar functionality.
Additional attributes are supported:
dataType
definition
nodeTypeString
nodeTypedValue
parsed
specified
text
xml
Additional methods are supported:
selectNodes
selectSingleNode
transformNode
transformNodeToObject
The nodeType is defined as:
enum tagDOMNodeType { NODE_INVALID, // = 0 NODE_ELEMENT, // = 1 NODE_ATTRIBUTE, // = 2 NODE_TEXT, // = 3 NODE_CDATA_SECTION, // = 4 NODE_ENTITY_REFERENCE, // = 5 NODE_ENTITY, // = 6 NODE_PROCESSING_INSTRUCTION, // = 7 NODE_COMMENT, // = 8 NODE_DOCUMENT, // = 9 NODE_DOCUMENT_TYPE, // = 10 NODE_DOCUMENT_FRAGMENT, // = 11 NODE_NOTATION // = 12 } DOMNodeType;
The names of node types are defined as NODE_xxx instead of xxx_NODE.
C0008:
-
attributes of type NamedNodeMap, readonly A NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise.
MSXML3 and MSXML6
The attributes attribute of the NamedNodeMap interface may return the IXMLDOMNamedNodeMap object for the following constants:
NODE_ELEMENT
NODE_PROCESSING_INSTRUCTION
NODE_DOCUMENT_TYPE
NODE_ENTITY
NODE_NOTATION
C0009:
-
Attribute localName of type DOMString, readonly, introduced in DOM Level 2 Returns the local part of the qualified name of this node. For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is always null.
MSXML3 and MSXML6
The baseName attribute of the Node interface is supported and provides the same functionality as localName. However, baseName returns an empty string for nodes other than element and attribute.
C0010:
-
Attribute namespaceURI of type DOMString, readonly, introduced in DOM Level 2 The namespace URI of this node, or null if it is unspecified. This is not a computed value that is the result of a namespace lookup based on an examination of the namespace declarations in scope. It is merely the namespace URI given at creation time. For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is always null. Note: Per the Namespaces in XML Specification [Namespaces] an attribute does not inherit its namespace from the element it is attached to. If an attribute is not explicitly given a namespace, it simply has no namespace.
MSXML3 and MSXML6
The following clarifications apply:
The namespaceURI attribute of the Node interface returns an empty string if the namespace URI of the node is not specified.
The namespaceURI attribute returns an empty string for nodes other than element and attribute.
V0002:
-
Attribute nodeValue of type DOMString The value of this node, depending on its type; see the table above. When it is defined to be null, setting it has no effect. Exceptions on setting DOMException NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. Exceptions on retrieval DOMException DOMSTRING_SIZE_ERR: Raised when it would return more characters than fit in a DOMString variable on the implementation platform.
MSXML3 and MSXML6
The DOMSTRING_SIZE_ERR exception for the nodeValue attribute of the Node interface is not returned because the only limit of a BSTR value is physical memory.
C0011:
-
Attribute prefix of type DOMString, introduced in DOM Level 2 The namespace prefix of this node, or null if it is unspecified. Note that setting this attribute, when permitted, changes the nodeName attribute, which holds the qualified name, as well as the tagName and name attributes of the Element and Attr interfaces, when applicable. Note also that changing the prefix of an attribute that is known to have a default value, does not make a new attribute with the default value and the original prefix appear, since the namespaceURI and localName do not change. For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is always null. Exceptions on setting DOMException INVALID_CHARACTER_ERR: Raised if the specified prefix contains an illegal character. NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. NAMESPACE_ERR: Raised if the specified prefix is malformed, if the namespaceURI of this node is null, if the specified prefix is "xml" and the namespaceURI of this node is different from "http://www.w3.org/XML/1998/namespace", if this node is an attribute and the specified prefix is "xmlns" and the namespaceURI of this node is different from "http://www.w3.org/2000/xmlns/", or if this node is an attribute and the qualifiedName of this node is "xmlns" [Namespaces].
MSXML3 and MSXML6
The following clarifications apply:
The prefix attribute of the Node interface is read-only. Any attempt to set a new value for prefix causes an exception.
An empty string is returned if the namespace prefix of the node is not specified, or if the node is not an element or an attribute.
C0012:
-
appendChild Adds the node newChild to the end of the list of children of this node. If the newChild is already in the tree, it is first removed. Parameters newChild of type Node The node to add. If it is a DocumentFragment object, the entire contents of the document fragment are moved into the child list of this node Return Value Node The node added. Exceptions DOMException HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not allow children of the type of the newChild node, or if the node to append is one of this node's ancestors. WRONG_DOCUMENT_ERR: Raised if newChild was created from a different document than the one that created this node. NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
MSXML3 and MSXML6
The appendChild method of the Node interface can accept a newChild node that was created from a different document. A WRONG_DOCUMENT_ERR exception is not thrown in this case.
C0013:
-
replaceChild Replaces the child node oldChild with newChild in the list of children, and returns the oldChild node. If newChild is a DocumentFragment object, oldChild is replaced by all of the DocumentFragment children, which are inserted in the same order. If the newChild is already in the tree, it is first removed. Parameters newChild of type Node The new node to put in the child list. oldChild of type Node The node being replaced in the list. Return Value Node The node replaced. Exceptions DOMException HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not allow children of the type of the newChild node, or if the node to put in is one of this node's ancestors. WRONG_DOCUMENT_ERR: Raised if newChild was created from a different document than the one that created this node. NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the parent of the new node is readonly. NOT_FOUND_ERR: Raised if oldChild is not a child of this node.
MSXML3 and MSXML6
The replaceChild method of the Node interface accepts a newChild node that was created from a different document. A WRONG_DOCUMENT_ERR exception is not thrown in this case.
E0001:
-
-
IDL Definition
-
interface NodeList {
-
Node item(in unsigned long index);
-
readonly attribute unsigned long length;
-
};
-
MSXML3 and MSXML6
The NodeList interface has two additional methods, nextNode
and reset. The length attribute and index of the item
method is of type long
instead of unsigned long
.
E0002:
The specification defines the NamedNodeMap interface.
MSXML3 and MSXML6
The following NamedNodeMap interface methods are not supported:
getNamedItemNS
removeNamedItemNS
setNamedItemNS
The following additional NamedNodeMap interface methods are supported:
getQualifiedItem
nextNode
removeQualifiedItem
reset
The length attribute is of type long
instead of unsigned long
.
C0014:
-
removeNamedItem Removes a node specified by name. When this map contains the attributes attached to an element, if the removed attribute is known to have a default value, an attribute immediately appears containing the default value as well as the corresponding namespace URI, local name, and prefix when applicable. Parameters name of type DOMString The nodeName of the node to remove. Return Value Node The node removed from this map if a node with such a name exists. Exceptions DOMException NOT_FOUND_ERR: Raised if there is no node named name in this map. NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
MSXML3 and MSXML6
The removeNamedItem method of the NamedNodeMap interface returns null if no node is specified for the name parameter. The NOT_FOUND_ERR exception is never thrown.
C0015:
-
setNamedItem Adds a node using its nodeName attribute. If a node with that name is already present in this map, it is replaced by the new one. As the nodeName attribute is used to derive the name which the node must be stored under, multiple nodes of certain types (those that have a "special" string value) cannot be stored as the names would clash. This is seen as preferable to allowing nodes to be aliased. Parameters arg of type Node A node to store in this map. The node will later be accessible using the value of its nodeName attribute. Return Value Node If the new Node replaces an existing node the replaced Node is returned, otherwise null is returned. Exceptions DOMException WRONG_DOCUMENT_ERR: Raised if arg was created from a different document than the one that created this map. NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. INUSE_ATTRIBUTE_ERR: Raised if arg is an Attr that is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
MSXML3 and MSXML6
The setNamedItem method of the NamedNodeMap interface has the following behaviors:
The method returns the node that was successfully added to the collection, not the previously existing node.
The method accepts a node that was created by a different document, so it never throws the WRONG_DOCUMENT_ERR exception.
C0016:
The specification defines the CharacterData interface.
MSXML3 and MSXML6
The length, offset, and count
attributes of the CharacterData interface are of type long
, instead of unsigned long.
C0017:
-
data of type DOMString The character data of the node that implements this interface. The DOM implementation may not put arbitrary limits on the amount of data that may be stored in a CharacterData node. However, implementation limits may mean that the entirety of a node's data may not fit into a single DOMString. In such cases, the user may call substringData to retrieve the data in appropriately sized pieces. Exceptions on setting DOMException NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. Exceptions on retrieval DOMException DOMSTRING_SIZE_ERR: Raised when it would return more characters than fit in a DOMString variable on the implementation platform. length of type unsigned long, readonly The number of 16-bit units that are available through data and the substringData method below. This may have the value zero, i.e., CharacterData nodes may be empty.
MSXML3 and MSXML6
The data attribute of the CharacterData interface does not return an error code in the same manner as the DOMSTRING_SIZE_ERR because the only limit of a BSTR value is physical memory.
C0018:
-
substringData Extracts a range of data from the node. Parameters offset of type unsigned long Start offset of substring to extract. count of type unsigned long The number of 16-bit units to extract. Return Value DOMString The specified substring. If the sum of offset and count exceeds the length, then all 16-bit units to the end of the data are returned. Exceptions DOMException INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than the number of 16-bit units in data, or if the specified count is negative. DOMSTRING_SIZE_ERR: Raised if the specified range of text does not fit into a DOMString.
MSXML3 and MSXML6
The substringData method of the CharacterData interface does not return an error code in the same manner as the DOMSTRING_SIZE_ERR because the only limit of a BSTR value is physical memory.
C0019:
-
IDL Definition interface Attr : Node { readonly attribute DOMString name; readonly attribute boolean specified; attribute DOMString value; // raises(DOMException) on setting // Introduced in DOM Level 2: readonly attribute Element ownerElement; };
MSXML3 and MSXML6
The following clarifications apply:
The ownerElement attribute of the Attr interface is not supported.
The type of the value attribute is
VARIANT
.The type of the specified attribute is
VARIANT_BOOL
.
C0020:
The specification defines the Element interface.
MSXML3 and MSXML6
The following methods of the Element interface are supported:
getAttribute
getAttributeNode
getElementsByTagName
removeAttribute
removeAttributeNode
setAttribute
setAttributeNode
The following methods are not supported:
getAttributeNodeNS
getAttributeNS
getElementsByTagNameNS
hasAttribute
hasAttributeNS
removeAttributeNS
setAttributeNodeNS
setAttributeNS
The following clarifications apply:
The getAttribute method returns a value of type
VARIANT
.The setAttribute method requires that the value attribute is of type
VARIANT
.
C0021:
-
getAttribute Retrieves an attribute value by name. Parameters name of type DOMString The name of the attribute to retrieve. Return Value DOMString The Attr value as a string, or the empty string if that attribute does not have a specified or default value. No Exceptions
MSXML3 and MSXML6
The getAttribute method of the Element interface returns null if the attribute does not have a specified or default value.
C0022:
-
setAttributeNode Adds a new attribute node. If an attribute with that name (nodeName) is already present in the element, it is replaced by the new one. To add a new attribute node with a qualified name and namespace URI, use the setAttributeNodeNS method. Parameters newAttr of type Attr The Attr node to add to the attribute list. Return Value Attr If the newAttr attribute replaces an existing attribute, the replaced Attr node is returned, otherwise null is returned. Exceptions DOMException WRONG_DOCUMENT_ERR: Raised if newAttr was created from a different document than the one that created the element. NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
MSXML3 and MSXML6
The setAttributeNode method of the Element interface can accept new attribute node newAttr that was created from a different document. A WRONG_DOCUMENT_ERR error is not thrown in such case.
C0023:
-
IDL Definition interface Text : CharacterData { Text splitText(in unsigned long offset) raises(DOMException); };
MSXML3 and MSXML6
The offset parameter of the splitText method
of the Text interface is of type long
.
V0003:
-
Method splitText Breaks this node into two nodes at the specified offset, keeping both in the tree as siblings. After being split, this node will contain all the content up to the offset point. A new node of the same type, which contains all the content at and after the offset point, is returned. If the original node had a parent node, the new node is inserted as the next sibling of the original node. When the offset is equal to the length of this node, the new node has no data. Parameters offset of type unsigned long The 16-bit unit offset at which to split, starting from 0. Return Value Text The new node, of the same type as this node. Exceptions DOMException INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than the number of 16-bit units in data. NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
MSXML3 and MSXML6
The splitText method of the Text interface returns null when the value of offset parameter is the length of the data.