An XML name can start with the Unicode character 5F (_) (commonly called Underscore, more correctly "Low line"). It cannot start with 2D (-) (correctly called "hyphen-minus"). There are various characters called Dash in Unicode including Figure Dash (2012), En Dash (2013), Em dash (2014), Swung dash (2053), and Wave dash (301C). As far as I can see all these are classified as punctuation, which means they cannot be used in names.
If Beginning XML refers to either of the hyphen-minus character or the low line character as a "dash" then I think you should send in a bug report.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference