## org.apache.xerces.impl.xs
Class SchemaGrammar

    java.lang.Object
      org.apache.xerces.impl.xs.SchemaGrammar

All Implemented Interfaces:
  org.apache.xerces.xni.grammars.Grammar, org.apache.xerces.xni.grammars.XSGrammar, org.apache.xerces.xs.XSNamespaceItem

Direct Known Subclasses:
  SchemaGrammar.BuiltinSchemaGrammar, SchemaGrammar.Schema4Annotations

    public class SchemaGrammar

extends java.lang.Object
implements org.apache.xerces.xni.grammars.XSGrammar, org.apache.xerces.xs.XSNamespaceItem

This class is to hold all schema component declaration that are declared within one namespace. The Grammar class this class extends contains what little commonality there is between XML Schema and DTD grammars. It's useful to distinguish grammar objects from other kinds of object when they exist in pools or caches.

Version:
  $Id: SchemaGrammar.java 446734 2006-09-15 20:51:23Z mrglavas $
Author:
  Sandy Gao, IBM, Elena Litani, IBM

# INTERNAL:

  Usage of this class is not supported. It may be altered or removed at any time.

Nested Class Summary
`static class` `SchemaGrammar.BuiltinSchemaGrammar`
`static class` `SchemaGrammar.Schema4Annotations` A partial schema for schemas for validating annotations.

Field Summary
`static XSSimpleType` `fAnySimpleType`
`static XSComplexTypeDecl` `fAnyType`
`static SchemaGrammar.Schema4Annotations` `SG_Schema4Annotations`
`static SchemaGrammar.BuiltinSchemaGrammar` `SG_SchemaNS`
`static SchemaGrammar.BuiltinSchemaGrammar` `SG_XSI`

Constructor Summary
`protected` `SchemaGrammar()`
`` `SchemaGrammar(java.lang.String targetNamespace, XSDDescription grammarDesc, SymbolTable symbolTable)` Default constructor.

Method Summary
`void` `addAnnotation(XSAnnotationImpl annotation)`
`void` `addComplexTypeDecl(XSComplexTypeDecl decl, SimpleLocator locator)` add one complex type decl: for later constraint checking
`void` `addDocument(java.lang.Object document, java.lang.String location)`
`void` `addGlobalAttributeDecl(XSAttributeDecl decl)` register one global attribute
`void` `addGlobalAttributeGroupDecl(XSAttributeGroupDecl decl)` register one global attribute group
`void` `addGlobalElementDecl(XSElementDecl decl)` register one global element
`void` `addGlobalGroupDecl(XSGroupDecl decl)` register one global group
`void` `addGlobalNotationDecl(XSNotationDecl decl)` register one global notation
`void` `addGlobalTypeDecl(org.apache.xerces.xs.XSTypeDefinition decl)` register one global type
`void` `addIDConstraintDecl(XSElementDecl elmDecl, IdentityConstraint decl)` register one identity constraint
`void` `addRedefinedGroupDecl(XSGroupDecl derived, XSGroupDecl base, SimpleLocator locator)` add a group redefined by restriction: for later constraint checking
`org.apache.xerces.xs.XSObjectList` `getAnnotations()` [annotations]: a set of annotations if it exists, otherwise an empty `XSObjectList`.
`org.apache.xerces.xs.XSAttributeDeclaration` `getAttributeDeclaration(java.lang.String name)` Convenience method.
`org.apache.xerces.xs.XSAttributeGroupDefinition` `getAttributeGroup(java.lang.String name)` Convenience method.
`org.apache.xerces.xs.XSNamedMap` `getComponents(short objectType)` [schema components]: a list of top-level components, i.e.
`org.apache.xerces.xs.StringList` `getDocumentLocations()` [document location]
`org.apache.xerces.xs.XSElementDeclaration` `getElementDeclaration(java.lang.String name)` Convenience method.
`XSAttributeDecl` `getGlobalAttributeDecl(java.lang.String declName)` get one global attribute
`XSAttributeGroupDecl` `getGlobalAttributeGroupDecl(java.lang.String declName)` get one global attribute group
`XSElementDecl` `getGlobalElementDecl(java.lang.String declName)` get one global element
`XSGroupDecl` `getGlobalGroupDecl(java.lang.String declName)` get one global group
`XSNotationDecl` `getGlobalNotationDecl(java.lang.String declName)` get one global notation
`org.apache.xerces.xs.XSTypeDefinition` `getGlobalTypeDecl(java.lang.String declName)` get one global type
`org.apache.xerces.xni.grammars.XMLGrammarDescription` `getGrammarDescription()` get the `XMLGrammarDescription` associated with this object
`IdentityConstraint` `getIDConstraintDecl(java.lang.String declName)` get one identity constraint
`java.util.Vector` `getImportedGrammars()`
`org.apache.xerces.xs.XSModelGroupDefinition` `getModelGroupDefinition(java.lang.String name)` Convenience method.
`org.apache.xerces.xs.XSNotationDeclaration` `getNotationDeclaration(java.lang.String name)` Convenience method.
`java.lang.String` `getSchemaNamespace()` [schema namespace]
`java.lang.String` `getTargetNamespace()` Returns this grammar's target namespace.
`org.apache.xerces.xs.XSTypeDefinition` `getTypeDefinition(java.lang.String name)` Convenience method.
`boolean` `hasIDConstraints()` get one identity constraint
`boolean` `isNamespaceAware()`
`void` `setImportedGrammars(java.util.Vector importedGrammars)`
`org.apache.xerces.xs.XSModel` `toXSModel()` Return an `XSModel` that represents components in this schema grammar.
`org.apache.xerces.xs.XSModel` `toXSModel(org.apache.xerces.xni.grammars.XSGrammar[] grammars)` Return an `XSModel` that represents components in this schema grammar and the grammars in the `grammars`parameter, any schema grammars that are imported by them directly or indirectly.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### fAnyType

    public static final XSComplexTypeDecl fAnyType

