package org.basex.examples.xqj.tutorial;
import java.io.*;
import java.util.*;
import javax.xml.xquery.*;
/**
* XQJ Examples, derived from an
* <a href="https://www.progress.com/products/data-integration-suite/data-integration-suite-developer-center/data-integration-suite-tutorials/learning-xquery/introduction-to-the-xquery-api-for-java-xqj-">
* XQJ online tutorial</a>.
*
* Part 5: Serializing Results.
*
* @author BaseX Team 2005-17, BSD License
*/
public final class Part5 extends Main {
/**
* Main method of the example class.
* @param args (ignored) command-line arguments
* @throws Exception exception
*/
public static void main(final String... args) throws Exception {
init("5: Serializing Results");
// Create a connection
XQConnection xqc = connect();
XQExpression xqe = xqc.createExpression();
// Serialize output to disk
info("Serialize output to disk");
String path = new File("src/main/resources/xml").getAbsolutePath();
try(FileOutputStream fos = new FileOutputStream("result.xml")) {
XQSequence xqs = xqe.executeQuery("doc('" + path + "/orders.xml')//order[id='174']");
xqs.writeSequence(fos, new Properties());
}
/* Remaining examples from the tutorial are skipped, as
* serialization in BaseX uses defaults. */
// Delete result file
info("Delete result file");
new File("result.xml").delete();
// Close the connection
close(xqc);
}
}