Class REXML::Validation::ZeroOrMore
In: rexml/validation/relaxng.rb
Parent: Optional

Methods

expected   next  

Public Instance methods

[Source]

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

[Source]

# File rexml/validation/relaxng.rb, line 287
      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

[Validate]