}
private void compileDoXslTransform(FunctionCallExpr c) throws CompilationException {
List params = c.getParameters();
if (params.size() < 2 || params.size() % 2 != 0) {
throw new CompilationException(
__msgs.errInvalidNumberOfArguments(Constants.EXT_FUNCTION_DOXSLTRANSFORM));
}
String xslUri = getLiteralFromExpression((Expr)params.get(0));
OXslSheet xslSheet = _cctx.compileXslt(xslUri);
try {
XslTransformHandler.getInstance().parseXSLSheet(xslSheet.uri, xslSheet.sheetBody,
new XslCompileUriResolver(_cctx, _out));
} catch (Exception e) {
throw new CompilationException(
__msgs.errInvalidNumberOfArguments(xslUri));
}
_out.xslSheets.put(xslSheet.uri, xslSheet);
}