Variable for document
File: Data.xml <?xml version="1.0" encoding="UTF-8"?> <employee eid="1" dept="programming"> <contact type="spouse"> <name> <firstName>J</firstName> <middleName int="A">A</middleName> <lastName>S</lastName> </name> <address> <street>1 Drive</street> <city>Vancouver</city> <state>BC</state> <zipcode>80210</zipcode> </address> <phone> <tel type="wk">303-4668903</tel> <tel type="hm">222-222222</tel> <fax>303-4667357</fax> </phone> <email>j@hotmail.com</email> </contact> </employee> File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes" /> <xsl:param name="doc" select="employees/employee[1]/contact/@addInfo" /> <xsl:variable name="contacts" select="document($doc)" /> <xsl:template match="/"> <html> <head> <title>Email Listing</title> </head> <body> Your search brought the following results: <xsl:value-of select="$contacts/*/*/*/firstName" /> <xsl:text> </xsl:text> <xsl:copy-of select="$contacts/*/*/*/lastName/text()" /> </body> </html> </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?> <html> <head> <title>Email Listing</title> </head> <body> Your search brought the following results: </body> </html>