class REXML::Validation::ZeroOrMore - rexml: Ruby Standard Library Documentation

# class REXML::Validation::ZeroOrMore

### Public Instance Methods

expected() click to toggle source

    # File rexml-3.4.0/lib/rexml/validation/relaxng.rb, line 304
    def expected
      return [ @prior.expected, @events[0] ].flatten if @current == 0
      return [@events[@current]]
    end

next( event ) click to toggle source

    # File rexml-3.4.0/lib/rexml/validation/relaxng.rb, line 283
    def next( event )
      expand_ref_in( @events, @current ) if @events[@current].class == Ref
      if ( @events[@current].matches?(event) )
        @current += 1
        if @events[@current].nil?
          @current = 0
          return self
        elsif @events[@current].kind_of? State
          @current += 1
          @events[@current-1].previous = self
          return @events[@current-1]
        else
          return self
        end
      else
        @prior = @previous.pop
        return @prior.next( event ) if @current == 0
        return nil
      end
    end