org.apache.xerces.dom
public class ASModelImpl extends Object implements ASModel
Deprecated:
To begin with, an abstract schema is a generic structure that could contain both internal and external subsets. AnASModel
is an
abstract object that could map to a DTD , an XML Schema , a database
schema, etc. An ASModel
could represent either an internal
or an external subset; hence an abstract schema could be composed of an
ASModel
representing the internal subset and an
ASModel
representing the external subset. Note that the
ASModel
representing the external subset could consult the
ASModel
representing the internal subset. Furthermore, the
ASModel
representing the internal subset could be set to
null by the setInternalAS
method as a mechanism for
"removal". In addition, only one ASModel
representing the
external subset can be specified as "active" and it is possible that none
are "active". Finally, the ASModel
contains the factory
methods needed to create a various types of ASObjects like
ASElementDeclaration
, ASAttributeDeclaration
,
etc.
See also the Document Object Model (DOM) Level 3 Abstract Schemas and Load and Save Specification.
Version: $Id: ASModelImpl.java,v 1.6 2004/02/24 23:23:18 mrglavas Exp $
Field Summary | |
---|---|
protected Vector | fASModels |
protected SchemaGrammar | fGrammar |
Constructor Summary | |
---|---|
ASModelImpl() | |
ASModelImpl(boolean isNamespaceAware) |
Method Summary | |
---|---|
void | addASModel(ASModel abstractSchema)
This method will allow the nesting or "importation" of ASModels. |
ASObject | cloneASObject(boolean deep)
Creates a copy of this ASObject . |
ASAttributeDeclaration | createASAttributeDeclaration(String namespaceURI, String name)
Creates an attribute declaration. |
ASContentModel | createASContentModel(int minOccurs, int maxOccurs, short operator)
Creates an object which describes part of an
ASElementDeclaration 's content model. |
ASElementDeclaration | createASElementDeclaration(String namespaceURI, String name)
Creates an element declaration for the element type specified. |
ASEntityDeclaration | createASEntityDeclaration(String name)
Creates an ASEntityDeclaration. |
ASNotationDeclaration | createASNotationDeclaration(String namespaceURI, String name, String systemId, String publicId)
Creates a new notation declaration. |
String | getAsHint()
The hint to locating an ASModel. |
String | getAsLocation()
The URI reference. |
short | getAsNodeType()
A code representing the underlying object as defined above. |
ASObjectList | getASModels()
To retrieve a list of nested ASModels without reference to names. |
ASNamedObjectMap | getAttributeDeclarations()
Instead of returning an all-in-one ASObject with
ASModel methods, have discernible top-level/"global"
attribute declarations. |
boolean | getContainer()
If usage is EXTERNAL_SUBSET or NOT_USED, and the
ASModel is simply a container of other ASModels. |
ASNamedObjectMap | getContentModelDeclarations()
Instead of returning an all-in-one ASObject with
ASModel methods, have discernible top-level/"global
content model declarations. |
ASNamedObjectMap | getElementDeclarations()
Instead of returning an all-in-one ASObject with
ASModel methods, have discernible top-level/"global"
element declarations. |
ASNamedObjectMap | getEntityDeclarations()
Instead of returning an all-in-one ASObject with
ASModel methods, have discernible top-level/"global"
entity declarations. |
SchemaGrammar | getGrammar() |
Vector | getInternalASModels() |
boolean | getIsNamespaceAware()true if this ASModel defines the document
structure in terms of namespaces and local names ; false
if the document structure is defined only in terms of
QNames . |
String | getLocalName()
Returns the local part of the qualified name of this
ASObject . |
String | getNamespaceURI()
The namespace URI of this node, or null if it is
unspecified. defines how a namespace URI is attached to schema
components. |
String | getNodeName()
The name of this ASObject depending on the
ASObject type. |
ASNamedObjectMap | getNotationDeclarations()
Instead of returning an all-in-one ASObject with
ASModel methods, have discernible top-level/"global"
notation declarations. |
ASModel | getOwnerASModel()
The ASModel object associated with this
ASObject . |
String | getPrefix()
The namespace prefix of this node, or null if it is
unspecified. |
short | getUsageLocation()
0 if used internally, 1 if used externally, 2 if not all. |
void | importASObject(ASObject asobject)
Imports ASObject into ASModel. |
void | insertASObject(ASObject asobject)
Inserts ASObject into ASModel. |
void | removeAS(ASModel as)
Removes only the specified ASModel from the list of
ASModel s. |
void | setAsHint(String asHint)
The hint to locating an ASModel. |
void | setAsLocation(String asLocation)
The URI reference. |
void | setGrammar(SchemaGrammar grammar) |
void | setLocalName(String localName)
Returns the local part of the qualified name of this
ASObject . |
void | setNamespaceURI(String namespaceURI)
The namespace URI of this node, or null if it is
unspecified. defines how a namespace URI is attached to schema
components. |
void | setNodeName(String nodeName)
The name of this ASObject depending on the
ASObject type. |
void | setOwnerASModel(ASModel ownerASModel)
The ASModel object associated with this
ASObject . |
void | setPrefix(String prefix)
The namespace prefix of this node, or null if it is
unspecified. |
boolean | validate()
Determines if an ASModel itself is valid, i.e., confirming
that it's well-formed and valid per its own formal grammar. |
Parameters: abstractSchema ASModel to be set. Subsequent calls will nest
the ASModels within the specified ownerASModel
.
ASObject
. See text for
cloneNode
off of Node
but substitute AS
functionality.Parameters: deep Setting the deep
flag on, causes the whole
subtree to be duplicated. Setting it to false
only
duplicates its immediate child nodes.
Returns: Cloned ASObject
.
Parameters: namespaceURI The namespace URI of the attribute being declared. name The name of the attribute. The format of the name could be an NCName as defined by XML Namespaces or a Name as defined by XML 1.0; it's ASModel-dependent.
Returns: A new ASAttributeDeclaration
object with
appropriate attributes set by input parameters.
Throws: DOMException
INVALID_CHARACTER_ERR: Raised if the input name
parameter contains an illegal character.
ASElementDeclaration
's content model.Parameters: minOccurs The minimum occurrence for the subModels of this
ASContentModel
. maxOccurs The maximum occurrence for the subModels of this
ASContentModel
. operator operator of type AS_CHOICE
,
AS_SEQUENCE
, AS_ALL
or
AS_NONE
.
Returns: A new ASContentModel
object.
Throws: DOMASException
A DOMASException, e.g., minOccurs > maxOccurs
.
Parameters: namespaceURI The namespace URI
of the element type
being declared. name The name of the element. The format of the name could be
an NCName as defined by XML Namespaces or a Name as defined by XML
1.0; it's ASModel-dependent.
Returns: A new ASElementDeclaration
object with
name
attribute set to tagname
and
namespaceURI
set to systemId
. Other
attributes of the element declaration are set through
ASElementDeclaration
interface methods.
Throws: DOMException INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
Parameters: name The name of the entity being declared.
Returns: A new ASEntityDeclaration
object with
entityName
attribute set to name.
Throws: DOMException INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
Parameters: namespaceURI The namespace URI of the notation being declared. name The name of the notation. The format of the name could be an NCName as defined by XML Namespaces or a Name as defined by XML 1.0; it's ASModel-dependent. systemId The system identifier for the notation declaration. publicId The public identifier for the notation declaration.
Returns: A new ASNotationDeclaration
object with
notationName
attribute set to name
and
publicId
and systemId
set to the
corresponding fields.
Throws: DOMException INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
Returns: A list of ASModels.
ASObject
with
ASModel
methods, have discernible top-level/"global"
attribute declarations. If one attempts to add, set, or remove a node
type other than the intended one, a hierarchy exception (or
equivalent is thrown).usage
is EXTERNAL_SUBSET or NOT_USED, and the
ASModel
is simply a container of other ASModels.ASObject
with
ASModel
methods, have discernible top-level/"global
content model declarations. If one attempts to add, set, or remove a
node type other than the intended one, a hierarchy exception (or
equivalent is thrown).ASObject
with
ASModel
methods, have discernible top-level/"global"
element declarations. If one attempts to add, set, or remove a node
type other than the intended one, a hierarchy exception (or
equivalent is thrown).ASObject
with
ASModel
methods, have discernible top-level/"global"
entity declarations. If one attempts to add, set, or remove a node
type other than the intended one, a hierarchy exception (or
equivalent is thrown).true
if this ASModel
defines the document
structure in terms of namespaces and local names ; false
if the document structure is defined only in terms of
QNames
.ASObject
.null
if it is
unspecified. defines how a namespace URI is attached to schema
components.name
of this ASObject
depending on the
ASObject
type.ASObject
with
ASModel
methods, have discernible top-level/"global"
notation declarations. If one attempts to add, set, or remove a node
type other than the intended one, a hierarchy exception (or
equivalent is thrown).ASModel
object associated with this
ASObject
. For a node of type AS_MODEL
, this
is null
.null
if it is
unspecified.ASObject
into ASModel.Parameters: asobject ASObject
to be imported.
ASObject
into ASModel.Parameters: asobject ASObject
to be inserted.
ASModel
from the list of
ASModel
s.Parameters: as AS to be removed.
ASObject
.null
if it is
unspecified. defines how a namespace URI is attached to schema
components.name
of this ASObject
depending on the
ASObject
type.ASModel
object associated with this
ASObject
. For a node of type AS_MODEL
, this
is null
.null
if it is
unspecified.ASModel
itself is valid, i.e., confirming
that it's well-formed and valid per its own formal grammar.Returns: true
if the ASModel
is valid,
false
otherwise.