package org.basex.examples.module; import org.basex.core.*; import org.basex.query.*; import org.basex.query.value.*; /** * This example demonstrates how Java classes can be imported as XQuery modules. * * @author BaseX Team 2005-17, BSD License */ public final class FruitsExample { /** * Runs the example code. * * @param args (ignored) command-line arguments * @throws QueryException if an error occurs while evaluating the query */ public static void main(final String... args) throws QueryException { // Database context. Context context = new Context(); System.out.println("=== FruitsExample ==="); // Specify query to be executed String query = "import module namespace fruits = " + "'java:org.basex.examples.module.FruitsModule'; \n" + "element convenient {\n" + " for $i in 1 to 4\n" + " return fruits:convenient(xs:int($i))\n" + "},\n" + "element fast {\n" + " for $i in 1 to 4\n" + " return fruits:fast($i)\n" + "},\n" + "element user { fruits:user() }"; System.out.println("\n* Query:"); System.out.println(query); // Create a query processor try(QueryProcessor processor = new QueryProcessor(query, context)) { // Execute the query Value result = processor.value(); System.out.println("\n* Result:"); // Print result as string System.out.println(result); } // Close the database context context.close(); } }