/* * 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.DOMException; /** * @deprecated * This interface extends the <code>Document</code> interface with additional * methods for both document and AS editing. * <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 DocumentAS { /** * The active external ASModel. Note that the active external * <code>ASModel</code> is responsible for consulting the internal * ASModel, so if an attribute is declared in the internal * <code>ASModel</code> and the corresponding <code>ownerElements</code> * points to a <code>ASElementDeclaration</code>s defined in the active * external ASModel, changing the active external ASModel will cause the * <code>ownerElements</code> to be recomputed. If the * <code>ownerElements</code> is not defined in the newly active * external ASModel, the <code>ownerElements</code> will be an empty * node list. */ public ASModel getActiveASModel(); /** * The active external ASModel. Note that the active external * <code>ASModel</code> is responsible for consulting the internal * ASModel, so if an attribute is declared in the internal * <code>ASModel</code> and the corresponding <code>ownerElements</code> * points to a <code>ASElementDeclaration</code>s defined in the active * external ASModel, changing the active external ASModel will cause the * <code>ownerElements</code> to be recomputed. If the * <code>ownerElements</code> is not defined in the newly active * external ASModel, the <code>ownerElements</code> will be an empty * node list. */ public void setActiveASModel(ASModel activeASModel); /** * A list of <code>ASObject</code>s of type <code>AS_MODEL</code>s * associated with a document. The <code>addAS</code> method associates * a <code>ASModel</code> with a document. */ public ASObjectList getBoundASModels(); /** * A list of <code>ASObject</code>s of type <code>AS_MODEL</code>s * associated with a document. The <code>addAS</code> method associates * a <code>ASModel</code> with a document. */ public void setBoundASModels(ASObjectList boundASModels); /** * Retrieve the internal <code>ASModel</code> of a document. * @return <code>ASModel</code>. */ public ASModel getInternalAS(); /** * Sets the internal subset <code>ASModel</code> of a document. This could * be null as a mechanism for "removal". * @param as <code>ASModel</code> to be the internal subset of the * document. */ public void setInternalAS(ASModel as); /** * Associate a <code>ASModel</code> with a document. Can be invoked * multiple times to result in a list of <code>ASModel</code>s. Note * that only one internal <code>ASModel</code> is associated with the * document, however, and that only one of the possible list of * <code>ASModel</code>s is active at any one time. * @param as <code>ASModel</code> to be associated with the document. */ public void addAS(ASModel as); /** * Removes a <code>ASModel</code> associated with a document. Can be * invoked multiple times to remove a number of these in the list of * <code>ASModel</code>s. * @param as The <code>ASModel</code> to be removed. */ public void removeAS(ASModel as); /** * Gets the AS editing object describing this elementThis method needs to * be changed and others added. * @return ASElementDeclaration object if the implementation supports " * <code>AS-EDIT</code>" feature. Otherwise <code>null</code>. * @exception org.w3c.dom.DOMException * NOT_FOUND_ERR: Raised if no <code>ASModel</code> is present. */ public ASElementDeclaration getElementDeclaration() throws DOMException; /** * Validates the document against the <code>ASModel</code>. * @exception DOMASException * */ public void validate() throws DOMASException; }