%@ page session="true" isThreadSafe="true" isErrorPage="false"%><%@ page import="java.util.ArrayList" %>
<%@ page import="org.xmldb.api.*" %>
<%@ page import="org.xmldb.api.base.*" %>
<%@ page import="org.xmldb.api.modules.*" %>
<%@ page import="org.w3c.dom.*" %>
<%@ page import="org.exist.xmldb.XQueryService" %>
<%@ page import="org.exist.security.MD5" %>
<%@ page contentType="text/html; charset=UTF-8" %>
<%!
// Declarations
String URICache = "xmldb:cache:///db/";
String URIRepos = "xmldb:exist://localhost:8080/exist/xmlrpc";
public void initDBManager(String configpath ) throws Exception {
String driver = "org.exist.xmldb.DatabaseImpl";
Class cl = Class.forName(driver);
// Repository
Database dbrepository = (Database)cl.newInstance();
DatabaseManager.registerDatabase(dbrepository);
// Cache
System.out.println("Initialising db from:"+configpath);
Database dbcache = (Database)cl.newInstance();
dbcache.setProperty("create-database", "true");
dbcache.setProperty("configuration", configpath);
dbcache.setProperty("database-id", "cache");
DatabaseManager.registerDatabase(dbcache);
}
%><% // Instream code
try {
String testxml = "Hello there";
//Session session = request.getSession(true);
String sid = session.getId();
long t0 = System.currentTimeMillis();
String CACHE_HOME = pageContext.getServletContext().getRealPath("/WEB-INF");
initDBManager(CACHE_HOME+"/conf.xml");
Collection root = DatabaseManager.getCollection(URICache);
CollectionManagementService mgtService = (CollectionManagementService)root.getService("CollectionManagementService", "1.0");
Collection colsess = mgtService.createCollection("mycol");
XMLResource res = (XMLResource)colsess.createResource("1~1", "XMLResource");
res.setContent(testxml);
colsess.storeResource(res);
String docId="testdocid";
Element docroot = (Element)res.getContentAsDOM();
Document doc = docroot.getOwnerDocument();
Element recordRoot = doc.getDocumentElement();
System.out.println("recordRoot:"+recordRoot.getTagName()+" nsURI:"+recordRoot.getNamespaceURI());
recordRoot.setAttribute("ID", docId);
System.out.println("has attr ID:"+recordRoot.hasAttribute("ID"));
recordRoot.setAttributeNS("http://www.loc.gov/mods/v3","ID", docId);
System.out.println("has attrNS ID:"+recordRoot.hasAttributeNS("http://www.loc.gov/mods/v3","ID"));
res.setContentAsDOM(recordRoot);
String str = (String)res.getContent();
System.out.println("done addID...\n"+str);
} catch (Throwable e) {
e.printStackTrace();
}
%>
Test
OK