### SG_SchemaNS

    public static final SchemaGrammar.BuiltinSchemaGrammar SG_SchemaNS

### SG_Schema4Annotations

    public static final SchemaGrammar.Schema4Annotations SG_Schema4Annotations

### fAnySimpleType

    public static final XSSimpleType fAnySimpleType

### SG_XSI

    public static final SchemaGrammar.BuiltinSchemaGrammar SG_XSI

Constructor Detail

### SchemaGrammar

    protected SchemaGrammar()

### SchemaGrammar

    public SchemaGrammar(java.lang.String targetNamespace,
                         XSDDescription grammarDesc,
                         SymbolTable symbolTable)

  Default constructor.

  Parameters:
    `targetNamespace` -
    `grammarDesc` - the XMLGrammarDescription corresponding to this objec at the least a systemId should always be known.
    `symbolTable` - needed for annotation support

Method Detail

### getGrammarDescription

    public org.apache.xerces.xni.grammars.XMLGrammarDescription getGrammarDescription()

  Description copied from interface: `org.apache.xerces.xni.grammars.Grammar`
  get the `XMLGrammarDescription` associated with this object

  Specified by:
    `getGrammarDescription` in interface `org.apache.xerces.xni.grammars.Grammar`

### isNamespaceAware

    public boolean isNamespaceAware()

### setImportedGrammars

    public void setImportedGrammars(java.util.Vector importedGrammars)

### getImportedGrammars

    public java.util.Vector getImportedGrammars()

### getTargetNamespace

    public final java.lang.String getTargetNamespace()

  Returns this grammar's target namespace.

### addGlobalAttributeDecl

    public void addGlobalAttributeDecl(XSAttributeDecl decl)

  register one global attribute

### addGlobalAttributeGroupDecl

    public void addGlobalAttributeGroupDecl(XSAttributeGroupDecl decl)

  register one global attribute group

### addGlobalElementDecl

    public void addGlobalElementDecl(XSElementDecl decl)

  register one global element

### addGlobalGroupDecl

    public void addGlobalGroupDecl(XSGroupDecl decl)

  register one global group

### addGlobalNotationDecl

    public void addGlobalNotationDecl(XSNotationDecl decl)

  register one global notation

### addGlobalTypeDecl

    public void addGlobalTypeDecl(org.apache.xerces.xs.XSTypeDefinition decl)

  register one global type

### addIDConstraintDecl

    public final void addIDConstraintDecl(XSElementDecl elmDecl,
                                          IdentityConstraint decl)

  register one identity constraint

### getGlobalAttributeDecl

    public final XSAttributeDecl getGlobalAttributeDecl(java.lang.String declName)

  get one global attribute

### getGlobalAttributeGroupDecl

    public final XSAttributeGroupDecl getGlobalAttributeGroupDecl(java.lang.String declName)

  get one global attribute group

### getGlobalElementDecl

    public final XSElementDecl getGlobalElementDecl(java.lang.String declName)

  get one global element

### getGlobalGroupDecl

    public final XSGroupDecl getGlobalGroupDecl(java.lang.String declName)

  get one global group

### getGlobalNotationDecl

    public final XSNotationDecl getGlobalNotationDecl(java.lang.String declName)

  get one global notation

### getGlobalTypeDecl

    public final org.apache.xerces.xs.XSTypeDefinition getGlobalTypeDecl(java.lang.String declName)

  get one global type

### getIDConstraintDecl

    public final IdentityConstraint getIDConstraintDecl(java.lang.String declName)

  get one identity constraint

### hasIDConstraints

    public final boolean hasIDConstraints()

  get one identity constraint

### addComplexTypeDecl

    public void addComplexTypeDecl(XSComplexTypeDecl decl,
                                   SimpleLocator locator)

  add one complex type decl: for later constraint checking

### addRedefinedGroupDecl

    public void addRedefinedGroupDecl(XSGroupDecl derived,
                                      XSGroupDecl base,
                                      SimpleLocator locator)

  add a group redefined by restriction: for later constraint checking

### addDocument

    public void addDocument(java.lang.Object document,
                            java.lang.String location)

### getSchemaNamespace

    public java.lang.String getSchemaNamespace()

  [schema namespace]

  Specified by:
    `getSchemaNamespace` in interface `org.apache.xerces.xs.XSNamespaceItem`
  Returns:
    The target namespace of this item.
  See Also:
    [schema namespace]

