There are three operations here.
substring(X,1,1) extracts the first character of the string X
translate(X, 'abcd', 'pqrs') converts every a in X to a p, every b to a q, every c to an r, and every d to an s. In my example, every digit was turned into a '9'.
X = Y, when X and Y are both strings, tests whether they contain the same characters.
So the code is testing whether the first character is a digit.
I gave you an XSLT 1.0 solution: in XSLT 2.0 you can do regular expression tests, for example test="matches(., '\d.*')".
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference