/* * Copyright (c) 2001 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 com.sun.org.apache.xerces.internal.dom3.as; import org.w3c.dom.Node; /** * @deprecated * This interface extends a Node from with additional methods * for guided document editing. The expectation is that an instance of the * DOMImplementationAS interface can be obtained by using * binding-specific casting methods on an instance of the * DOMImplementation interface when the DOM implementation * supports the feature "AS-DOC". *

See also the Document Object Model (DOM) Level 3 Abstract Schemas and Load and Save Specification. */ public interface NodeEditAS { // ASCheckType /** * Check for well-formedness of this node. */ public static final short WF_CHECK = 1; /** * Check for namespace well-formedness includes WF_CHECK. */ public static final short NS_WF_CHECK = 2; /** * Checks for whether this node is partially valid. It includes * NS_WF_CHECK. */ public static final short PARTIAL_VALIDITY_CHECK = 3; /** * Checks for strict validity of the node with respect to active AS which * by definition includes NS_WF_CHECK. */ public static final short STRICT_VALIDITY_CHECK = 4; /** * Determines whether the insertBefore operation from the * Node interface would make this document invalid with * respect to the currently active AS. Describe "valid" when referring * to partially completed documents. * @param newChild Node to be inserted. * @param refChild Reference Node. * @return true if no reason it can't be done; * false if it can't be done. */ public boolean canInsertBefore(Node newChild, Node refChild); /** * Has the same arguments as RemoveChild. * @param oldChild Node to be removed. * @return true if no reason it can't be done; * false if it can't be done. */ public boolean canRemoveChild(Node oldChild); /** * Has the same arguments as ReplaceChild. * @param newChild New Node. * @param oldChild Node to be replaced. * @return true if no reason it can't be done; * false if it can't be done. */ public boolean canReplaceChild(Node newChild, Node oldChild); /** * Has the same arguments as AppendChild. * @param newChild Node to be appended. * @return true if no reason it can't be done; * false if it can't be done. */ public boolean canAppendChild(Node newChild); /** * Determines if the Node is valid relative to currently active AS. It * doesn't normalize before checking if the document is valid. To do so, * one would need to explicitly call a normalize method. * @param deep Setting the deep flag on causes the * isNodeValid method to check for the whole subtree of * the current node for validity. Setting it to false * only checks the current node and its immediate child nodes. The * validate method on the DocumentAS * interface, however, checks to determine whether the entire document * is valid. * @param wFValidityCheckLevel Flag to tell at what level validity and * well-formedness checking is done. * @return true if the node is valid/well-formed in the * current context and check level defined by * wfValidityCheckLevel, false if not. * @exception DOMASException * NO_AS_AVAILABLE: Raised if the * DocumentEditAS related to this node does not have any * active ASModel and wfValidityCheckLevel * is set to PARTIAL or STRICT_VALIDITY_CHECK * . */ public boolean isNodeValid(boolean deep, short wFValidityCheckLevel) throws DOMASException; }