Interface Schema

  • All Superinterfaces:
    Factory
    All Known Implementing Classes:
    FilterSchema, GMLSchema, OGCSchema, sldSchema, WMSSchema, XLinkSchema

    public interface Schema
    extends Factory
    This Interface is intended to represent the public portion of an XML Schema. By public portion, I mean the portion of the Schema which can be included in an instance document, or imported into another Schema.

    The distinction between the public portion of a XML Schema and the entire XML Schema is or particular important when comparing, or printing two XML Schemas. This interface does is intended to provide enough information to re-create the original Schema (note the lack or annotations as an example). This interface is however intended to provide functional semantic equivalence. By this is mean that two XML Schemas represented using this interface should have the same SET of declarations. There is no guarantee that the Schema represented matches the original document with respect to orderwithin the sets, except where order is explicitly defined (Sequence, Choice).

    This method must be inplemented within extensions: public static Schema getInstance();. It will be used by the Schema factory to load the required extensions into memory.

    Author:
    dzwiers www.refractions.net
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ALL
      Used to denote byte masks representing either XML block attributes or XML final attributes.
      static int EXTENSION
      Used to denote byte masks representing either XML block attributes or XML final attributes.
      static int NONE
      Used to denote byte masks representing either XML block attributes or XML final attributes.
      static int RESTRICTION
      Used to denote byte masks representing either XML block attributes or XML final attributes.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      AttributeGroup[] getAttributeGroups()
      This method is intended to provide a list of public AttributeGroups defined by this Schema.
      Attribute[] getAttributes()
      This method is intended to provide a list of public Attributes defined by this Schema.
      int getBlockDefault()
      This method returns the default block value associated with this schema as a mask.
      ComplexType[] getComplexTypes()
      This method is intended to provide a list of public ComplexTypes defined by this Schema.
      Element[] getElements()
      This method is intended to provide a list of public Elements defined by this Schema.
      int getFinalDefault()
      This method returns the default final value associated with this schema as a mask.
      Group[] getGroups()
      This method is intended to provide a list of public Groups defined by this Schema.
      String getId()
      This method is intended to provide the ID of this Schema.
      Schema[] getImports()
      This method is intended to provide a list of public Imports defined by this Schema.
      String getPrefix()
      Gets the recommended prefix for this schema.
      SimpleType[] getSimpleTypes()
      This method is intended to provide a list of public SimpleTypes defined by this Schema.
      URI getTargetNamespace()
      This returns the intended use name of the Schema (kinda like an ID, for a better definition see the XML Schema Specification).
      URI getURI()  
      String getVersion()
      This returns the Schema version ...
      boolean includesURI​(URI uri)
      This looks to see if the URI passed in is represented by this Schema.
      boolean isAttributeFormDefault()
      Returns true when the Default Attribute Form is qualified, false otherwise.
      boolean isElementFormDefault()
      Returns true when the Default Element Form is qualified, false otherwise.
    • Field Detail

      • NONE

        static final int NONE
        Used to denote byte masks representing either XML block attributes or XML final attributes.
        See Also:
        Constant Field Values
      • EXTENSION

        static final int EXTENSION
        Used to denote byte masks representing either XML block attributes or XML final attributes.
        See Also:
        Constant Field Values
      • RESTRICTION

        static final int RESTRICTION
        Used to denote byte masks representing either XML block attributes or XML final attributes.
        See Also:
        Constant Field Values
      • ALL

        static final int ALL
        Used to denote byte masks representing either XML block attributes or XML final attributes.
        See Also:
        Constant Field Values
    • Method Detail

      • getAttributeGroups

        AttributeGroup[] getAttributeGroups()
        This method is intended to provide a list of public AttributeGroups defined by this Schema. The definition of 'public AttributeGroups' should be interpreted as the set of AttributeGroups available when creating an instance document, extending the schema, or importing the schema.
        Returns:
        AttributeGroup[]
        See Also:
        AttributeGroup
      • getAttributes

        Attribute[] getAttributes()
        This method is intended to provide a list of public Attributes defined by this Schema. The definition of 'public Attributes' should be interpreted as the set of Attributes available when creating an instance document, extending the schema, or importing the schema.
        See Also:
        Attribute
      • getBlockDefault

        int getBlockDefault()
        This method returns the default block value associated with this schema as a mask. The keys for the mask are represented as constants at the head of this file. As defined in the XML Schema specification, element and type blocks should only be extended to include this block if one is not specified.
        Returns:
        Block Mask
      • getComplexTypes

        ComplexType[] getComplexTypes()
        This method is intended to provide a list of public ComplexTypes defined by this Schema. The definition of 'public ComplexTypes' should be interpreted as the set of ComplexTypes available when creating an instance document, extending the schema, or importing the schema.
        See Also:
        ComplexType
      • getElements

        Element[] getElements()
        This method is intended to provide a list of public Elements defined by this Schema. The definition of 'public Elements' should be interpreted as the set of Elements available when creating an instance document, extending the schema, or importing the schema.
        See Also:
        Element
      • getFinalDefault

        int getFinalDefault()
        This method returns the default final value associated with this schema as a mask. The keys for the mask are represented as constants at the head of this file. As defined in the XML Schema specification, element and type final values should only be extended to include this final value if one is not specified.
        Returns:
        Final Mask
      • getGroups

        Group[] getGroups()
        This method is intended to provide a list of public Groups defined by this Schema. The definition of 'public Groups' should be interpreted as the set of Groups available when creating an instance document, extending the schema, or importing the schema.
        See Also:
        Group
      • getId

        String getId()
        This method is intended to provide the ID of this Schema.
      • getImports

        Schema[] getImports()
        This method is intended to provide a list of public Imports defined by this Schema. The definition of 'public Imports' should be interpreted as the set of Imports available when creating an instance document, extending the schema, or importing the schema.
        See Also:
        Schema
      • getPrefix

        String getPrefix()
        Gets the recommended prefix for this schema.
      • getSimpleTypes

        SimpleType[] getSimpleTypes()
        This method is intended to provide a list of public SimpleTypes defined by this Schema. The definition of 'public SimpleTypes' should be interpreted as the set of SimpleTypes available when creating an instance document, extending the schema, or importing the schema.
        See Also:
        SimpleType
      • getTargetNamespace

        URI getTargetNamespace()
        This returns the intended use name of the Schema (kinda like an ID, for a better definition see the XML Schema Specification).
      • getURI

        URI getURI()
      • getVersion

        String getVersion()
        This returns the Schema version ...
      • includesURI

        boolean includesURI​(URI uri)
        This looks to see if the URI passed in is represented by this Schema. Often this method uses some heuritics on the list of included URIs. This allows one Schema to represent one targetNamespace, but be potentially represented in more than one file.

        Used to determine if the uri should provided should be included in an instance document.

        See Also:
        #getUris()
      • isAttributeFormDefault

        boolean isAttributeFormDefault()
        Returns true when the Default Attribute Form is qualified, false otherwise.
      • isElementFormDefault

        boolean isElementFormDefault()
        Returns true when the Default Element Form is qualified, false otherwise.