node.java

来自「kaffe Java 解释器语言,源码,Java的子集系统,开放源代码」· Java 代码 · 共 527 行 · 第 1/2 页

JAVA
527
字号
/* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. This program is distributed 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. * See W3C License http://www.w3.org/Consortium/Legal/ for more details. */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'> * <tr> * <th>Interface</th> * <th>nodeName</th> * <th>nodeValue</th> * <th>attributes</th> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>Attr</td> * <td valign='top' rowspan='1' colspan='1'>name of  * attribute</td> * <td valign='top' rowspan='1' colspan='1'>value of attribute</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>CDATASection</td> * <td valign='top' rowspan='1' colspan='1'><code>"#cdata-section"</code></td> * <td valign='top' rowspan='1' colspan='1'> * content of the CDATA Section</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>Comment</td> * <td valign='top' rowspan='1' colspan='1'><code>"#comment"</code></td> * <td valign='top' rowspan='1' colspan='1'>content of  * the comment</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>Document</td> * <td valign='top' rowspan='1' colspan='1'><code>"#document"</code></td> * <td valign='top' rowspan='1' colspan='1'>null</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>DocumentFragment</td> * <td valign='top' rowspan='1' colspan='1'> * <code>"#document-fragment"</code></td> * <td valign='top' rowspan='1' colspan='1'>null</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>DocumentType</td> * <td valign='top' rowspan='1' colspan='1'>document type name</td> * <td valign='top' rowspan='1' colspan='1'> * null</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>Element</td> * <td valign='top' rowspan='1' colspan='1'>tag name</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * <td valign='top' rowspan='1' colspan='1'>NamedNodeMap</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>Entity</td> * <td valign='top' rowspan='1' colspan='1'>entity name</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'> * EntityReference</td> * <td valign='top' rowspan='1' colspan='1'>name of entity referenced</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>Notation</td> * <td valign='top' rowspan='1' colspan='1'>notation name</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * <td valign='top' rowspan='1' colspan='1'> * null</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>ProcessingInstruction</td> * <td valign='top' rowspan='1' colspan='1'>target</td> * <td valign='top' rowspan='1' colspan='1'>entire content excluding the target</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * </tr> * <tr> * <td valign='top' rowspan='1' colspan='1'>Text</td> * <td valign='top' rowspan='1' colspan='1'> * <code>"#text"</code></td> * <td valign='top' rowspan='1' colspan='1'>content of the text node</td> * <td valign='top' rowspan='1' colspan='1'>null</td> * </tr> * </table>  * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 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.     * @exception DOMException     *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.     * @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.     * @exception DOMException     *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.     * @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 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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?