package org.exist.examples.xmldb; import javax.xml.transform.OutputKeys; import org.exist.storage.serializers.EXistOutputKeys; import org.exist.xmldb.EXistResource; import org.xmldb.api.DatabaseManager; import org.xmldb.api.base.Collection; import org.xmldb.api.base.Database; import org.xmldb.api.modules.XMLResource; /** * Retrieve a document from the database. To run this example enter: * * java -jar start.jar org.exist.examples.xmldb.Retrieve collection document * * in the root directory of the distribution. * * @author Wolfgang Meier <meier@ifs.tu-darmstadt.de> */ public class Retrieve { protected static String driver = "org.exist.xmldb.DatabaseImpl"; protected static String URI = "xmldb:exist://localhost:8080/exist/xmlrpc"; protected static void usage() { System.out.println("usage: org.exist.examples.xmldb.Retrieve collection docName"); System.exit(0); } public static void main(String args[]) throws Exception { if (args.length < 2) { usage(); } String collection = args[0]; // initialize database drivers Class cl = Class.forName(driver); Database database = (Database) cl.newInstance(); DatabaseManager.registerDatabase(database); // get the collection Collection col = DatabaseManager.getCollection(URI + collection); col.setProperty(OutputKeys.INDENT, "yes"); col.setProperty(EXistOutputKeys.EXPAND_XINCLUDES, "no"); col.setProperty(EXistOutputKeys.PROCESS_XSL_PI, "yes"); XMLResource res = (XMLResource)col.getResource(args[1]); if(res == null) System.out.println("document not found!"); else { System.out.println(res.getContent()); System.out.println("Size: " + ((EXistResource)res).getContentLength()); } } }