internal Stylesheet CompileImport(Compiler compiler, Uri uri, int id) {
NavigatorInput input = compiler.ResolveDocument(uri);
compiler.PushInputDocument(input);
try {
compiler.PushStylesheet(new Stylesheet());
compiler.Stylesheetid = id;
CompileDocument(compiler, /*inInclude*/ false);
}
catch (XsltCompileException) {
throw;
}
catch (Exception e) {
throw new XsltCompileException(e, input.BaseURI, input.LineNumber, input.LinePosition);
}
finally {
compiler.PopInputDocument();
}
return compiler.PopStylesheet();
}