/*
 * 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 org.apache.xerces.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.

/** * @deprecated * This interface extends a <code>Node</code> from with additional methods * for guided document editing. The expectation is that an instance of the * <code>DOMImplementationAS</code> interface can be obtained by using * binding-specific casting methods on an instance of the * <code>DOMImplementation</code> interface when the DOM implementation * supports the feature "<code>AS-DOC</code>". * <p>See also the <a href='http://www.w3.org/TR/2001/WD-DOM-Level-3-ASLS-20011025'>Document Object Model (DOM) Level 3 Abstract Schemas and Load and Save Specification</a>. */
public interface NodeEditAS { // ASCheckType
Check for well-formedness of this node.
/** * Check for well-formedness of this node. */
public static final short WF_CHECK = 1;
Check for namespace well-formedness includes WF_CHECK.
/** * Check for namespace well-formedness includes <code>WF_CHECK</code>. */
public static final short NS_WF_CHECK = 2;
Checks for whether this node is partially valid. It includes NS_WF_CHECK.
/** * Checks for whether this node is partially valid. It includes * <code>NS_WF_CHECK</code>. */
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.
/** * Checks for strict validity of the node with respect to active AS which * by definition includes <code>NS_WF_CHECK</code>. */
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.
Params:
  • newChild – Node to be inserted.
  • refChild – Reference Node.
Returns:true if no reason it can't be done; false if it can't be done.
/** * Determines whether the <code>insertBefore</code> operation from the * <code>Node</code> interface would make this document invalid with * respect to the currently active AS. Describe "valid" when referring * to partially completed documents. * @param newChild <code>Node</code> to be inserted. * @param refChild Reference <code>Node</code>. * @return <code>true</code> if no reason it can't be done; * <code>false</code> if it can't be done. */
public boolean canInsertBefore(Node newChild, Node refChild);
Has the same arguments as RemoveChild.
Params:
  • oldChild – Node to be removed.
Returns:true if no reason it can't be done; false if it can't be done.
/** * Has the same arguments as <code>RemoveChild</code>. * @param oldChild <code>Node</code> to be removed. * @return <code>true</code> if no reason it can't be done; * <code>false</code> if it can't be done. */
public boolean canRemoveChild(Node oldChild);
Has the same arguments as ReplaceChild.
Params:
  • newChild – New Node.
  • oldChild – Node to be replaced.
Returns:true if no reason it can't be done; false if it can't be done.
/** * Has the same arguments as <code>ReplaceChild</code>. * @param newChild New <code>Node</code>. * @param oldChild <code>Node</code> to be replaced. * @return <code>true</code> if no reason it can't be done; * <code>false</code> if it can't be done. */
public boolean canReplaceChild(Node newChild, Node oldChild);
Has the same arguments as AppendChild.
Params:
  • newChild – Node to be appended.
Returns:true if no reason it can't be done; false if it can't be done.
/** * Has the same arguments as <code>AppendChild</code>. * @param newChild <code>Node</code> to be appended. * @return <code>true</code> if no reason it can't be done; * <code>false</code> 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.
Params:
  • 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.
  • wFValidityCheckLevel – Flag to tell at what level validity and well-formedness checking is done.
Throws:
  • DOMASExceptionNO_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 .
Returns:true if the node is valid/well-formed in the current context and check level defined by wfValidityCheckLevel, false if not.
/** * 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 <code>deep</code> flag on causes the * <code>isNodeValid</code> method to check for the whole subtree of * the current node for validity. Setting it to <code>false</code> * only checks the current node and its immediate child nodes. The * <code>validate</code> method on the <code>DocumentAS</code> * 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 <code>true</code> if the node is valid/well-formed in the * current context and check level defined by * <code>wfValidityCheckLevel</code>, <code>false</code> if not. * @exception DOMASException * <code>NO_AS_AVAILABLE</code>: Raised if the * <code>DocumentEditAS</code> related to this node does not have any * active <code>ASModel</code> and <code>wfValidityCheckLevel</code> * is set to <code>PARTIAL</code> or <code>STRICT_VALIDITY_CHECK</code> * . */
public boolean isNodeValid(boolean deep, short wFValidityCheckLevel) throws DOMASException; }