I am writing something that generates xsl fiels on the fly.  The input is a mapping document taht can refer to documents through an include.  these documents are to be local to the mapoing document not the xsl stylesheet that is processing the mapping file.
The following is a portion of my xsl sheet:
    <xsl:template match="include">
        <xsl:variable name="filename" select="concat($path,@filename)"/>
        <xsl:copy-of select="document($filename)/mapping/*"/>
Path is declared as empty. 
I get a warning if I use the $filename that the file can not be found, but I get the correct results if I simply pass the attribute @filename to the document function.  Can you please explain what is happing and how I can get the desired result, i.e. find a file relative to the input file not the styulesheet?