If you generate
<a name="blue">Blueprint</a>
then it won't be hidden. If you want it to be hidden then you need to generate something different, for example a CSS style attribute.
You seem to be terribly confused. As I said before, decide first what HTML you want to generate. Do a mockup of the HTML page until you get what you want. Then start writing the XSLT code to produce this page.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference