org.apache.xerces.dom3.as
Interface ASModel

All Superinterfaces:
ASObject

public interface ASModel
extends ASObject

To begin with, an abstract schema is a generic structure that could contain both internal and external subsets. An ASModel 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.


Fields inherited from interface org.apache.xerces.dom3.as.ASObject
AS_ATTRIBUTE_DECLARATION, AS_CONTENTMODEL, AS_ELEMENT_DECLARATION, AS_ENTITY_DECLARATION, AS_MODEL, AS_NOTATION_DECLARATION
 
Method Summary
 void addASModel(ASModel abstractSchema)
          This method will allow the nesting or "importation" of ASModels.
 ASAttributeDeclaration createASAttributeDeclaration(java.lang.String namespaceURI, java.lang.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(java.lang.String namespaceURI, java.lang.String name)
          Creates an element declaration for the element type specified.
 ASEntityDeclaration createASEntityDeclaration(java.lang.String name)
          Creates an ASEntityDeclaration.
 ASNotationDeclaration createASNotationDeclaration(java.lang.String namespaceURI, java.lang.String name, java.lang.String systemId, java.lang.String publicId)
          Creates a new notation declaration.
 java.lang.String getAsHint()
          The hint to locating an ASModel.
 java.lang.String getAsLocation()
          The URI reference.
 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.
 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.
 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.
 ASNamedObjectMap getNotationDeclarations()
          Instead of returning an all-in-one ASObject with ASModel methods, have discernible top-level/"global" notation declarations.
 short getUsageLocation()
          0 if used internally, 1 if used externally, 2 if not all.
 void removeAS(ASModel as)
          Removes only the specified ASModel from the list of ASModels.
 void setAsHint(java.lang.String asHint)
          The hint to locating an ASModel.
 void setAsLocation(java.lang.String asLocation)
          The URI reference.
 boolean validate()
          Determines if an ASModel itself is valid, i.e., confirming that it's well-formed and valid per its own formal grammar.
 
Methods inherited from interface org.apache.xerces.dom3.as.ASObject
cloneASObject, getAsNodeType, getLocalName, getNamespaceURI, getNodeName, getOwnerASModel, getPrefix, setLocalName, setNamespaceURI, setNodeName, setOwnerASModel, setPrefix
 

Method Detail

getIsNamespaceAware

public 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.

getUsageLocation

public short getUsageLocation()
0 if used internally, 1 if used externally, 2 if not all. An exception will be raised if it is incompatibly shared or in use as an internal subset.

getAsLocation

public java.lang.String getAsLocation()
The URI reference.

setAsLocation

public void setAsLocation(java.lang.String asLocation)
The URI reference.

getAsHint

public java.lang.String getAsHint()
The hint to locating an ASModel.

setAsHint

public void setAsHint(java.lang.String asHint)
The hint to locating an ASModel.

getElementDeclarations

public ASNamedObjectMap getElementDeclarations()
Instead of returning an all-in-one 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).

getAttributeDeclarations

public ASNamedObjectMap getAttributeDeclarations()
Instead of returning an all-in-one 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).

getNotationDeclarations

public ASNamedObjectMap getNotationDeclarations()
Instead of returning an all-in-one 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).

getEntityDeclarations

public ASNamedObjectMap getEntityDeclarations()
Instead of returning an all-in-one 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).

getContentModelDeclarations

public ASNamedObjectMap getContentModelDeclarations()
Instead of returning an all-in-one 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).

addASModel

public void addASModel(ASModel abstractSchema)
This method will allow the nesting or "importation" of ASModels.
Parameters:
abstractSchema - ASModel to be set. Subsequent calls will nest the ASModels within the specified ownerASModel.

getASModels

public ASObjectList getASModels()
To retrieve a list of nested ASModels without reference to names.
Returns:
A list of ASModels.

removeAS

public void removeAS(ASModel as)
Removes only the specified ASModel from the list of ASModels.
Parameters:
as - AS to be removed.

validate

public boolean validate()
Determines if an 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.

createASElementDeclaration

public ASElementDeclaration createASElementDeclaration(java.lang.String namespaceURI,
                                                       java.lang.String name)
                                                throws org.w3c.dom.DOMException
Creates an element declaration for the element type specified.
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:
org.w3c.dom.DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.

createASAttributeDeclaration

public ASAttributeDeclaration createASAttributeDeclaration(java.lang.String namespaceURI,
                                                           java.lang.String name)
                                                    throws org.w3c.dom.DOMException
Creates an attribute declaration.
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:
org.w3c.dom.DOMException - INVALID_CHARACTER_ERR: Raised if the input name parameter contains an illegal character.

createASNotationDeclaration

public ASNotationDeclaration createASNotationDeclaration(java.lang.String namespaceURI,
                                                         java.lang.String name,
                                                         java.lang.String systemId,
                                                         java.lang.String publicId)
                                                  throws org.w3c.dom.DOMException
Creates a new notation declaration.
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:
org.w3c.dom.DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.

createASEntityDeclaration

public ASEntityDeclaration createASEntityDeclaration(java.lang.String name)
                                              throws org.w3c.dom.DOMException
Creates an ASEntityDeclaration.
Parameters:
name - The name of the entity being declared.
Returns:
A new ASEntityDeclaration object with entityName attribute set to name.
Throws:
org.w3c.dom.DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.

createASContentModel

public ASContentModel createASContentModel(int minOccurs,
                                           int maxOccurs,
                                           short operator)
                                    throws DOMASException
Creates an object which describes part of an 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.


Copyright © 1999-2002 Apache XML Project. All Rights Reserved.