Class IslandSchemaImpl

  • All Implemented Interfaces:
    java.io.Serializable, org.iso_relax.dispatcher.IslandSchema
    Direct Known Subclasses:
    RELAXIslandSchema, TREXIslandSchema

    public abstract class IslandSchemaImpl
    extends java.lang.Object
    implements org.iso_relax.dispatcher.IslandSchema, java.io.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:
    Serialized Form
    • Field Detail

      • elementDecls

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

        protected final java.util.Map attributesDecls
        map from name to DeclImpl.
    • Constructor Detail

      • IslandSchemaImpl

        public IslandSchemaImpl()
    • Method Detail

      • createNewVerifier

        public org.iso_relax.dispatcher.IslandVerifier createNewVerifier​(java.lang.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​(java.lang.String name)
        Specified by:
        getElementDeclByName in interface org.iso_relax.dispatcher.IslandSchema
      • iterateElementDecls

        public java.util.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​(java.lang.String name)
        Specified by:
        getAttributesDeclByName in interface org.iso_relax.dispatcher.IslandSchema
      • iterateAttributesDecls

        public java.util.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​(java.lang.String namespaceURI,
                                                                                       org.iso_relax.dispatcher.AttributesDecl[] decls)
        Specified by:
        createNewAttributesVerifier in interface org.iso_relax.dispatcher.IslandSchema