Sorry, I'm responding too hastily here. I was looking at
xsl:variable select="'c:\\test\\out.txt'"/>
This sets the variable to a string containing 17 characters. \\ represents two backslashes, not one. It's a valid string, but it's not the string c:\test\out.txt.
But in the next line,
<xsl:value-of select="tokenize($t, '\\')[last()]"/>
the second argument of tokenize is the string '\\', which is correct, because this argument is a regular expression, and the rules for regular expressions use "\" as an escape character.
However, it won't help the person who was trying to get an XSLT 1.0 processor to recognize the tokenize() function...
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference