# File rexml-3.2.5/lib/rexml/validation/relaxng.rb, line 304 def expected return [ @prior.expected, @events[0] ].flatten if @current == 0 return [@events[@current]] end
# File rexml-3.2.5/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