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