# File lib/xml/sax.rb, line 283
      def initialize(message, pubid = nil, sysid = nil,
                     line = nil, column = nil, e = nil)
        @publicId = nil
        @systemiId = nil
        @lineNumber = nil
        @columnNumber = nil
        if message.kind_of?(String) && pubid.kind_of?(Locator) &&
            sysid.nil? && line.nil? && column.nil? && e.nil?
          super(message)
          @publicId = pubid.getPublicId
          @systemId = pubid.getSystemId
          @lineNumber = pubid.getLineNumber
          @columnNumber = pubid.getColumnNumber
        elsif message.kind_of?(String) && pubid.kind_of?(Locator) &&
            sysid.kind_of?(Exception) && line.nil? && column.nil? && e.nil?
          super(message, sysid)
          @publicId = pubid.getPublicId
          @systemId = pubid.getSystemId
          @lineNumber = pubid.getLineNumber
          @columnNumber = pubid.getColumnNumber
        elsif message.kind_of?(String) && pubid.kind_of?(String) &&
            sysid.kind_of?(String) && line.kind_of?(Fixnum) &&
            column.kind_of?(Fixnum) && e.nil?
          super(message)
          @publicId = pubid
          @systemId = sysid
          @lineNumber = line
          @columnNumber = column
        elsif message.kind_of?(String) && pubid.kind_of?(String) &&
            sysid.kind_of?(String) && line.kind_of?(Fixnum) &&
            column.kind_of?(Fixnum) && e.kind_of?(Exception)
          super(message, e)
          @publicId = pubid
          @systemId = sysid
          @lineNumber = line
          @columnNumber = column
        else
          raise TypeError.new("parameter error")
        end
      end