<xsl:if test="values/xml/TR/@Y1 > 10 ">
this line tests if the Y1 attribute of the first TR element of the first xml element of ... is greater than 10.
Since the first one isn't (the header line has Y1=3), you won't get any output from there on.
Not sure what you want exactly, could be intepreted several ways.
If you only want to output a table if there is a Y1 attribute greater than 10, then you can use the conditional statement:
test="values/xml/TR[@Y1 > 10]"
checks TR elements until we find a matching one or have checked all TR elements.
If you only want to list the ones with Y1 attribute > 10, then change your for-each loop to something like:
<xsl:for-each select="values/XML/TR[@y1 gt; 10]">
|