import javax.xml.xquery.*; public class Test { public static void main(String av[]) throws Exception { XQConnection conn = ((XQDataSource)Class.forName("org.basex.api.xqj.BXQDataSource"). newInstance()).getConnection(); XQPreparedExpression xqp = null; String q = "declare variable $x := 1; $x"; try { xqp = conn.prepareExpression(q); xqp.executeQuery(); } catch (XQQueryException xqex) { printXQException(xqex, q); } } public static void printXQException (XQQueryException xquery, String query) { String [] lines = query.split("\n"); System.out.println(lines[Math.min(xquery.getLineNumber() - 1, lines.length - 1)]); System.out.println(" " .substring(0, xquery.getColumnNumber()) + "^"); System.out.println(xquery); } }