Neither text nodes (<) nor instructions like xsl:value-of are allowed as direct children of xsl:stylesheet, so neither of these should work. But perhaps you left out some levels of structure. But I would need to see those levels to see whether your your code is valid XSLT or not.
Whether valid or not, it's not good coding style. You want to be using attribute value templates:
<td class="rowdet" id="td_{@name}">
Michael Kay
http://www.saxonica.com/
Author, XSLT 2.0 and XPath 2.0 Programmer's Reference