Here's what you are doing:
1. You match on the root, which sets the context node to the root.
2. You
test (via xsl:if) if the root contains a /ns:html/ns:body/ns:div[@id='content']/ns:p/ns:strong element (which it does).
3. You test (via xsl:when) whether the text content of the root contains 'Firstname:' (which it does).
4. You output (via xsl:value-of) the text content of the root.
Note that all those operations act on the context node. So what you want to do is to change the context node to whatever it is you want to copy. There are two ways to change the context node in XSLT. One is xsl:for-each and the other is xsl:template match="x".