that + is throwing it off.....scrap everything......
make the set a fields value : concat(substring(translate(., "()-. ", ""), 1, 2), "(", substring(translate(., "()-. ", ""), 3, 3), ") ", substring(translate(., "()-. ", ""), 5, 3), "-", substring(translate(., "()-. ", ""), 8, 4))
condition is:
Expression: not(xdUtil:Match(string(.), "\+\d\(\d\d\d\) \d\d\d\-\d\d\d\d")) AND
Expression: string-length(translate(., "+()-. 0123456789", "")) = 0 AND
Expression: string-length(translate(., "+()-. 0123456789", "")) = 0