2
* Copyright (c) 2001 World Wide Web Consortium,
3
* (Massachusetts Institute of Technology, Institut National de
4
* Recherche en Informatique et en Automatique, Keio University). All
5
* Rights Reserved. This program is distributed under the W3C's Software
6
* Intellectual Property License. This program is distributed in the
7
* hope that it will be useful, but WITHOUT ANY WARRANTY; without even
8
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
10
* See W3C License http://www.w3.org/Consortium/Legal/ for more details.
13
package org.apache.xerces.dom3.as;
17
* The <code>ASObject</code> interface is analogous to a <code>Node</code> in
18
* , e.g., an element declaration.
20
* <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
21
and Save Specification</a>.
23
public interface ASObject {
26
* The node is an <code>ASElementDeclaration</code>.
28
public static final short AS_ELEMENT_DECLARATION = 1;
30
* The node is an <code>ASAttributeDeclaration</code>.
32
public static final short AS_ATTRIBUTE_DECLARATION = 2;
34
* The node is a <code>ASNotationDeclaration</code>.
36
public static final short AS_NOTATION_DECLARATION = 3;
38
* The node is an <code>ASEntityDeclaration</code>.
40
public static final short AS_ENTITY_DECLARATION = 4;
42
* The node is a <code>ASContentModel</code>.
44
public static final short AS_CONTENTMODEL = 5;
46
* The node is a <code>ASModel</code>.
48
public static final short AS_MODEL = 6;
51
* A code representing the underlying object as defined above.
53
public short getAsNodeType();
56
* The <code>ASModel</code> object associated with this
57
* <code>ASObject</code>. For a node of type <code>AS_MODEL</code>, this
58
* is <code>null</code>.
60
public ASModel getOwnerASModel();
62
* The <code>ASModel</code> object associated with this
63
* <code>ASObject</code>. For a node of type <code>AS_MODEL</code>, this
64
* is <code>null</code>.
66
public void setOwnerASModel(ASModel ownerASModel);
69
* The <code>name</code> of this <code>ASObject</code> depending on the
70
* <code>ASObject</code> type.
72
public String getNodeName();
74
* The <code>name</code> of this <code>ASObject</code> depending on the
75
* <code>ASObject</code> type.
77
public void setNodeName(String nodeName);
80
* The namespace prefix of this node, or <code>null</code> if it is
83
public String getPrefix();
85
* The namespace prefix of this node, or <code>null</code> if it is
88
public void setPrefix(String prefix);
91
* Returns the local part of the qualified name of this
92
* <code>ASObject</code>.
94
public String getLocalName();
96
* Returns the local part of the qualified name of this
97
* <code>ASObject</code>.
99
public void setLocalName(String localName);
102
* The namespace URI of this node, or <code>null</code> if it is
103
* unspecified. defines how a namespace URI is attached to schema
106
public String getNamespaceURI();
108
* The namespace URI of this node, or <code>null</code> if it is
109
* unspecified. defines how a namespace URI is attached to schema
112
public void setNamespaceURI(String namespaceURI);
115
* Creates a copy of this <code>ASObject</code>. See text for
116
* <code>cloneNode</code> off of <code>Node</code> but substitute AS
118
* @param deep Setting the <code>deep</code> flag on, causes the whole
119
* subtree to be duplicated. Setting it to <code>false</code> only
120
* duplicates its immediate child nodes.
121
* @return Cloned <code>ASObject</code>.
123
public ASObject cloneASObject(boolean deep);