If you're using version="2.0" in your stylesheet then you should really be using Saxon 9.x rather than Saxon 6.x. You might find that Saxon 9.x gives you a better error message, pointing you to where the offending content appears. As Joe says, if the hyphens are actually there in your source then that is the problem.
Michael Kay
http://www.saxonica.com/
Author, XSLT 2.0 and XPath 2.0 Programmer's Reference