# File src/rexml/parsers/xpathparser.rb, line 66
                        def predicate_to_string( path )
                                string = ""
                                case path[0]
                                when :and, :or, :mult, :plus, :minus, :neq, :eq, :lt, :gt, :lteq, :gteq, :div, :mod, :neq, :union
                                        op = path.shift
                                        left = predicate_to_string( path.shift )
                                        right = predicate_to_string( path.shift )
                                        string << " "
                                        string << left
                                        string << " "
                                        string << op.to_s
                                        string << " "
                                        string << right
                                        string << " "
                                when :function
                                        path.shift
                                        name = path.shift
                                        string << name
                                        string << "( "
                                        string << predicate_to_string( path.shift )
                                        string << " )"
                                when :literal
                                        path.shift
                                        string << " "
                                        string << path.shift.inspect
                                        string << " "
                                else
                                        string << " "
                                        string << to_string( path )
                                        string << " "
                                end
                                return string.squeeze(" ")
                        end