### getComponents

    public org.apache.xerces.xs.XSNamedMap getComponents(short objectType)

  [schema components]: a list of top-level components, i.e. element declarations, attribute declarations, etc.

  Specified by:
    `getComponents` in interface `org.apache.xerces.xs.XSNamespaceItem`
  Parameters:
    `objectType` - The type of the declaration, i.e. `ELEMENT_DECLARATION`. Note that `XSTypeDefinition.SIMPLE_TYPE` and `XSTypeDefinition.COMPLEX_TYPE` can also be used as the `objectType` to retrieve only complex types or simple types, instead of all types.
  Returns:
    A list of top-level definition of the specified type in `objectType` or an empty `XSNamedMap` if no such definitions exist.

### getTypeDefinition

    public org.apache.xerces.xs.XSTypeDefinition getTypeDefinition(java.lang.String name)

  Convenience method. Returns a top-level simple or complex type definition.

  Specified by:
    `getTypeDefinition` in interface `org.apache.xerces.xs.XSNamespaceItem`
  Parameters:
    `name` - The name of the definition.
  Returns:
    An `XSTypeDefinition` or null if such definition does not exist.

### getAttributeDeclaration

    public org.apache.xerces.xs.XSAttributeDeclaration getAttributeDeclaration(java.lang.String name)

  Convenience method. Returns a top-level attribute declaration.

  Specified by:
    `getAttributeDeclaration` in interface `org.apache.xerces.xs.XSNamespaceItem`
  Parameters:
    `name` - The name of the declaration.
  Returns:
    A top-level attribute declaration or null if such declaration does not exist.

### getElementDeclaration

    public org.apache.xerces.xs.XSElementDeclaration getElementDeclaration(java.lang.String name)

  Convenience method. Returns a top-level element declaration.

  Specified by:
    `getElementDeclaration` in interface `org.apache.xerces.xs.XSNamespaceItem`
  Parameters:
    `name` - The name of the declaration.
  Returns:
    A top-level element declaration or null if such declaration does not exist.

### getAttributeGroup

    public org.apache.xerces.xs.XSAttributeGroupDefinition getAttributeGroup(java.lang.String name)

  Convenience method. Returns a top-level attribute group definition.

  Specified by:
    `getAttributeGroup` in interface `org.apache.xerces.xs.XSNamespaceItem`
  Parameters:
    `name` - The name of the definition.
  Returns:
    A top-level attribute group definition or null if such definition does not exist.

### getModelGroupDefinition

    public org.apache.xerces.xs.XSModelGroupDefinition getModelGroupDefinition(java.lang.String name)

  Convenience method. Returns a top-level model group definition.

  Specified by:
    `getModelGroupDefinition` in interface `org.apache.xerces.xs.XSNamespaceItem`
  Parameters:
    `name` - The name of the definition.
  Returns:
    A top-level model group definition definition or null if such definition does not exist.

### getNotationDeclaration

    public org.apache.xerces.xs.XSNotationDeclaration getNotationDeclaration(java.lang.String name)

  Convenience method. Returns a top-level notation declaration.

  Specified by:
    `getNotationDeclaration` in interface `org.apache.xerces.xs.XSNamespaceItem`
  Parameters:
    `name` - The name of the declaration.
  Returns:
    A top-level notation declaration or null if such declaration does not exist.

### getDocumentLocations

    public org.apache.xerces.xs.StringList getDocumentLocations()

  [document location]

  Specified by:
    `getDocumentLocations` in interface `org.apache.xerces.xs.XSNamespaceItem`
  Returns:
    a list of document information item
  See Also:
    [document location]

### toXSModel

    public org.apache.xerces.xs.XSModel toXSModel()

  Return an `XSModel` that represents components in this schema grammar.

  Specified by:
    `toXSModel` in interface `org.apache.xerces.xni.grammars.XSGrammar`
  Returns:
    an `XSModel` representing this schema grammar

### toXSModel

    public org.apache.xerces.xs.XSModel toXSModel(org.apache.xerces.xni.grammars.XSGrammar[] grammars)

  Description copied from interface: `org.apache.xerces.xni.grammars.XSGrammar`
  Return an `XSModel` that represents components in this schema grammar and the grammars in the `grammars`parameter, any schema grammars that are imported by them directly or indirectly.

  Specified by:
    `toXSModel` in interface `org.apache.xerces.xni.grammars.XSGrammar`
  Returns:
    an `XSModel` representing these schema grammars

### getAnnotations

    public org.apache.xerces.xs.XSObjectList getAnnotations()

  Description copied from interface: `org.apache.xerces.xs.XSNamespaceItem`
  [annotations]: a set of annotations if it exists, otherwise an empty `XSObjectList`.

  Specified by:
    `getAnnotations` in interface `org.apache.xerces.xs.XSNamespaceItem`
  See Also:
    `XSNamespaceItem.getAnnotations()`

### addAnnotation

    public void addAnnotation(XSAnnotationImpl annotation)

Copyright © 1999-2007 The Apache Software Foundation. All Rights Reserved.