Class IslandSchemaImpl

java.lang.Object
com.sun.msv.relaxns.verifier.IslandSchemaImpl
All Implemented Interfaces:
Serializable, org.iso_relax.dispatcher.IslandSchema
Direct Known Subclasses:
RELAXIslandSchema, TREXIslandSchema

public abstract class IslandSchemaImpl extends Object implements org.iso_relax.dispatcher.IslandSchema, Serializable
base implementation of IslandSchema for MSV. the iso_relax package doesn't have the distinction between AGM and VGM. For the safety, the implementation of the createNewVerifier method creates a new VGM everytime it is called. Fortunately, when all island schemas are from MSV, the application can simply treat RELAXGrammar as a normal Grammar object; there is no need to use Dispatcher nor any divide-and-validate framework. So createNewVerifier method is called only when
  • MSV is used by other RELAX Namespace implementation or
  • other IslandSchema implemntations are used by MSV's RELAXNSReader.
In that case, the current createNewVerifier method causes a performance problem.
See Also:
  • Field Details

    • elementDecls

      protected final Map elementDecls
      map from name to DeclImpl.
    • attributesDecls

      protected final Map attributesDecls
      map from name to DeclImpl.
  • Constructor Details

    • IslandSchemaImpl

      public IslandSchemaImpl()
  • Method Details

    • createNewVerifier

      public org.iso_relax.dispatcher.IslandVerifier createNewVerifier(String namespace, org.iso_relax.dispatcher.ElementDecl[] rules)
      Specified by:
      createNewVerifier in interface org.iso_relax.dispatcher.IslandSchema
    • getGrammar

      protected abstract Grammar getGrammar()
      get the grammar object that represents this island.
    • getElementDeclByName

      public org.iso_relax.dispatcher.ElementDecl getElementDeclByName(String name)
      Specified by:
      getElementDeclByName in interface org.iso_relax.dispatcher.IslandSchema
    • iterateElementDecls

      public Iterator iterateElementDecls()
      Specified by:
      iterateElementDecls in interface org.iso_relax.dispatcher.IslandSchema
    • getElementDecls

      public org.iso_relax.dispatcher.ElementDecl[] getElementDecls()
      Specified by:
      getElementDecls in interface org.iso_relax.dispatcher.IslandSchema
    • getAttributesDeclByName

      public org.iso_relax.dispatcher.AttributesDecl getAttributesDeclByName(String name)
      Specified by:
      getAttributesDeclByName in interface org.iso_relax.dispatcher.IslandSchema
    • iterateAttributesDecls

      public Iterator iterateAttributesDecls()
      Specified by:
      iterateAttributesDecls in interface org.iso_relax.dispatcher.IslandSchema
    • getAttributesDecls

      public org.iso_relax.dispatcher.AttributesDecl[] getAttributesDecls()
      Specified by:
      getAttributesDecls in interface org.iso_relax.dispatcher.IslandSchema
    • createNewAttributesVerifier

      public org.iso_relax.dispatcher.AttributesVerifier createNewAttributesVerifier(String namespaceURI, org.iso_relax.dispatcher.AttributesDecl[] decls)
      Specified by:
      createNewAttributesVerifier in interface org.iso_relax.dispatcher.IslandSchema
    • bind

      protected void bind(ReferenceContainer con, IslandSchemaImpl.Binder binder)