What Michael is telling you: Your XPATHs are all wrong.
When you did: <xsl:template match="/"> your value-of select="xxx" statements have to use an XPATH relative to "/" where an XPATH is placed in xxx.
For example, when you did:
Also, write your XSL in stages, in your XSL, I would comment everything from "<div" to the last "</div>" and check that at-least your title is getting populated.
I appreciate that when given a task with tight time constraints we are not always given the luxury of reading a book from cover to cover. Having referred to Michael's book as a reference, I can tell you that the Holy Bible is less verbose.
For quick answers check-out: