📄 node.java
字号:
/* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] in the hope that * it will be useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */package org.w3c.dom;/** * The <code>Node</code> interface is the primary datatype for the entire * Document Object Model. It represents a single node in the document tree. * While all objects implementing the <code>Node</code> interface expose * methods for dealing with children, not all objects implementing the * <code>Node</code> interface may have children. For example, * <code>Text</code> nodes may not have children, and adding children to * such nodes results in a <code>DOMException</code> being raised. * <p>The attributes <code>nodeName</code>, <code>nodeValue</code> and * <code>attributes</code> are included as a mechanism to get at node * information without casting down to the specific derived interface. In * cases where there is no obvious mapping of these attributes for a * specific <code>nodeType</code> (e.g., <code>nodeValue</code> for an * <code>Element</code> or <code>attributes</code> for a <code>Comment</code> * ), this returns <code>null</code>. Note that the specialized interfaces * may contain additional and more convenient mechanisms to get and set the * relevant information. * <p>The values of <code>nodeName</code>, * <code>nodeValue</code>, and <code>attributes</code> vary according to the * node type as follows: * <table border='1' cellpadding='3'> * <tr> * <th>Interface</th> * <th>nodeName</th> * <th>nodeValue</th> * <th>attributes</th> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'> * <code>Attr</code></td> * <td valign='top' rowspan='1' colspan='1'>same as <code>Attr.name</code></td> * <td valign='top' rowspan='1' colspan='1'>same as * <code>Attr.value</code></td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'><code>CDATASection</code></td> * <td valign='top' rowspan='1' colspan='1'> * <code>"#cdata-section"</code></td> * <td valign='top' rowspan='1' colspan='1'>same as <code>CharacterData.data</code>, the * content of the CDATA Section</td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'><code>Comment</code></td> * <td valign='top' rowspan='1' colspan='1'> * <code>"#comment"</code></td> * <td valign='top' rowspan='1' colspan='1'>same as <code>CharacterData.data</code>, the * content of the comment</td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'><code>Document</code></td> * <td valign='top' rowspan='1' colspan='1'> * <code>"#document"</code></td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'> * <code>DocumentFragment</code></td> * <td valign='top' rowspan='1' colspan='1'><code>"#document-fragment"</code></td> * <td valign='top' rowspan='1' colspan='1'> * <code>null</code></td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'><code>DocumentType</code></td> * <td valign='top' rowspan='1' colspan='1'>same as * <code>DocumentType.name</code></td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'> * <code>Element</code></td> * <td valign='top' rowspan='1' colspan='1'>same as <code>Element.tagName</code></td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * <td valign='top' rowspan='1' colspan='1'> * <code>NamedNodeMap</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'><code>Entity</code></td> * <td valign='top' rowspan='1' colspan='1'>entity name</td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * <td valign='top' rowspan='1' colspan='1'> * <code>null</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'><code>EntityReference</code></td> * <td valign='top' rowspan='1' colspan='1'>name of entity referenced</td> * <td valign='top' rowspan='1' colspan='1'> * <code>null</code></td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'><code>Notation</code></td> * <td valign='top' rowspan='1' colspan='1'>notation name</td> * <td valign='top' rowspan='1' colspan='1'> * <code>null</code></td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'><code>ProcessingInstruction</code></td> * <td valign='top' rowspan='1' colspan='1'>same * as <code>ProcessingInstruction.target</code></td> * <td valign='top' rowspan='1' colspan='1'>same as * <code>ProcessingInstruction.data</code></td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'><code>Text</code></td> * <td valign='top' rowspan='1' colspan='1'> * <code>"#text"</code></td> * <td valign='top' rowspan='1' colspan='1'>same as <code>CharacterData.data</code>, the content * of the text node</td> * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> * </tr> * </table> * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. */public interface Node { // NodeType /** * The node is an <code>Element</code>. */ public static final short ELEMENT_NODE = 1; /** * The node is an <code>Attr</code>. */ public static final short ATTRIBUTE_NODE = 2; /** * The node is a <code>Text</code> node. */ public static final short TEXT_NODE = 3; /** * The node is a <code>CDATASection</code>. */ public static final short CDATA_SECTION_NODE = 4; /** * The node is an <code>EntityReference</code>. */ public static final short ENTITY_REFERENCE_NODE = 5; /** * The node is an <code>Entity</code>. */ public static final short ENTITY_NODE = 6; /** * The node is a <code>ProcessingInstruction</code>. */ public static final short PROCESSING_INSTRUCTION_NODE = 7; /** * The node is a <code>Comment</code>. */ public static final short COMMENT_NODE = 8; /** * The node is a <code>Document</code>. */ public static final short DOCUMENT_NODE = 9; /** * The node is a <code>DocumentType</code>. */ public static final short DOCUMENT_TYPE_NODE = 10; /** * The node is a <code>DocumentFragment</code>. */ public static final short DOCUMENT_FRAGMENT_NODE = 11; /** * The node is a <code>Notation</code>. */ public static final short NOTATION_NODE = 12; /** * The name of this node, depending on its type; see the table above. */ public String getNodeName(); /** * The value of this node, depending on its type; see the table above. * When it is defined to be <code>null</code>, setting it has no effect, * including if the node is read-only. * @exception DOMException * DOMSTRING_SIZE_ERR: Raised when it would return more characters than * fit in a <code>DOMString</code> variable on the implementation * platform. */ public String getNodeValue() throws DOMException; /** * The value of this node, depending on its type; see the table above. * When it is defined to be <code>null</code>, setting it has no effect, * including if the node is read-only. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly and if * it is not defined to be <code>null</code>. */ public void setNodeValue(String nodeValue) throws DOMException; /** * A code representing the type of the underlying object, as defined above. */ public short getNodeType(); /** * The parent of this node. All nodes, except <code>Attr</code>, * <code>Document</code>, <code>DocumentFragment</code>, * <code>Entity</code>, and <code>Notation</code> may have a parent. * However, if a node has just been created and not yet added to the * tree, or if it has been removed from the tree, this is * <code>null</code>. */ public Node getParentNode(); /** * A <code>NodeList</code> that contains all children of this node. If * there are no children, this is a <code>NodeList</code> containing no * nodes. */ public NodeList getChildNodes(); /** * The first child of this node. If there is no such node, this returns * <code>null</code>. */ public Node getFirstChild(); /** * The last child of this node. If there is no such node, this returns * <code>null</code>. */ public Node getLastChild(); /** * The node immediately preceding this node. If there is no such node, * this returns <code>null</code>. */ public Node getPreviousSibling(); /** * The node immediately following this node. If there is no such node, * this returns <code>null</code>. */ public Node getNextSibling(); /** * A <code>NamedNodeMap</code> containing the attributes of this node (if * it is an <code>Element</code>) or <code>null</code> otherwise. */ public NamedNodeMap getAttributes(); /** * The <code>Document</code> object associated with this node. This is * also the <code>Document</code> object used to create new nodes. When * this node is a <code>Document</code> or a <code>DocumentType</code> * which is not used with any <code>Document</code> yet, this is * <code>null</code>. * @version DOM Level 2 */ public Document getOwnerDocument(); /** * Inserts the node <code>newChild</code> before the existing child node * <code>refChild</code>. If <code>refChild</code> is <code>null</code>, * insert <code>newChild</code> at the end of the list of children. * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object, * all of its children are inserted, in the same order, before * <code>refChild</code>. If the <code>newChild</code> is already in the * tree, it is first removed. * <p ><b>Note:</b> Inserting a node before itself is implementation * dependent. * @param newChild The node to insert. * @param refChild The reference node, i.e., the node before which the * new node must be inserted. * @return The node being inserted. * @exception DOMException * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not * allow children of the type of the <code>newChild</code> node, or if * the node to insert is one of this node's ancestors or this node * itself, or if this node is of type <code>Document</code> and the * DOM application attempts to insert a second * <code>DocumentType</code> or <code>Element</code> node. * <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created * from a different document than the one that created this node. * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or * if the parent of the node being inserted is readonly. * <br>NOT_FOUND_ERR: Raised if <code>refChild</code> is not a child of
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -