I'm not sure if your output is literally what you want (text in fixed-width columns) or just an illustration of how the HTML might appear in the browser. Either way, if we ignore the formatting and concentrate on the structure, it's essentially:
<xsl:for-each select="product">
<tr>
<xsl:for-each select="Detail">
<td>Date <xsl:value-of select="Date"/>
</xsl:for-each select="Detail">
</tr>
<tr>
<xsl:for-each select="Detail">
<td>Value <xsl:value-of select="Value"/>
</xsl:for-each select="Detail">
</tr>
</xsl:for-each>
etc.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference