Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 `ASModel`s.
`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 `ASModel`s.
  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`.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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