Provided the HTML file holds well-formed XML you can do
<xsl:copy-of select="document($x)"/>
where $x is a variable holding the URI, for example "xxx.html".
If the HTML isn't well-formed XML, one option is to convert it first using the W3X JTidy utility. With some processors you can invoke this on the fly, by calling it from a URIResolver that's invoked when document() is called. An alternative with Saxon is to nominate John Cowan's TagSoup as your XML parser.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference