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

    INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.
    Version:
    $Id: SchemaGrammar.java 1082533 2011-03-17 15:22:26Z knoaman $
    Author:
    Sandy Gao, IBM, Elena Litani, IBM
    • 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
      • addGlobalAttributeDecl

        public void addGlobalAttributeDecl​(XSAttributeDecl decl,
                                           java.lang.String location)
      • addGlobalAttributeGroupDecl

        public void addGlobalAttributeGroupDecl​(XSAttributeGroupDecl decl)
        register one global attribute group
      • addGlobalAttributeGroupDecl

        public void addGlobalAttributeGroupDecl​(XSAttributeGroupDecl decl,
                                                java.lang.String location)
      • addGlobalElementDeclAll

        public void addGlobalElementDeclAll​(XSElementDecl decl)
        register one global element
      • addGlobalElementDecl

        public void addGlobalElementDecl​(XSElementDecl decl)
      • addGlobalElementDecl

        public void addGlobalElementDecl​(XSElementDecl decl,
                                         java.lang.String location)
      • addGlobalGroupDecl

        public void addGlobalGroupDecl​(XSGroupDecl decl)
        register one global group
      • addGlobalGroupDecl

        public void addGlobalGroupDecl​(XSGroupDecl decl,
                                       java.lang.String location)
      • addGlobalNotationDecl

        public void addGlobalNotationDecl​(XSNotationDecl decl)
        register one global notation
      • addGlobalNotationDecl

        public void addGlobalNotationDecl​(XSNotationDecl decl,
                                          java.lang.String location)
      • addGlobalTypeDecl

        public void addGlobalTypeDecl​(org.apache.xerces.xs.XSTypeDefinition decl)
        register one global type
      • addGlobalTypeDecl

        public void addGlobalTypeDecl​(org.apache.xerces.xs.XSTypeDefinition decl,
                                      java.lang.String location)
      • addGlobalComplexTypeDecl

        public void addGlobalComplexTypeDecl​(XSComplexTypeDecl decl)
        register one global complex type
      • addGlobalComplexTypeDecl

        public void addGlobalComplexTypeDecl​(XSComplexTypeDecl decl,
                                             java.lang.String location)
      • addGlobalSimpleTypeDecl

        public void addGlobalSimpleTypeDecl​(XSSimpleType decl)
        register one global simple type
      • addGlobalSimpleTypeDecl

        public void addGlobalSimpleTypeDecl​(XSSimpleType decl,
                                            java.lang.String location)
      • getGlobalAttributeDecl

        public final XSAttributeDecl getGlobalAttributeDecl​(java.lang.String declName)
        get one global attribute
      • getGlobalAttributeDecl

        public final XSAttributeDecl getGlobalAttributeDecl​(java.lang.String declName,
                                                            java.lang.String location)
      • getGlobalAttributeGroupDecl

        public final XSAttributeGroupDecl getGlobalAttributeGroupDecl​(java.lang.String declName)
        get one global attribute group
      • getGlobalAttributeGroupDecl

        public final XSAttributeGroupDecl getGlobalAttributeGroupDecl​(java.lang.String declName,
                                                                      java.lang.String location)
      • getGlobalElementDecl

        public final XSElementDecl getGlobalElementDecl​(java.lang.String declName)
        get one global element
      • getGlobalElementDecl

        public final XSElementDecl getGlobalElementDecl​(java.lang.String declName,
                                                        java.lang.String location)
      • getGlobalGroupDecl

        public final XSGroupDecl getGlobalGroupDecl​(java.lang.String declName)
        get one global group
      • getGlobalGroupDecl

        public final XSGroupDecl getGlobalGroupDecl​(java.lang.String declName,
                                                    java.lang.String location)
      • getGlobalNotationDecl

        public final XSNotationDecl getGlobalNotationDecl​(java.lang.String declName)
        get one global notation
      • getGlobalNotationDecl

        public final XSNotationDecl getGlobalNotationDecl​(java.lang.String declName,
                                                          java.lang.String location)
      • getGlobalTypeDecl

        public final org.apache.xerces.xs.XSTypeDefinition getGlobalTypeDecl​(java.lang.String declName)
        get one global type
      • getGlobalTypeDecl

        public final org.apache.xerces.xs.XSTypeDefinition getGlobalTypeDecl​(java.lang.String declName,
                                                                             java.lang.String location)
      • getIDConstraintDecl

        public final IdentityConstraint getIDConstraintDecl​(java.lang.String declName)
        get one identity constraint
      • getIDConstraintDecl

        public final IdentityConstraint getIDConstraintDecl​(java.lang.String declName,
                                                            java.lang.String location)
      • 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
      • getS4SGrammar

        public static SchemaGrammar getS4SGrammar​(short schemaVersion)
      • addDocument

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

        public void removeDocument​(int index)
      • 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.
      • getComponentsExt

        public org.apache.xerces.xs.datatypes.ObjectList getComponentsExt​(short objectType)
      • resetComponents

        public void resetComponents()
      • 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.
      • getIDCDefinition

        public org.apache.xerces.xs.XSIDCDefinition getIDCDefinition​(java.lang.String name)
        Description copied from interface: org.apache.xerces.xs.XSNamespaceItem
        Convenience method. Returns an identity-constraint definition.
        Specified by:
        getIDCDefinition in interface org.apache.xerces.xs.XSNamespaceItem
        Parameters:
        name - The name of the definition.
        Returns:
        An identity-constraint definition or null if such a 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 grammarsparameter, 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()
      • setImmutable

        public void setImmutable​(boolean isImmutable)
      • isImmutable

        public boolean isImmutable()