# File rexml/xpath_parser.rb, line 256 def PrimaryExpr path, nodeset #puts "PrimaryExpr('#{path}', #{puta nodeset})" if DEBUG arry = [] case path when VARIABLE_REFERENCE varname = $1 path = $' #nodeset.size.times { arry << @variables[ varname ] } arry << @variables[ varname ] when LITERAL, NUMBER path = $' #nodeset.size.times { arry << $1 } arry << $1 #when NUMBER # path = $' # nodeset.size.times { arry << $1 } when /^(\w[-\w]*)(?:\()/ fname = $1 path = $' return nil if fname =~ NT return FunctionCall(fname, path, nodeset) when /^\(/ #/ path, contents = get_group path contents = contents[1..-2] #puts "PATH=#{path} CONTENTS=#{contents}" if DEBUG p, arry = OrExpr( contents, nodeset ) else arry = nodeset end return [path, arry] end