diff --git a/BaseX821/META-INF/MANIFEST.MF b/BaseX821/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..7d59fddffea6be7e80f55a8e5e43b8fd3d6dd33f
--- /dev/null
+++ b/BaseX821/META-INF/MANIFEST.MF
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Built-By: user
+Build-Jdk: 1.7.0_67
+Created-By: Apache Maven 3.2.5
+Archiver-Version: Plexus Archiver
+
diff --git a/BaseX821/WEB-INF/jetty.xml b/BaseX821/WEB-INF/jetty.xml
new file mode 100644
index 0000000000000000000000000000000000000000..67df4e3afd4c08a7536f318f5c18f2222d3c719d
--- /dev/null
+++ b/BaseX821/WEB-INF/jetty.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+  <!-- Default connector. The Jetty stop port can be specified 
+       in the .basex or pom.xml configuration file.  -->
+  <Call name="addConnector">
+    <Arg>
+      <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
+        <Set name="host">0.0.0.0</Set>
+        <Set name="port">8984</Set>
+        <Set name="maxIdleTime">60000</Set>
+        <Set name="reuseAddress">true</Set>
+        <Set name="Acceptors">2</Set>
+        <!-- Support for SSL connections .
+        <Set name="confidentialPort">8986</Set>
+        -->
+      </New>
+    </Arg>
+  </Call>
+
+  <!-- Debugging
+  <Get class="org.eclipse.jetty.util.log.Log" name="log">
+    <Set name="debugEnabled">true</Set>
+  </Get> -->
+
+  <!-- Support for SSL connections.
+  <Call name="addConnector">
+    <Arg>
+      <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
+        <Set name="Port">8986</Set>
+        <Set name="maxIdleTime">60000</Set>
+        <Set name="keystore"><SystemProperty name="jetty.home" default="."/>/etc/keystore</Set>
+        <Set name="password">jetty</Set>
+        <Set name="keyPassword">jetty</Set>
+        <Set name="truststore"><SystemProperty name="jetty.home" default="."/>/etc/keystore</Set>
+        <Set name="trustPassword">jetty</Set>
+      </New>
+    </Arg>
+  </Call>-->
+</Configure>
diff --git a/BaseX821/WEB-INF/web.xml b/BaseX821/WEB-INF/web.xml
new file mode 100644
index 0000000000000000000000000000000000000000..eac86b414ca377ec4b651c2fb1b381f6efd82d64
--- /dev/null
+++ b/BaseX821/WEB-INF/web.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app
+  xmlns="http://java.sun.com/xml/ns/javaee"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+  version="2.5">
+
+  <display-name>BaseX: The XML Database and XQuery Processor</display-name>
+  <description>HTTP Services</description>
+
+  <!-- All BaseX options can be overwritten  prefixing the key with "org.basex."
+       and specifying them in <context-param/> elements, as shown below. Please
+       check out http://docs.basex.org/wiki/Options for a list of all options. -->
+
+  <!--
+  <context-param>
+    <param-name>org.basex.restxqpath</param-name>
+    <param-value>.</param-value>
+  </context-param>
+  <context-param>
+    <param-name>org.basex.dbpath</param-name>
+    <param-value>WEB-INF/data</param-value>
+  </context-param>
+  <context-param>
+    <param-name>org.basex.repopath</param-name>
+    <param-value>WEB-INF/repo</param-value>
+  </context-param>
+
+  <context-param>
+    <param-name>org.basex.user</param-name>
+    <param-value>admin</param-value>
+  </context-param>
+  <context-param>
+    <param-name>org.basex.password</param-name>
+    <param-value>admin</param-value>
+  </context-param>
+  <context-param>
+    <param-name>org.basex.authmethod</param-name>
+    <param-value>Digest</param-value>
+  </context-param>
+
+  <context-param>
+    <param-name>org.basex.httplocal</param-name>
+    <param-value>true</param-value>
+  </context-param>
+  <context-param>
+    <param-name>org.basex.timeout</param-name>
+    <param-value>5</param-value>
+  </context-param>
+  <context-param>
+    <param-name>org.basex.log</param-name>
+    <param-value>false</param-value>
+  </context-param>
+  -->
+
+  <!-- Global session and servlet listener -->
+  <listener>
+    <listener-class>org.basex.http.SessionListener</listener-class>
+    <listener-class>org.basex.http.ServletListener</listener-class>
+  </listener>
+
+  <!-- RESTXQ Service (can be deactivated by removing this entry) -->
+  <servlet>
+    <servlet-name>RESTXQ</servlet-name>
+    <servlet-class>org.basex.http.restxq.RestXqServlet</servlet-class>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>RESTXQ</servlet-name>
+    <url-pattern>/*</url-pattern>
+  </servlet-mapping>
+
+  <!-- REST Service (can be deactivated by removing this entry) -->
+  <servlet>
+    <servlet-name>REST</servlet-name>
+    <servlet-class>org.basex.http.rest.RESTServlet</servlet-class>
+    <!-- service-specific credentials
+    <init-param>
+      <param-name>org.basex.user</param-name>
+      <param-value/>
+    </init-param>
+    <init-param>
+      <param-name>org.basex.password</param-name>
+      <param-value/>
+    </init-param>
+    -->
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>REST</servlet-name>
+    <url-pattern>/rest/*</url-pattern>
+  </servlet-mapping>
+
+  <!-- WebDAV Service (can be deactivated by removing this entry) -->
+  <servlet>
+    <servlet-name>WebDAV</servlet-name>
+    <servlet-class>org.basex.http.webdav.WebDAVServlet</servlet-class>
+    <!-- service-specific credentials
+    <init-param>
+      <param-name>org.basex.user</param-name>
+      <param-value/>
+    </init-param>
+    <init-param>
+      <param-name>org.basex.password</param-name>
+      <param-value/>
+    </init-param>
+    -->
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>WebDAV</servlet-name>
+    <url-pattern>/webdav/*</url-pattern>
+  </servlet-mapping>
+
+  <!-- Mapping for static resources (may be restricted to a sub path) -->
+  <servlet>
+    <servlet-name>default</servlet-name>
+    <init-param>
+      <param-name>useFileMappedBuffer</param-name>
+      <param-value>false</param-value>
+    </init-param>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>default</servlet-name>
+    <url-pattern>/static/*</url-pattern>
+  </servlet-mapping>
+
+</web-app>
diff --git a/BaseX821/data/.logs/2015-06-29.log b/BaseX821/data/.logs/2015-06-29.log
new file mode 100644
index 0000000000000000000000000000000000000000..ab95b5e004cf21217311d051a9db996fb435163f
--- /dev/null
+++ b/BaseX821/data/.logs/2015-06-29.log
@@ -0,0 +1,517 @@
+04:11:15.341	SERVER	admin	OK	Server was started (port: 1984).
+04:13:23.655	0:0:0:0:0:0:0:1:60979	admin	REQUEST	[GET] http://localhost:8080/BaseX821
+04:13:25.025	0:0:0:0:0:0:0:1:60979	admin	200		1372.16 ms
+04:13:55.577	0:0:0:0:0:0:0:1:60980	admin	REQUEST	[GET] http://localhost:8080/BaseX821
+04:13:55.627	0:0:0:0:0:0:0:1:60980	admin	200		50.05 ms
+04:14:18.934	0:0:0:0:0:0:0:1:60989	admin	REQUEST	[GET] http://localhost:8080/BaseX821
+04:14:18.985	0:0:0:0:0:0:0:1:60989	admin	200		51.71 ms
+04:14:32.260	0:0:0:0:0:0:0:1:60989	admin	REQUEST	[GET] http://localhost:8080/BaseX821
+04:14:32.306	0:0:0:0:0:0:0:1:60989	admin	200		46.28 ms
+04:22:49.162	0:0:0:0:0:0:0:1:61213	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba
+04:22:49.231	0:0:0:0:0:0:0:1:61213	admin	302		68.62 ms
+04:22:49.231	0:0:0:0:0:0:0:1:61213	admin	200		0.2 ms
+04:22:49.236	0:0:0:0:0:0:0:1:61213	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+04:22:49.406	0:0:0:0:0:0:0:1:61213	admin	302		169.77 ms
+04:22:49.406	0:0:0:0:0:0:0:1:61213	admin	200		0.09 ms
+04:22:49.414	0:0:0:0:0:0:0:1:61213	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/login
+04:22:49.464	0:0:0:0:0:0:0:1:61213	admin	200		50.21 ms
+04:22:49.545	0:0:0:0:0:0:0:1:61213	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/style.css
+04:22:49.550	0:0:0:0:0:0:0:1:61214	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/js.js
+04:22:49.590	0:0:0:0:0:0:0:1:61213	admin	200		45.67 ms
+04:22:49.616	0:0:0:0:0:0:0:1:61214	admin	200		66.59 ms
+04:22:49.617	0:0:0:0:0:0:0:1:61213	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/basex.svg
+04:22:49.667	0:0:0:0:0:0:0:1:61213	admin	200		49.4 ms
+04:25:59.183	0:0:0:0:0:0:0:1:61331	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/login-check
+04:25:59.276	0:0:0:0:0:0:0:1:61331	admin	400	Stopped at /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/login.xqm, 117/36: [user:unknown] User 'xml' does not exist. Stack Trace: - /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/login.xqm, 89/10	93.51 ms
+04:26:13.361	0:0:0:0:0:0:0:1:61332	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/login-check
+04:26:13.423	SERVER	admin	INFO	User was logged in: admin
+04:26:13.424	0:0:0:0:0:0:0:1:61332	admin	302		63.01 ms
+04:26:13.425	0:0:0:0:0:0:0:1:61332	admin	200		0.18 ms
+04:26:13.429	0:0:0:0:0:0:0:1:61332	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+04:26:13.562	0:0:0:0:0:0:0:1:61332	admin	200		132.82 ms
+04:26:21.476	0:0:0:0:0:0:0:1:61332	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/databases
+04:26:21.584	0:0:0:0:0:0:0:1:61332	admin	302		107.55 ms
+04:26:21.584	0:0:0:0:0:0:0:1:61332	admin	200		0.67 ms
+04:26:21.595	0:0:0:0:0:0:0:1:61332	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/create-db
+04:26:21.667	0:0:0:0:0:0:0:1:61332	admin	200		78.98 ms
+04:26:38.866	0:0:0:0:0:0:0:1:61332	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/create-db
+04:26:38.910	0:0:0:0:0:0:0:1:61332	admin	302		44.42 ms
+04:26:38.911	0:0:0:0:0:0:0:1:61332	admin	200		0.1 ms
+04:26:38.914	0:0:0:0:0:0:0:1:61332	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/create-db?opts=x&opts=textindex&opts=attrindex&error=Invalid%20database%20name%3A%20%27%27.&name=
+04:26:38.957	0:0:0:0:0:0:0:1:61332	admin	200		43.21 ms
+04:42:30.118	0:0:0:0:0:0:0:1:61618	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/create-db
+04:42:30.169	0:0:0:0:0:0:0:1:61618	admin	302		51.07 ms
+04:42:30.169	0:0:0:0:0:0:0:1:61618	admin	200		0.11 ms
+04:42:30.172	0:0:0:0:0:0:0:1:61618	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/create-db?opts=x&opts=textindex&opts=attrindex&error=Invalid%20database%20name%3A%20%27xml_database_v3.xml%27.&name=xml_database_v3.xml
+04:42:30.214	0:0:0:0:0:0:0:1:61618	admin	200		41.65 ms
+04:43:10.832	0:0:0:0:0:0:0:1:61619	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+04:43:10.911	0:0:0:0:0:0:0:1:61619	admin	200		78.43 ms
+04:43:30.085	0:0:0:0:0:0:0:1:61619	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/databases
+04:43:30.129	0:0:0:0:0:0:0:1:61619	admin	302		44.27 ms
+04:43:30.129	0:0:0:0:0:0:0:1:61619	admin	200		0.07 ms
+04:43:30.131	0:0:0:0:0:0:0:1:61619	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/create-db
+04:43:30.178	0:0:0:0:0:0:0:1:61619	admin	200		47.29 ms
+04:43:56.174	0:0:0:0:0:0:0:1:61625	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/create-db
+04:43:56.213	0:0:0:0:0:0:0:1:61625	admin	302		39.12 ms
+04:43:56.213	0:0:0:0:0:0:0:1:61625	admin	200		0.07 ms
+04:43:56.216	0:0:0:0:0:0:0:1:61626	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/create-db?opts=x&opts=textindex&opts=attrindex&error=Invalid%20database%20name%3A%20%27xml_database_v3.xml%27.&name=xml_database_v3.xml
+04:43:56.252	0:0:0:0:0:0:0:1:61626	admin	200		36.31 ms
+04:44:44.345	0:0:0:0:0:0:0:1:61632	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/create-db
+04:44:44.514	0:0:0:0:0:0:0:1:61632	admin	302		168.81 ms
+04:44:44.514	0:0:0:0:0:0:0:1:61632	admin	200		0.09 ms
+04:44:44.519	0:0:0:0:0:0:0:1:61632	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_database_v3&info=Created%20Database%3A%20xml_database_v3
+04:44:44.601	0:0:0:0:0:0:0:1:61632	admin	200		82.3 ms
+04:44:59.053	0:0:0:0:0:0:0:1:61632	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+04:44:59.089	0:0:0:0:0:0:0:1:61632	admin	302		36.06 ms
+04:44:59.089	0:0:0:0:0:0:0:1:61632	admin	200		0.11 ms
+04:44:59.092	0:0:0:0:0:0:0:1:61632	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/add?name=xml_database_v3
+04:44:59.123	0:0:0:0:0:0:0:1:61632	admin	200		30.69 ms
+04:45:47.186	0:0:0:0:0:0:0:1:61637	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/add
+04:45:47.292	0:0:0:0:0:0:0:1:61637	admin	400	Stopped at /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/databases/resources/add.xqm, 91/10: [FODC0002] "..." (Line 1): Premature end of file.	106.02 ms
+04:46:30.062	0:0:0:0:0:0:0:1:61713	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+04:46:30.093	0:0:0:0:0:0:0:1:61713	admin	302		31.12 ms
+04:46:30.093	0:0:0:0:0:0:0:1:61713	admin	200		0.08 ms
+04:46:30.096	0:0:0:0:0:0:0:1:61713	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/optimize?name=xml_database_v3
+04:46:30.135	0:0:0:0:0:0:0:1:61713	admin	200		39.67 ms
+04:46:37.198	0:0:0:0:0:0:0:1:61713	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/optimize
+04:46:37.242	0:0:0:0:0:0:0:1:61713	admin	302		43.28 ms
+04:46:37.242	0:0:0:0:0:0:0:1:61713	admin	200		0.1 ms
+04:46:37.244	0:0:0:0:0:0:0:1:61713	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_database_v3&info=Database%20was%20optimized.
+04:46:37.292	0:0:0:0:0:0:0:1:61713	admin	200		48.2 ms
+04:48:20.806	0:0:0:0:0:0:0:1:61757	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+04:48:21.030	0:0:0:0:0:0:0:1:61757	admin	302		227.04 ms
+04:48:21.031	0:0:0:0:0:0:0:1:61757	admin	200		0.43 ms
+04:48:21.063	0:0:0:0:0:0:0:1:61757	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/add?name=xml_database_v3
+04:48:21.189	0:0:0:0:0:0:0:1:61757	admin	200		126.42 ms
+04:52:08.209	0:0:0:0:0:0:0:1:61916	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/add
+04:52:08.781	0:0:0:0:0:0:0:1:61916	admin	302		574.01 ms
+04:52:08.781	0:0:0:0:0:0:0:1:61916	admin	200		0.32 ms
+04:52:08.787	0:0:0:0:0:0:0:1:61916	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_database_v3&resource=xml_Database_v3.xml&info=Added%20resource%3A%20xml_database_v3
+04:52:08.864	0:0:0:0:0:0:0:1:61916	admin	200		77.05 ms
+04:52:09.301	0:0:0:0:0:0:0:1:61916	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=
+04:52:09.471	0:0:0:0:0:0:0:1:61916	admin	200		170.53 ms
+04:53:19.619	0:0:0:0:0:0:0:1:61917	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/resource
+04:53:19.656	0:0:0:0:0:0:0:1:61917	admin	302		37.28 ms
+04:53:19.656	0:0:0:0:0:0:0:1:61917	admin	200		0.07 ms
+04:53:19.658	0:0:0:0:0:0:0:1:61917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/download/xml_Database_v3.xml?name=xml_database_v3&resource=xml_Database_v3.xml
+04:53:19.808	0:0:0:0:0:0:0:1:61917	admin	200		149.9 ms
+04:54:05.127	0:0:0:0:0:0:0:1:61919	admin	REQUEST	[GET] http://localhost:8080/BaseX821
+04:54:05.162	0:0:0:0:0:0:0:1:61919	admin	200		35.18 ms
+04:54:15.715	0:0:0:0:0:0:0:1:61919	admin	REQUEST	[GET] http://localhost:8080/BaseX821
+04:54:15.745	0:0:0:0:0:0:0:1:61919	admin	200		30.02 ms
+04:54:56.068	0:0:0:0:0:0:0:1:61919	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+04:54:56.172	0:0:0:0:0:0:0:1:61919	admin	401	No username specified.	103.77 ms
+04:55:02.716	0:0:0:0:0:0:0:1:61919	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+04:55:02.770	0:0:0:0:0:0:0:1:61919	admin	200		54.75 ms
+04:55:36.288	0:0:0:0:0:0:0:1:61919	admin	REQUEST	[GET] http://localhost:8080/BaseX821
+04:55:36.320	0:0:0:0:0:0:0:1:61919	admin	200		33.02 ms
+04:55:40.013	0:0:0:0:0:0:0:1:61919	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+04:55:40.016	0:0:0:0:0:0:0:1:61919	admin	200		3.06 ms
+04:56:11.076	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=h
+04:56:11.117	0:0:0:0:0:0:0:1:61942	admin	200		41.8 ms
+04:56:11.658	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=
+04:56:11.740	0:0:0:0:0:0:0:1:61942	admin	200		82.53 ms
+04:56:17.219	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=fl
+04:56:17.273	0:0:0:0:0:0:0:1:61942	admin	200		53.78 ms
+04:56:17.675	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=flug
+04:56:17.728	0:0:0:0:0:0:0:1:61942	admin	200		53.4 ms
+04:56:20.147	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=flu
+04:56:20.177	0:0:0:0:0:0:0:1:61942	admin	200		30.39 ms
+04:56:20.363	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=fl
+04:56:20.390	0:0:0:0:0:0:0:1:61942	admin	200		27.8 ms
+04:56:20.568	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=f
+04:56:20.596	0:0:0:0:0:0:0:1:61942	admin	200		29.03 ms
+04:56:22.832	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=
+04:56:22.902	0:0:0:0:0:0:0:1:61942	admin	200		70.15 ms
+04:56:37.097	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/resource
+04:56:37.129	0:0:0:0:0:0:0:1:61942	admin	302		32.14 ms
+04:56:37.129	0:0:0:0:0:0:0:1:61942	admin	200		0.09 ms
+04:56:37.131	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/rename?name=xml_database_v3&resource=xml_Database_v3.xml
+04:56:37.165	0:0:0:0:0:0:0:1:61942	admin	200		33.54 ms
+04:56:37.303	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/style.css
+04:56:37.306	0:0:0:0:0:0:0:1:61946	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/js.js
+04:56:37.337	0:0:0:0:0:0:0:1:61942	admin	200		34.06 ms
+04:56:37.362	0:0:0:0:0:0:0:1:61946	admin	200		56.56 ms
+04:56:42.417	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/rename
+04:56:42.461	0:0:0:0:0:0:0:1:61942	admin	302		43.66 ms
+04:56:42.461	0:0:0:0:0:0:0:1:61942	admin	200		0.07 ms
+04:56:42.510	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_database_v3&resource=rest&info=Resource%20was%20renamed.
+04:56:42.551	0:0:0:0:0:0:0:1:61942	admin	200		41.41 ms
+04:56:42.833	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_database_v3&resource=rest&sort=&loglist=&query=
+04:56:42.885	0:0:0:0:0:0:0:1:61942	admin	200		52.47 ms
+04:56:49.772	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+04:56:49.808	0:0:0:0:0:0:0:1:61942	admin	302		36.67 ms
+04:56:49.808	0:0:0:0:0:0:0:1:61942	admin	200		0.07 ms
+04:56:49.811	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/optimize?name=xml_database_v3
+04:56:49.842	0:0:0:0:0:0:0:1:61942	admin	200		31.28 ms
+04:57:03.889	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/optimize
+04:57:04.261	0:0:0:0:0:0:0:1:61942	admin	302		371.68 ms
+04:57:04.261	0:0:0:0:0:0:0:1:61942	admin	200		0.09 ms
+04:57:04.264	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_database_v3&info=Database%20was%20optimized.
+04:57:04.319	0:0:0:0:0:0:0:1:61942	admin	200		54.5 ms
+04:57:14.314	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+04:57:14.336	0:0:0:0:0:0:0:1:61942	admin	302		22.91 ms
+04:57:14.336	0:0:0:0:0:0:0:1:61942	admin	200		0.07 ms
+04:57:14.339	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/alter-db?name=xml_database_v3
+04:57:14.364	0:0:0:0:0:0:0:1:61942	admin	200		24.74 ms
+04:57:17.833	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/alter-db
+04:57:17.880	0:0:0:0:0:0:0:1:61942	admin	302		47.34 ms
+04:57:17.880	0:0:0:0:0:0:0:1:61942	admin	200		0.09 ms
+04:57:17.884	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&info=Database%20was%20renamed.
+04:57:17.935	0:0:0:0:0:0:0:1:61942	admin	200		51.18 ms
+04:57:24.742	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&resource=rest
+04:57:24.781	0:0:0:0:0:0:0:1:61942	admin	200		38.66 ms
+04:57:25.109	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+04:57:25.165	0:0:0:0:0:0:0:1:61942	admin	200		56.22 ms
+04:57:39.573	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+04:57:39.613	0:0:0:0:0:0:0:1:61942	admin	302		40.1 ms
+04:57:39.613	0:0:0:0:0:0:0:1:61942	admin	200		0.06 ms
+04:57:39.615	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/optimize?name=rest
+04:57:39.940	0:0:0:0:0:0:0:1:61942	admin	200		324.74 ms
+04:57:47.611	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/optimize
+04:57:47.674	0:0:0:0:0:0:0:1:61942	admin	302		62.81 ms
+04:57:47.674	0:0:0:0:0:0:0:1:61942	admin	200		0.08 ms
+04:57:47.677	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&info=Database%20was%20optimized.
+04:57:47.726	0:0:0:0:0:0:0:1:61942	admin	200		49.44 ms
+04:57:52.612	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+04:57:52.615	0:0:0:0:0:0:0:1:61942	admin	200		3.49 ms
+04:57:54.151	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+04:57:54.154	0:0:0:0:0:0:0:1:61942	admin	200		2.49 ms
+04:57:57.000	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+04:57:57.002	0:0:0:0:0:0:0:1:61942	admin	200		2.19 ms
+04:58:03.410	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+04:58:03.420	0:0:0:0:0:0:0:1:61942	admin	200		10.6 ms
+04:58:15.507	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+04:58:15.552	0:0:0:0:0:0:0:1:61942	admin	302		45.39 ms
+04:58:15.552	0:0:0:0:0:0:0:1:61942	admin	200		0.09 ms
+04:58:15.555	0:0:0:0:0:0:0:1:61942	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/optimize?name=rest
+04:58:15.603	0:0:0:0:0:0:0:1:61942	admin	200		47.56 ms
+04:58:37.237	127.0.0.1:62036	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/optimize
+04:58:37.593	127.0.0.1:62036	admin	302		356.78 ms
+04:58:37.594	127.0.0.1:62036	admin	200		0.43 ms
+04:58:37.602	127.0.0.1:62036	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&info=Database%20was%20optimized.
+04:58:37.669	127.0.0.1:62036	admin	200		67.41 ms
+04:58:59.003	0:0:0:0:0:0:0:1:62037	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+04:58:59.012	0:0:0:0:0:0:0:1:62037	admin	200		8.76 ms
+04:59:03.286	0:0:0:0:0:0:0:1:62037	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+04:59:03.288	0:0:0:0:0:0:0:1:62037	admin	200		1.8 ms
+04:59:05.291	0:0:0:0:0:0:0:1:62037	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+04:59:05.293	0:0:0:0:0:0:0:1:62037	admin	200		2.56 ms
+04:59:13.366	0:0:0:0:0:0:0:1:62043	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+04:59:13.467	0:0:0:0:0:0:0:1:62043	admin	401	No username specified.	101.64 ms
+04:59:13.514	0:0:0:0:0:0:0:1:62043	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+04:59:13.722	0:0:0:0:0:0:0:1:62043	admin	401	No username specified.	208.91 ms
+04:59:19.826	0:0:0:0:0:0:0:1:62043	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+04:59:19.830	0:0:0:0:0:0:0:1:62043	admin	200		3.59 ms
+04:59:49.438	0:0:0:0:0:0:0:1:62055	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+04:59:49.493	0:0:0:0:0:0:0:1:62055	admin	302		54.98 ms
+04:59:49.493	0:0:0:0:0:0:0:1:62055	admin	200		0.18 ms
+04:59:49.499	0:0:0:0:0:0:0:1:62055	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/optimize?name=rest&resource=rest
+04:59:49.550	0:0:0:0:0:0:0:1:62055	admin	200		51.81 ms
+04:59:51.778	0:0:0:0:0:0:0:1:62055	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/optimize
+04:59:51.816	0:0:0:0:0:0:0:1:62055	admin	302		38.07 ms
+04:59:51.816	0:0:0:0:0:0:0:1:62055	admin	200		0.07 ms
+04:59:51.818	0:0:0:0:0:0:0:1:62055	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&info=Database%20was%20optimized.
+04:59:51.863	0:0:0:0:0:0:0:1:62055	admin	200		44.77 ms
+05:00:04.343	0:0:0:0:0:0:0:1:62055	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&resource=rest
+05:00:04.404	0:0:0:0:0:0:0:1:62055	admin	200		60.92 ms
+05:00:04.713	0:0:0:0:0:0:0:1:62055	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+05:00:04.771	0:0:0:0:0:0:0:1:62055	admin	200		57.35 ms
+05:00:06.656	0:0:0:0:0:0:0:1:62055	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&resource=rest
+05:00:06.698	0:0:0:0:0:0:0:1:62055	admin	200		41.64 ms
+05:00:06.984	0:0:0:0:0:0:0:1:62055	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+05:00:07.037	0:0:0:0:0:0:0:1:62055	admin	200		52.71 ms
+05:00:11.080	0:0:0:0:0:0:0:1:62055	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/resource
+05:00:11.101	0:0:0:0:0:0:0:1:62055	admin	302		21.24 ms
+05:00:11.102	0:0:0:0:0:0:0:1:62055	admin	200		0.13 ms
+05:00:11.105	0:0:0:0:0:0:0:1:62055	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/replace?name=rest&resource=rest
+05:00:11.137	0:0:0:0:0:0:0:1:62055	admin	200		32.33 ms
+05:01:03.748	0:0:0:0:0:0:0:1:62065	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&resource=rest
+05:01:03.807	0:0:0:0:0:0:0:1:62065	admin	200		58.99 ms
+05:01:03.864	0:0:0:0:0:0:0:1:62065	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/style.css
+05:01:03.868	0:0:0:0:0:0:0:1:62069	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/js.js
+05:01:03.900	0:0:0:0:0:0:0:1:62065	admin	200		36.45 ms
+05:01:03.929	0:0:0:0:0:0:0:1:62069	admin	200		61.28 ms
+05:01:04.066	0:0:0:0:0:0:0:1:62069	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/basex.svg
+05:01:04.114	0:0:0:0:0:0:0:1:62069	admin	200		48.75 ms
+05:01:04.208	0:0:0:0:0:0:0:1:62069	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+05:01:04.289	0:0:0:0:0:0:0:1:62069	admin	200		81.41 ms
+05:01:18.935	0:0:0:0:0:0:0:1:62069	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databaserest
+05:01:18.973	0:0:0:0:0:0:0:1:62069	admin	200		38.16 ms
+05:01:25.103	0:0:0:0:0:0:0:1:62069	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database
+05:01:25.176	0:0:0:0:0:0:0:1:62069	admin	400	Stopped at /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/databases/database.xqm, 34/10: [XPTY0004] Cannot cast empty-sequence() to xs:string: ().	72.8 ms
+05:01:28.529	0:0:0:0:0:0:0:1:62119	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database/
+05:01:28.580	0:0:0:0:0:0:0:1:62119	admin	400	Stopped at /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/databases/database.xqm, 34/10: [XPTY0004] Cannot cast empty-sequence() to xs:string: ().	50.67 ms
+05:01:32.812	0:0:0:0:0:0:0:1:62122	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database/rest
+05:01:32.857	0:0:0:0:0:0:0:1:62122	admin	404	No function found that matches the request.	45.86 ms
+05:02:07.839	0:0:0:0:0:0:0:1:62167	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/resource
+05:02:07.874	0:0:0:0:0:0:0:1:62167	admin	302		34.78 ms
+05:02:07.874	0:0:0:0:0:0:0:1:62167	admin	200		0.07 ms
+05:02:07.877	0:0:0:0:0:0:0:1:62167	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/download/rest?name=rest&resource=rest
+05:02:07.954	0:0:0:0:0:0:0:1:62167	admin	200		77.06 ms
+05:02:59.157	0:0:0:0:0:0:0:1:62237	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+05:02:59.228	0:0:0:0:0:0:0:1:62237	admin	200		71.5 ms
+05:03:05.223	0:0:0:0:0:0:0:1:62237	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest
+05:03:05.287	0:0:0:0:0:0:0:1:62237	admin	200		63.49 ms
+05:03:15.247	0:0:0:0:0:0:0:1:62237	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&resource=rest
+05:03:15.292	0:0:0:0:0:0:0:1:62237	admin	200		45.82 ms
+05:03:15.586	0:0:0:0:0:0:0:1:62237	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+05:03:15.648	0:0:0:0:0:0:0:1:62237	admin	200		62.73 ms
+05:03:21.148	0:0:0:0:0:0:0:1:62237	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/queries
+05:03:21.188	0:0:0:0:0:0:0:1:62237	admin	200		39.73 ms
+05:03:21.270	0:0:0:0:0:0:0:1:62237	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/codemirror/lib/codemirror.css
+05:03:21.278	0:0:0:0:0:0:0:1:62244	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/editor.js
+05:03:21.285	0:0:0:0:0:0:0:1:62245	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/codemirror/lib/codemirror.js
+05:03:21.286	0:0:0:0:0:0:0:1:62246	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/codemirror/mode/xquery/xquery.js
+05:03:21.289	0:0:0:0:0:0:0:1:62247	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/codemirror/mode/xml/xml.js
+05:03:21.308	0:0:0:0:0:0:0:1:62237	admin	200		38.54 ms
+05:03:21.332	0:0:0:0:0:0:0:1:62247	admin	200		42.74 ms
+05:03:21.382	0:0:0:0:0:0:0:1:62246	admin	200		96.3 ms
+05:03:21.455	0:0:0:0:0:0:0:1:62245	admin	200		170.05 ms
+05:03:21.456	0:0:0:0:0:0:0:1:62244	admin	200		178.95 ms
+05:03:24.017	0:0:0:0:0:0:0:1:62245	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/logs
+05:03:24.053	0:0:0:0:0:0:0:1:62245	admin	200		36.28 ms
+05:03:26.353	0:0:0:0:0:0:0:1:62245	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/users
+05:03:26.396	0:0:0:0:0:0:0:1:62245	admin	200		43.85 ms
+05:03:32.329	0:0:0:0:0:0:0:1:62245	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/files
+05:03:32.367	0:0:0:0:0:0:0:1:62245	admin	200		38.03 ms
+05:03:33.853	0:0:0:0:0:0:0:1:62245	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/settings
+05:03:33.882	0:0:0:0:0:0:0:1:62245	admin	200		29.11 ms
+05:03:46.182	0:0:0:0:0:0:0:1:62245	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/settings
+05:03:46.203	0:0:0:0:0:0:0:1:62245	admin	302		21.55 ms
+05:03:46.203	0:0:0:0:0:0:0:1:62245	admin	200		0.08 ms
+05:03:46.206	0:0:0:0:0:0:0:1:62245	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/settings
+05:03:46.245	0:0:0:0:0:0:0:1:62245	admin	200		38.46 ms
+05:04:07.519	0:0:0:0:0:0:0:1:62255	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+05:04:07.522	0:0:0:0:0:0:0:1:62255	admin	200		3.03 ms
+05:04:16.368	0:0:0:0:0:0:0:1:62255	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+05:04:16.369	0:0:0:0:0:0:0:1:62255	admin	200		1.72 ms
+05:04:40.243	0:0:0:0:0:0:0:1:62257	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+05:04:40.245	0:0:0:0:0:0:0:1:62257	admin	200		2.53 ms
+05:04:41.591	0:0:0:0:0:0:0:1:62257	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+05:04:41.593	0:0:0:0:0:0:0:1:62257	admin	200		2.02 ms
+05:06:11.219	0:0:0:0:0:0:0:1:62271	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/users
+05:06:11.292	0:0:0:0:0:0:0:1:62271	admin	200		73.57 ms
+05:06:13.658	0:0:0:0:0:0:0:1:62271	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/files
+05:06:13.696	0:0:0:0:0:0:0:1:62271	admin	200		37.95 ms
+05:06:20.069	0:0:0:0:0:0:0:1:62271	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/file/dba-settings.xml?name=dba-settings.xml
+05:06:20.107	0:0:0:0:0:0:0:1:62271	admin	200		37.92 ms
+05:06:26.422	0:0:0:0:0:0:0:1:62271	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/settings
+05:06:26.448	0:0:0:0:0:0:0:1:62271	admin	200		25.43 ms
+05:06:50.099	0:0:0:0:0:0:0:1:62278	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/settings
+05:06:50.137	0:0:0:0:0:0:0:1:62278	admin	302		37.23 ms
+05:06:50.137	0:0:0:0:0:0:0:1:62278	admin	200		0.06 ms
+05:06:50.139	0:0:0:0:0:0:0:1:62278	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/settings
+05:06:50.165	0:0:0:0:0:0:0:1:62278	admin	200		26.37 ms
+05:06:53.507	0:0:0:0:0:0:0:1:62278	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/settings
+05:06:53.535	0:0:0:0:0:0:0:1:62278	admin	200		27.96 ms
+05:06:56.445	0:0:0:0:0:0:0:1:62278	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/files
+05:06:56.480	0:0:0:0:0:0:0:1:62278	admin	200		34.9 ms
+05:07:03.595	0:0:0:0:0:0:0:1:62278	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/upload-files
+05:07:03.649	0:0:0:0:0:0:0:1:62278	admin	400	Stopped at /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/files/upload-files.xqm, 28/23: [file:is-dir] Path '/Users/nichexx/apache-tomcat-7.0.62/temp/dba' is a directory. Stack Trace: - /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/files/upload-files.xqm, 27/16	53.86 ms
+05:07:13.229	0:0:0:0:0:0:0:1:62283	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/queries
+05:07:13.262	0:0:0:0:0:0:0:1:62283	admin	200		33.17 ms
+05:07:31.042	0:0:0:0:0:0:0:1:62283	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/users
+05:07:31.084	0:0:0:0:0:0:0:1:62283	admin	200		42.32 ms
+05:07:49.530	0:0:0:0:0:0:0:1:62283	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/files
+05:07:49.581	0:0:0:0:0:0:0:1:62283	admin	200		51.71 ms
+05:07:51.213	0:0:0:0:0:0:0:1:62283	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/users
+05:07:51.257	0:0:0:0:0:0:0:1:62283	admin	200		43.99 ms
+05:07:53.140	0:0:0:0:0:0:0:1:62283	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/queries
+05:07:53.178	0:0:0:0:0:0:0:1:62283	admin	200		37.97 ms
+05:07:54.552	0:0:0:0:0:0:0:1:62283	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+05:07:54.600	0:0:0:0:0:0:0:1:62283	admin	200		48.33 ms
+05:08:33.506	0:0:0:0:0:0:0:1:62368	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases/
+05:08:33.562	0:0:0:0:0:0:0:1:62368	admin	200		55.84 ms
+05:08:33.615	0:0:0:0:0:0:0:1:62368	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases/static/style.css
+05:08:33.625	0:0:0:0:0:0:0:1:62369	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases/static/js.js
+05:08:33.643	0:0:0:0:0:0:0:1:62368	admin	404	No function found that matches the request.	27.54 ms
+05:08:33.669	0:0:0:0:0:0:0:1:62369	admin	404	No function found that matches the request.	44.01 ms
+05:08:33.671	0:0:0:0:0:0:0:1:62368	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases/static/basex.svg
+05:08:33.694	0:0:0:0:0:0:0:1:62368	admin	404	No function found that matches the request.	23.3 ms
+05:08:44.107	0:0:0:0:0:0:0:1:62368	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases/rest
+05:08:44.132	0:0:0:0:0:0:0:1:62368	admin	404	No function found that matches the request.	24.87 ms
+05:08:53.133	0:0:0:0:0:0:0:1:62368	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+05:08:53.183	0:0:0:0:0:0:0:1:62368	admin	200		50.21 ms
+05:08:55.628	0:0:0:0:0:0:0:1:62368	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest
+05:08:55.674	0:0:0:0:0:0:0:1:62368	admin	200		46.86 ms
+05:08:58.985	0:0:0:0:0:0:0:1:62368	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&resource=rest
+05:08:59.021	0:0:0:0:0:0:0:1:62368	admin	200		36.99 ms
+05:08:59.305	0:0:0:0:0:0:0:1:62368	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+05:08:59.404	0:0:0:0:0:0:0:1:62368	admin	200		99.94 ms
+05:24:46.201	0:0:0:0:0:0:0:1:62609	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=pl
+05:24:46.317	0:0:0:0:0:0:0:1:62609	admin	200		116.64 ms
+05:24:47.189	0:0:0:0:0:0:0:1:62609	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=pla
+05:24:47.215	0:0:0:0:0:0:0:1:62609	admin	200		25.96 ms
+05:24:50.883	0:0:0:0:0:0:0:1:62609	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=plan
+05:24:50.921	0:0:0:0:0:0:0:1:62609	admin	200		37.62 ms
+05:24:51.235	0:0:0:0:0:0:0:1:62609	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=plane
+05:24:51.263	0:0:0:0:0:0:0:1:62609	admin	200		27.93 ms
+05:24:53.700	0:0:0:0:0:0:0:1:62609	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=p
+05:24:53.740	0:0:0:0:0:0:0:1:62609	admin	200		40.12 ms
+05:24:54.002	0:0:0:0:0:0:0:1:62609	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+05:24:54.054	0:0:0:0:0:0:0:1:62609	admin	200		52.4 ms
+05:25:05.863	0:0:0:0:0:0:0:1:62609	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=%3E
+05:25:05.908	0:0:0:0:0:0:0:1:62609	admin	400	Stopped at /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/modules/util.xqm, 94/17: [XPST0003] Unknown function or expression.	44.94 ms
+05:25:06.508	0:0:0:0:0:0:0:1:62610	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+05:25:06.553	0:0:0:0:0:0:0:1:62610	admin	200		45.07 ms
+05:25:06.789	0:0:0:0:0:0:0:1:62610	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=%3C
+05:25:06.845	0:0:0:0:0:0:0:1:62610	admin	400	Stopped at /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/modules/util.xqm, 94/17: [XPST0003] Expecting element name, '<�' found.	56.19 ms
+05:25:15.140	0:0:0:0:0:0:0:1:62611	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+05:25:15.177	0:0:0:0:0:0:0:1:62611	admin	200		45.82 ms
+05:25:15.524	0:0:0:0:0:0:0:1:62611	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=re
+05:25:15.553	0:0:0:0:0:0:0:1:62611	admin	200		28.59 ms
+05:25:15.950	0:0:0:0:0:0:0:1:62611	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=rest
+05:25:15.980	0:0:0:0:0:0:0:1:62611	admin	200		29.67 ms
+05:25:19.843	0:0:0:0:0:0:0:1:62611	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+05:25:19.885	0:0:0:0:0:0:0:1:62611	admin	200		42.35 ms
+05:34:18.364	0:0:0:0:0:0:0:1:62820	admin	REQUEST	[GET] http://localhost:8080/BaseX821/est
+05:34:18.391	0:0:0:0:0:0:0:1:62820	admin	404	No function found that matches the request.	26.87 ms
+05:34:24.154	0:0:0:0:0:0:0:1:62820	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+05:34:24.159	0:0:0:0:0:0:0:1:62820	admin	200		4.38 ms
+05:36:15.118	0:0:0:0:0:0:0:1:62912	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/rest
+05:36:15.195	0:0:0:0:0:0:0:1:62912	admin	200		77.31 ms
+05:36:35.840	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest
+05:36:35.899	0:0:0:0:0:0:0:1:62914	admin	200		59.52 ms
+05:36:50.345	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=rest&resource=rest
+05:36:50.394	0:0:0:0:0:0:0:1:62914	admin	200		49.26 ms
+05:36:50.693	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=rest&resource=rest&sort=&loglist=&query=
+05:36:50.757	0:0:0:0:0:0:0:1:62914	admin	200		64.22 ms
+05:36:52.049	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+05:36:52.084	0:0:0:0:0:0:0:1:62914	admin	302		35.97 ms
+05:36:52.085	0:0:0:0:0:0:0:1:62914	admin	200		0.08 ms
+05:36:52.087	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/alter-db?name=rest
+05:36:52.116	0:0:0:0:0:0:0:1:62914	admin	200		29.82 ms
+05:36:56.464	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/alter-db
+05:36:56.498	0:0:0:0:0:0:0:1:62914	admin	302		34.13 ms
+05:36:56.501	0:0:0:0:0:0:0:1:62914	admin	200		2.75 ms
+05:36:56.504	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/alter-db?error=Invalid%20database%20name%3A%20%27xml_Database_v3.xml%27.&newname=xml_Database_v3.xml&name=rest
+05:36:56.531	0:0:0:0:0:0:0:1:62914	admin	200		27.29 ms
+05:37:10.336	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/alter-db
+05:37:10.365	0:0:0:0:0:0:0:1:62914	admin	302		28.91 ms
+05:37:10.365	0:0:0:0:0:0:0:1:62914	admin	200		0.09 ms
+05:37:10.367	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3&info=Database%20was%20renamed.
+05:37:10.408	0:0:0:0:0:0:0:1:62914	admin	200		41.09 ms
+05:37:15.205	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3&resource=rest
+05:37:15.256	0:0:0:0:0:0:0:1:62914	admin	200		51.91 ms
+05:37:15.552	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_Database_v3&resource=rest&sort=&loglist=&query=
+05:37:15.611	0:0:0:0:0:0:0:1:62914	admin	200		58.94 ms
+05:37:18.395	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/resource
+05:37:18.415	0:0:0:0:0:0:0:1:62914	admin	302		19.98 ms
+05:37:18.415	0:0:0:0:0:0:0:1:62914	admin	200		0.09 ms
+05:37:18.418	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/rename?name=xml_Database_v3&resource=rest
+05:37:18.448	0:0:0:0:0:0:0:1:62914	admin	200		30.17 ms
+05:37:29.317	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/rename
+05:37:29.351	0:0:0:0:0:0:0:1:62914	admin	302		34.51 ms
+05:37:29.351	0:0:0:0:0:0:0:1:62914	admin	200		0.1 ms
+05:37:29.382	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3&resource=xml_Database_v3.xml&info=Resource%20was%20renamed.
+05:37:29.423	0:0:0:0:0:0:0:1:62914	admin	200		41.22 ms
+05:37:29.758	0:0:0:0:0:0:0:1:62914	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_Database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=
+05:37:29.810	0:0:0:0:0:0:0:1:62914	admin	200		52.17 ms
+05:37:51.355	0:0:0:0:0:0:0:1:62916	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/rest
+05:37:51.356	0:0:0:0:0:0:0:1:62916	admin	404	Database 'rest' was not found.	1.12 ms
+05:38:01.350	0:0:0:0:0:0:0:1:62916	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3.xml
+05:38:01.358	0:0:0:0:0:0:0:1:62916	admin	400	Name 'xml_Database_v3.xml' is invalid.	7.83 ms
+05:38:07.793	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+05:38:07.802	0:0:0:0:0:0:0:1:62917	admin	200		9.93 ms
+05:38:20.892	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/resource
+05:38:20.925	0:0:0:0:0:0:0:1:62917	admin	302		33.14 ms
+05:38:20.925	0:0:0:0:0:0:0:1:62917	admin	200		0.07 ms
+05:38:20.927	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/rename?name=rest&resource=rest
+05:38:20.960	0:0:0:0:0:0:0:1:62917	admin	200		32.52 ms
+05:38:25.547	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/rename
+05:38:25.584	0:0:0:0:0:0:0:1:62917	admin	302		36.4 ms
+05:38:25.584	0:0:0:0:0:0:0:1:62917	admin	200		0.05 ms
+05:38:25.586	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/rename?error=Database%20%27rest%27%20was%20not%20found.&newname=xml_Database_v3&name=rest&resource=rest
+05:38:25.617	0:0:0:0:0:0:0:1:62917	admin	200		31.17 ms
+05:38:26.966	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/rename
+05:38:26.999	0:0:0:0:0:0:0:1:62917	admin	302		33.3 ms
+05:38:26.999	0:0:0:0:0:0:0:1:62917	admin	200		0.09 ms
+05:38:27.002	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/rename?error=Database%20%27rest%27%20was%20not%20found.&newname=xml_Database_v3&name=rest&resource=rest
+05:38:27.034	0:0:0:0:0:0:0:1:62917	admin	200		32.04 ms
+05:38:32.518	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+05:38:32.575	0:0:0:0:0:0:0:1:62917	admin	200		57.2 ms
+05:38:35.677	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3
+05:38:35.720	0:0:0:0:0:0:0:1:62917	admin	200		42.58 ms
+05:38:39.385	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3&resource=xml_Database_v3.xml
+05:38:39.425	0:0:0:0:0:0:0:1:62917	admin	200		40.19 ms
+05:38:39.705	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_Database_v3&resource=xml_Database_v3.xml&sort=&loglist=&query=
+05:38:39.762	0:0:0:0:0:0:0:1:62917	admin	200		57.73 ms
+05:38:42.386	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/resource
+05:38:42.403	0:0:0:0:0:0:0:1:62917	admin	302		17.49 ms
+05:38:42.404	0:0:0:0:0:0:0:1:62917	admin	200		0.11 ms
+05:38:42.418	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/rename?name=xml_Database_v3&resource=xml_Database_v3.xml
+05:38:42.456	0:0:0:0:0:0:0:1:62917	admin	200		38.03 ms
+05:38:45.873	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/rename
+05:38:45.915	0:0:0:0:0:0:0:1:62917	admin	302		41.8 ms
+05:38:45.915	0:0:0:0:0:0:0:1:62917	admin	200		0.06 ms
+05:38:45.920	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3&resource=xml_Database_v3&info=Resource%20was%20renamed.
+05:38:45.967	0:0:0:0:0:0:0:1:62917	admin	200		46.89 ms
+05:38:46.274	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_Database_v3&resource=xml_Database_v3&sort=&loglist=&query=
+05:38:46.332	0:0:0:0:0:0:0:1:62917	admin	200		58.59 ms
+05:38:52.039	0:0:0:0:0:0:0:1:62917	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+05:38:52.043	0:0:0:0:0:0:0:1:62917	admin	200		4.07 ms
+07:18:06.306	SERVER	admin	OK	Server was stopped (port: 1984).
+07:18:06.307	SERVER	admin	OK	Server was stopped (port: 1984).
+07:18:30.394	SERVER	admin	OK	Server was started (port: 1984).
+07:41:45.835	SERVER	admin	OK	Server was stopped (port: 1984).
+07:41:50.485	SERVER	admin	OK	Server was started (port: 1984).
+07:45:03.223	SERVER	admin	OK	Server was stopped (port: 1984).
+07:46:26.860	SERVER	admin	OK	Server was started (port: 1984).
+07:50:01.349	SERVER	admin	OK	Server was stopped (port: 1984).
+07:50:25.758	SERVER	admin	OK	Server was started (port: 1984).
+08:06:17.339	SERVER	admin	ERROR	Server is running or permission was denied.
+08:06:20.790	SERVER	admin	OK	Server was stopped (port: 1984).
+08:06:35.397	SERVER	admin	OK	Server was started (port: 1984).
+08:18:55.157	SERVER	admin	ERROR	Server is running or permission was denied.
+08:28:58.131	SERVER	admin	OK	Server was stopped (port: 1984).
+08:29:03.022	SERVER	admin	OK	Server was started (port: 1984).
+08:32:03.576	SERVER	admin	OK	Server was stopped (port: 1984).
+08:32:08.275	SERVER	admin	OK	Server was started (port: 1984).
+08:38:30.949	SERVER	admin	OK	Server was stopped (port: 1984).
+08:38:34.740	SERVER	admin	OK	Server was started (port: 1984).
+08:51:10.905	SERVER	admin	OK	Server was stopped (port: 1984).
+09:50:20.851	SERVER	admin	OK	Server was started (port: 1984).
+09:57:06.931	SERVER	admin	OK	Server was stopped (port: 1984).
+10:18:29.300	SERVER	admin	OK	Server was started (port: 1984).
+10:29:49.805	0:0:0:0:0:0:0:1:52880	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/test2
+10:29:49.915	0:0:0:0:0:0:0:1:52880	admin	404	Database 'test2' was not found.	120.55 ms
+10:29:55.649	0:0:0:0:0:0:0:1:52880	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:29:55.818	0:0:0:0:0:0:0:1:52880	admin	200		168.98 ms
+10:30:07.545	0:0:0:0:0:0:0:1:52880	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+10:30:08.050	0:0:0:0:0:0:0:1:52880	admin	200		505.41 ms
+12:47:28.588	SERVER	admin	OK	Server was stopped (port: 1984).
+13:39:09.291	SERVER	admin	OK	Server was started (port: 1984).
+13:50:07.493	SERVER	admin	OK	Server was stopped (port: 1984).
+14:22:44.745	SERVER	admin	OK	Server was started (port: 1984).
+14:32:35.430	SERVER	admin	OK	Server was stopped (port: 1984).
+14:32:41.132	SERVER	admin	OK	Server was started (port: 1984).
+14:34:10.835	SERVER	admin	OK	Server was stopped (port: 1984).
+14:37:00.748	SERVER	admin	OK	Server was started (port: 1984).
+14:47:51.862	SERVER	admin	OK	Server was stopped (port: 1984).
+14:47:58.084	SERVER	admin	OK	Server was started (port: 1984).
+14:49:39.484	0:0:0:0:0:0:0:1:56134	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+14:49:39.589	0:0:0:0:0:0:0:1:56134	admin	401	No username specified.	109.81 ms
+14:49:42.114	0:0:0:0:0:0:0:1:56134	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+14:49:42.327	0:0:0:0:0:0:0:1:56134	admin	401	No username specified.	213.5 ms
+14:49:43.415	0:0:0:0:0:0:0:1:56134	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+14:49:43.826	0:0:0:0:0:0:0:1:56134	admin	401	No username specified.	412.2 ms
+14:49:53.586	0:0:0:0:0:0:0:1:56134	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+14:49:53.751	0:0:0:0:0:0:0:1:56134	admin	200		165.49 ms
+14:56:58.092	0:0:0:0:0:0:0:1:56235	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+14:56:58.198	0:0:0:0:0:0:0:1:56235	admin	401	No username specified.	106.79 ms
+15:37:40.926	SERVER	admin	OK	Server was stopped (port: 1984).
+15:37:57.963	SERVER	admin	OK	Server was started (port: 1984).
+15:40:06.089	SERVER	admin	OK	Server was stopped (port: 1984).
+15:40:10.750	SERVER	admin	OK	Server was started (port: 1984).
+15:49:36.101	SERVER	admin	OK	Server was stopped (port: 1984).
+15:51:58.943	SERVER	admin	OK	Server was started (port: 1984).
+15:52:46.139	SERVER	admin	OK	Server was stopped (port: 1984).
+19:22:31.303	SERVER	admin	OK	Server was started (port: 1984).
+19:29:43.970	SERVER	admin	OK	Server was stopped (port: 1984).
+19:29:48.840	SERVER	admin	OK	Server was started (port: 1984).
+20:20:35.844	SERVER	admin	OK	Server was stopped (port: 1984).
+20:20:40.983	SERVER	admin	OK	Server was started (port: 1984).
+20:22:24.594	SERVER	admin	OK	Server was stopped (port: 1984).
+20:22:27.573	SERVER	admin	OK	Server was started (port: 1984).
+20:43:32.155	SERVER	admin	OK	Server was stopped (port: 1984).
diff --git a/BaseX821/data/.logs/2015-06-30.log b/BaseX821/data/.logs/2015-06-30.log
new file mode 100644
index 0000000000000000000000000000000000000000..1ee3bf075d9247575fce3ff9f4327859fb9b8bfb
--- /dev/null
+++ b/BaseX821/data/.logs/2015-06-30.log
@@ -0,0 +1,132 @@
+10:54:14.781	SERVER	admin	OK	Server was started (port: 1984).
+10:54:50.169	0:0:0:0:0:0:0:1:49906	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:54:50.271	0:0:0:0:0:0:0:1:49906	admin	401	No username specified.	104.96 ms
+10:54:50.941	0:0:0:0:0:0:0:1:49943	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:54:51.145	0:0:0:0:0:0:0:1:49943	admin	401	No username specified.	204.6 ms
+10:54:51.540	0:0:0:0:0:0:0:1:49915	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:54:51.958	0:0:0:0:0:0:0:1:49915	admin	401	No username specified.	417.36 ms
+10:54:56.342	0:0:0:0:0:0:0:1:49915	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:54:56.487	0:0:0:0:0:0:0:1:49915	admin	200		145.75 ms
+10:55:07.337	0:0:0:0:0:0:0:1:49915	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:55:07.340	0:0:0:0:0:0:0:1:49915	admin	200		3.2 ms
+10:55:21.292	0:0:0:0:0:0:0:1:49915	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml
+10:55:21.306	0:0:0:0:0:0:0:1:49915	admin	404	Database 'xml' was not found.	14.05 ms
+10:55:24.496	0:0:0:0:0:0:0:1:49965	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml
+10:55:24.598	0:0:0:0:0:0:0:1:49965	admin	401	No username specified.	101.24 ms
+10:55:24.860	0:0:0:0:0:0:0:1:49965	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:55:25.071	0:0:0:0:0:0:0:1:49965	admin	401	No username specified.	211.09 ms
+10:55:25.298	0:0:0:0:0:0:0:1:49915	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:55:25.301	0:0:0:0:0:0:0:1:49915	admin	200		3.24 ms
+10:56:26.552	127.0.0.1:49995	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/dba
+10:56:26.553	127.0.0.1:49995	admin	404	Database 'dba' was not found.	1.06 ms
+10:56:38.991	127.0.0.1:49995	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/dba/database
+10:56:38.992	127.0.0.1:49995	admin	404	Database 'dba' was not found.	1.29 ms
+10:57:25.945	0:0:0:0:0:0:0:1:50055	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:57:25.947	0:0:0:0:0:0:0:1:50055	admin	200		2.53 ms
+10:57:37.764	0:0:0:0:0:0:0:1:50062	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:57:37.866	0:0:0:0:0:0:0:1:50062	admin	401	No username specified.	102.07 ms
+10:57:38.088	0:0:0:0:0:0:0:1:50062	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:57:38.294	0:0:0:0:0:0:0:1:50062	admin	401	No username specified.	206.23 ms
+10:57:38.484	0:0:0:0:0:0:0:1:50062	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:57:38.557	0:0:0:0:0:0:0:1:50055	admin	REQUEST	[GET] http://localhost:8080/BaseX821/
+10:57:38.907	0:0:0:0:0:0:0:1:50062	admin	401	No username specified.	422.71 ms
+10:57:39.994	0:0:0:0:0:0:0:1:50055	admin	200		1437.19 ms
+11:02:45.034	127.0.0.1:50123	admin	REQUEST	[GET] http://localhost:8080/BaseX821/
+11:02:45.089	127.0.0.1:50123	admin	200		55.35 ms
+11:03:01.168	127.0.0.1:50123	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+11:03:01.270	127.0.0.1:50123	admin	401	No username specified.	102.46 ms
+11:03:01.283	0:0:0:0:0:0:0:1:50142	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+11:03:01.286	0:0:0:0:0:0:0:1:50142	admin	200		2.54 ms
+11:03:33.557	0:0:0:0:0:0:0:1:50169	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+11:03:33.660	0:0:0:0:0:0:0:1:50169	admin	401	No username specified.	103.11 ms
+11:03:33.666	0:0:0:0:0:0:0:1:50169	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest
+11:03:33.668	0:0:0:0:0:0:0:1:50169	admin	200		2.23 ms
+11:03:58.265	0:0:0:0:0:0:0:1:50173	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba
+11:03:58.343	0:0:0:0:0:0:0:1:50173	admin	302		77.39 ms
+11:03:58.343	0:0:0:0:0:0:0:1:50173	admin	200		0.13 ms
+11:03:58.348	0:0:0:0:0:0:0:1:50173	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+11:03:58.578	0:0:0:0:0:0:0:1:50173	admin	302		230.96 ms
+11:03:58.579	0:0:0:0:0:0:0:1:50173	admin	200		0.15 ms
+11:03:58.584	0:0:0:0:0:0:0:1:50173	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/login
+11:03:58.646	0:0:0:0:0:0:0:1:50173	admin	200		62.11 ms
+11:03:58.653	0:0:0:0:0:0:0:1:50173	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/style.css
+11:03:58.656	0:0:0:0:0:0:0:1:50174	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/js.js
+11:03:58.720	0:0:0:0:0:0:0:1:50173	admin	200		68.05 ms
+11:03:58.733	0:0:0:0:0:0:0:1:50174	admin	200		76.86 ms
+11:03:58.738	0:0:0:0:0:0:0:1:50173	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/basex.svg
+11:03:58.788	0:0:0:0:0:0:0:1:50173	admin	200		49.79 ms
+11:04:04.702	0:0:0:0:0:0:0:1:50173	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/login-check
+11:04:04.776	SERVER	admin	INFO	User was logged in: admin
+11:04:04.777	0:0:0:0:0:0:0:1:50173	admin	302		75.16 ms
+11:04:04.777	0:0:0:0:0:0:0:1:50173	admin	200		0.11 ms
+11:04:04.782	0:0:0:0:0:0:0:1:50173	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+11:04:04.922	0:0:0:0:0:0:0:1:50173	admin	200		140.3 ms
+11:04:10.235	0:0:0:0:0:0:0:1:50173	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3
+11:04:10.382	0:0:0:0:0:0:0:1:50173	admin	200		146.43 ms
+11:06:36.532	0:0:0:0:0:0:0:1:50196	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+11:06:36.603	0:0:0:0:0:0:0:1:50196	admin	302		70.66 ms
+11:06:36.603	0:0:0:0:0:0:0:1:50196	admin	200		0.11 ms
+11:06:36.608	0:0:0:0:0:0:0:1:50196	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/create-backup?name=xml_Database_v3
+11:06:36.735	0:0:0:0:0:0:0:1:50196	admin	302		127.13 ms
+11:06:36.735	0:0:0:0:0:0:0:1:50196	admin	200		0.16 ms
+11:06:36.741	0:0:0:0:0:0:0:1:50196	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3&info=Backup%20was%20created.
+11:06:36.836	0:0:0:0:0:0:0:1:50196	admin	200		95.58 ms
+11:06:55.245	0:0:0:0:0:0:0:1:50196	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3&resource=xml_Database_v3
+11:06:55.350	0:0:0:0:0:0:0:1:50196	admin	200		104.51 ms
+11:06:55.585	0:0:0:0:0:0:0:1:50196	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_Database_v3&resource=xml_Database_v3&sort=&loglist=&query=
+11:06:55.741	0:0:0:0:0:0:0:1:50196	admin	200		156.42 ms
+11:32:41.285	SERVER	admin	OK	Server was stopped (port: 1984).
+11:32:56.807	SERVER	admin	OK	Server was started (port: 1984).
+11:34:32.197	SERVER	admin	OK	Server was stopped (port: 1984).
+11:35:37.644	SERVER	admin	OK	Server was started (port: 1984).
+11:35:52.389	SERVER	admin	OK	Server was stopped (port: 1984).
+11:39:56.030	SERVER	admin	OK	Server was started (port: 1984).
+11:39:56.858	0:0:0:0:0:0:0:1:50430	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+11:39:56.962	0:0:0:0:0:0:0:1:50430	admin	401	No username specified.	108.66 ms
+11:40:00.850	0:0:0:0:0:0:0:1:50430	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+11:40:01.063	0:0:0:0:0:0:0:1:50430	admin	401	Access denied.	213.19 ms
+11:40:04.425	0:0:0:0:0:0:0:1:50430	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+11:40:05.041	0:0:0:0:0:0:0:1:50430	admin	200		615.74 ms
+11:45:48.734	SERVER	admin	OK	Server was stopped (port: 1984).
+12:05:04.512	SERVER	admin	OK	Server was started (port: 1984).
+12:06:25.038	SERVER	admin	OK	Server was stopped (port: 1984).
+12:23:37.094	SERVER	admin	OK	Server was started (port: 1984).
+12:26:22.875	SERVER	admin	OK	Server was stopped (port: 1984).
+12:27:55.717	SERVER	admin	OK	Server was started (port: 1984).
+12:28:15.578	SERVER	admin	OK	Server was stopped (port: 1984).
+13:03:14.979	SERVER	admin	OK	Server was started (port: 1984).
+13:10:26.163	0:0:0:0:0:0:0:1:50969	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3&resource=xml_Database_v3
+13:10:27.695	0:0:0:0:0:0:0:1:50969	admin	302		1535.28 ms
+13:10:27.695	0:0:0:0:0:0:0:1:50969	admin	200		0.35 ms
+13:10:27.707	0:0:0:0:0:0:0:1:50969	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/login
+13:10:27.767	0:0:0:0:0:0:0:1:50969	admin	200		60.27 ms
+13:10:27.798	0:0:0:0:0:0:0:1:50969	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/style.css
+13:10:27.805	0:0:0:0:0:0:0:1:50970	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/js.js
+13:10:27.845	0:0:0:0:0:0:0:1:50969	admin	200		47.55 ms
+13:10:27.874	0:0:0:0:0:0:0:1:50970	admin	200		69.1 ms
+13:10:27.879	0:0:0:0:0:0:0:1:50969	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/basex.svg
+13:10:27.920	0:0:0:0:0:0:0:1:50969	admin	200		41.4 ms
+13:16:22.692	SERVER	admin	OK	Server was stopped (port: 1984).
+13:16:29.554	SERVER	admin	OK	Server was started (port: 1984).
+13:19:40.339	SERVER	admin	OK	Server was stopped (port: 1984).
+13:29:40.082	SERVER	admin	OK	Server was started (port: 1984).
+13:32:49.556	SERVER	admin	OK	Server was started (port: 1984).
+13:41:28.174	SERVER	admin	OK	Server was started (port: 1984).
+13:43:29.450	SERVER	admin	OK	Server was started (port: 1984).
+13:53:07.828	SERVER	admin	OK	Server was started (port: 1984).
+13:55:05.914	SERVER	admin	OK	Server was started (port: 1984).
+13:57:47.836	SERVER	admin	OK	Server was stopped (port: 1984).
+13:58:07.818	SERVER	admin	OK	Server was started (port: 1984).
+13:58:08.522	SERVER	admin	ERROR	Server is running or permission was denied.
+13:58:52.306	SERVER	admin	OK	Server was started (port: 1984).
+13:58:53.244	SERVER	admin	OK	Server was stopped (port: 1984).
+13:59:16.142	SERVER	admin	OK	Server was started (port: 1984).
+14:16:42.828	SERVER	admin	OK	Server was stopped (port: 1984).
+14:16:53.394	SERVER	admin	OK	Server was started (port: 1984).
+14:16:54.099	SERVER	admin	ERROR	Server is running or permission was denied.
+14:17:06.774	SERVER	admin	OK	Server was stopped (port: 1984).
+14:17:14.185	SERVER	admin	OK	Server was started (port: 1984).
+14:17:27.530	SERVER	admin	OK	Server was stopped (port: 1984).
+14:18:07.797	SERVER	admin	OK	Server was started (port: 1984).
+16:12:34.869	SERVER	admin	OK	Server was stopped (port: 1984).
+16:49:44.549	SERVER	admin	OK	Server was started (port: 1984).
diff --git a/BaseX821/data/.logs/2015-07-01.log b/BaseX821/data/.logs/2015-07-01.log
new file mode 100644
index 0000000000000000000000000000000000000000..bff36da58afd0ef32783973a37b746e746d81a23
--- /dev/null
+++ b/BaseX821/data/.logs/2015-07-01.log
@@ -0,0 +1,11 @@
+14:18:40.470	SERVER	admin	OK	Server was started (port: 1984).
+14:18:41.300	SERVER	admin	OK	Server was stopped (port: 1984).
+14:45:56.282	SERVER	admin	OK	Server was started (port: 1984).
+14:49:48.052	127.0.0.1:54076	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+14:49:48.159	127.0.0.1:54076	admin	401	No username specified.	112.24 ms
+14:49:48.222	127.0.0.1:54076	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+14:49:48.426	127.0.0.1:54076	admin	401	No username specified.	204.64 ms
+14:49:53.326	127.0.0.1:54076	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+14:49:53.714	127.0.0.1:54076	admin	200		388.72 ms
+14:50:05.809	127.0.0.1:54076	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+14:50:06.379	127.0.0.1:54076	admin	200		570.18 ms
diff --git a/BaseX821/data/.logs/2015-07-02.log b/BaseX821/data/.logs/2015-07-02.log
new file mode 100644
index 0000000000000000000000000000000000000000..d56adaa832069165b583bd241a86fa9d2d3f6986
--- /dev/null
+++ b/BaseX821/data/.logs/2015-07-02.log
@@ -0,0 +1,156 @@
+10:29:04.320	SERVER	admin	OK	Server was started (port: 1984).
+10:29:33.225	127.0.0.1:49832	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:29:33.327	127.0.0.1:49832	admin	401	No username specified.	105.67 ms
+10:29:37.765	127.0.0.1:49832	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:29:38.042	127.0.0.1:49832	admin	200		276.99 ms
+10:29:53.481	127.0.0.1:49839	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:29:53.585	127.0.0.1:49839	admin	401	No username specified.	104.02 ms
+10:29:53.993	127.0.0.1:49839	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:29:54.199	127.0.0.1:49839	admin	401	No username specified.	206.24 ms
+10:29:55.436	127.0.0.1:49839	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:29:55.849	127.0.0.1:49839	admin	401	No username specified.	413.71 ms
+10:29:56.110	127.0.0.1:49839	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+10:29:56.355	127.0.0.1:49840	admin	REQUEST	[GET] http://localhost:8080/BaseX821/
+10:29:56.428	127.0.0.1:49832	admin	REQUEST	[GET] http://localhost:8080/BaseX821/
+10:29:56.925	127.0.0.1:49839	admin	401	No username specified.	816.03 ms
+10:29:57.748	127.0.0.1:49840	admin	200		1392.62 ms
+10:29:57.763	127.0.0.1:49832	admin	200		1335.54 ms
+10:30:06.866	127.0.0.1:49832	admin	REQUEST	[GET] http://localhost:8080/BaseX821/hello/World
+10:30:06.927	127.0.0.1:49832	admin	200		61.22 ms
+10:30:12.939	127.0.0.1:49832	admin	REQUEST	[GET] http://localhost:8080/BaseX821/hello/Universe
+10:30:12.999	127.0.0.1:49832	admin	200		59.68 ms
+10:30:34.741	127.0.0.1:49873	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba
+10:30:34.807	127.0.0.1:49873	admin	302		66.06 ms
+10:30:34.807	127.0.0.1:49873	admin	200		0.1 ms
+10:30:34.812	127.0.0.1:49873	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+10:30:35.027	127.0.0.1:49873	admin	302		215.7 ms
+10:30:35.027	127.0.0.1:49873	admin	200		0.12 ms
+10:30:35.034	127.0.0.1:49873	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/login
+10:30:35.111	127.0.0.1:49873	admin	200		77.06 ms
+10:30:35.134	127.0.0.1:49873	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/style.css
+10:30:35.139	127.0.0.1:49875	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/js.js
+10:30:35.193	127.0.0.1:49873	admin	200		70.35 ms
+10:30:35.226	127.0.0.1:49875	admin	200		87.19 ms
+10:30:35.232	127.0.0.1:49873	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/basex.svg
+10:30:35.286	127.0.0.1:49873	admin	200		53.72 ms
+10:34:34.179	127.0.0.1:49927	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/login-check
+10:34:34.246	SERVER	admin	INFO	User was logged in: admin
+10:34:34.246	127.0.0.1:49927	admin	302		66.9 ms
+10:34:34.246	127.0.0.1:49927	admin	200		0.08 ms
+10:34:34.250	127.0.0.1:49927	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+10:34:34.411	127.0.0.1:49927	admin	200		160.73 ms
+10:35:59.783	127.0.0.1:49994	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+10:35:59.918	127.0.0.1:49994	admin	200		134.83 ms
+10:49:07.084	SERVER	admin	OK	Server was stopped (port: 1984).
+10:49:15.593	SERVER	admin	OK	Server was started (port: 1984).
+11:30:52.522	127.0.0.1:52325	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+11:30:53.406	127.0.0.1:52325	admin	200		891.52 ms
+11:31:21.873	127.0.0.1:52334	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3
+11:31:23.390	127.0.0.1:52334	admin	302		1516.92 ms
+11:31:23.390	127.0.0.1:52334	admin	200		0.19 ms
+11:31:23.396	127.0.0.1:52334	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/login
+11:31:23.491	127.0.0.1:52334	admin	200		94.91 ms
+11:31:23.520	127.0.0.1:52334	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/style.css
+11:31:23.529	127.0.0.1:52335	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/js.js
+11:31:23.600	127.0.0.1:52334	admin	200		80.07 ms
+11:31:23.668	127.0.0.1:52335	admin	200		138.75 ms
+11:31:23.672	127.0.0.1:52334	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/basex.svg
+11:31:23.737	127.0.0.1:52334	admin	200		65.05 ms
+11:31:28.627	127.0.0.1:52334	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/login-check
+11:31:28.708	SERVER	admin	INFO	User was logged in: admin
+11:31:28.709	127.0.0.1:52334	admin	302		82.11 ms
+11:31:28.709	127.0.0.1:52334	admin	200		0.12 ms
+11:31:28.713	127.0.0.1:52334	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+11:31:28.928	127.0.0.1:52334	admin	200		215.15 ms
+11:31:31.492	127.0.0.1:52334	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3
+11:31:31.627	127.0.0.1:52334	admin	200		135.2 ms
+11:31:44.638	127.0.0.1:52334	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3&resource=xml_Database_v3
+11:31:44.730	127.0.0.1:52334	admin	200		92.28 ms
+11:31:44.963	127.0.0.1:52334	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=xml_Database_v3&resource=xml_Database_v3&sort=&loglist=&query=
+11:31:45.142	127.0.0.1:52334	admin	200		178.78 ms
+11:36:22.158	SERVER	admin	OK	Server was stopped (port: 1984).
+11:36:28.697	SERVER	admin	OK	Server was started (port: 1984).
+11:36:31.265	SERVER	admin	OK	Server was stopped (port: 1984).
+11:36:41.036	SERVER	admin	OK	Server was started (port: 1984).
+11:37:26.873	SERVER	admin	OK	Server was stopped (port: 1984).
+12:53:57.263	SERVER	admin	OK	Server was started (port: 1984).
+13:05:10.217	SERVER	admin	OK	Server was stopped (port: 1984).
+13:11:19.428	SERVER	admin	OK	Server was started (port: 1984).
+13:30:57.928	SERVER	admin	OK	Server was started (port: 1984).
+13:38:30.294	SERVER	admin	OK	Server was started (port: 1984).
+13:39:59.325	SERVER	admin	OK	Server was stopped (port: 1984).
+14:09:47.428	SERVER	admin	OK	Server was started (port: 1984).
+14:09:48.373	SERVER	admin	OK	Server was stopped (port: 1984).
+14:10:14.083	SERVER	admin	OK	Server was started (port: 1984).
+14:10:19.537	SERVER	admin	ERROR	Server is running or permission was denied.
+14:10:23.792	SERVER	admin	ERROR	Server is running or permission was denied.
+14:10:25.649	0:0:0:0:0:0:0:1:53689	admin	REQUEST	[GET] http://localhost:8080/BaseX821
+14:10:27.425	0:0:0:0:0:0:0:1:53689	admin	200		1780.78 ms
+14:10:30.942	0:0:0:0:0:0:0:1:53697	admin	REQUEST	[GET] http://localhost:8080/BaseX821/
+14:10:30.996	0:0:0:0:0:0:0:1:53697	admin	200		53.65 ms
+14:10:31.694	0:0:0:0:0:0:0:1:53697	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+14:10:31.799	0:0:0:0:0:0:0:1:53697	admin	401	No username specified.	105.36 ms
+14:10:31.844	0:0:0:0:0:0:0:1:53689	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+14:10:31.893	0:0:0:0:0:0:0:1:53689	admin	200		49.24 ms
+14:10:40.106	0:0:0:0:0:0:0:1:53689	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+14:10:40.151	0:0:0:0:0:0:0:1:53689	admin	200		46.06 ms
+14:11:40.242	0:0:0:0:0:0:0:1:53740	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+14:11:40.244	0:0:0:0:0:0:0:1:53740	admin	200		2.54 ms
+14:11:48.342	0:0:0:0:0:0:0:1:53740	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+14:11:48.352	0:0:0:0:0:0:0:1:53740	admin	200		10.57 ms
+14:29:37.278	0:0:0:0:0:0:0:1:54001	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/xml_Database_v3
+14:29:37.314	0:0:0:0:0:0:0:1:54001	admin	200		36.72 ms
+14:40:52.493	SERVER	admin	OK	Server was stopped (port: 1984).
+14:44:37.202	SERVER	admin	OK	Server was started (port: 1984).
+14:44:38.250	0:0:0:0:0:0:0:1:54137	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database
+14:44:40.292	0:0:0:0:0:0:0:1:54137	admin	400	Stopped at /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/databases/database.xqm, 34/10: [XPTY0004] Cannot cast empty-sequence() to xs:string: ().	2049.42 ms
+14:44:47.221	0:0:0:0:0:0:0:1:54145	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database
+14:44:47.358	0:0:0:0:0:0:0:1:54145	admin	400	Stopped at /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/databases/database.xqm, 34/10: [XPTY0004] Cannot cast empty-sequence() to xs:string: ().	137.08 ms
+14:44:48.690	0:0:0:0:0:0:0:1:54146	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database
+14:44:48.909	0:0:0:0:0:0:0:1:54146	admin	400	Stopped at /Users/nichexx/apache-tomcat-7.0.62/webapps/BaseX821/dba/databases/database.xqm, 34/10: [XPTY0004] Cannot cast empty-sequence() to xs:string: ().	219.4 ms
+14:44:52.733	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3&resource=xml_Database_v3
+14:44:53.076	0:0:0:0:0:0:0:1:54147	admin	302		342.87 ms
+14:44:53.076	0:0:0:0:0:0:0:1:54147	admin	200		0.24 ms
+14:44:53.085	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/login
+14:44:53.158	0:0:0:0:0:0:0:1:54147	admin	200		72.99 ms
+14:44:53.172	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/style.css
+14:44:53.193	0:0:0:0:0:0:0:1:54148	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/js.js
+14:44:53.250	0:0:0:0:0:0:0:1:54147	admin	200		79.17 ms
+14:44:53.285	0:0:0:0:0:0:0:1:54148	admin	200		92.08 ms
+14:44:53.291	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/static/basex.svg
+14:44:53.354	0:0:0:0:0:0:0:1:54147	admin	200		62.66 ms
+14:44:57.063	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/login-check
+14:44:57.143	SERVER	admin	INFO	User was logged in: admin
+14:44:57.144	0:0:0:0:0:0:0:1:54147	admin	302		81.38 ms
+14:44:57.144	0:0:0:0:0:0:0:1:54147	admin	200		0.14 ms
+14:44:57.148	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/databases
+14:44:57.330	0:0:0:0:0:0:0:1:54147	admin	200		181.96 ms
+14:44:59.617	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=xml_Database_v3
+14:44:59.784	0:0:0:0:0:0:0:1:54147	admin	200		166.53 ms
+14:45:02.740	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/database
+14:45:02.821	0:0:0:0:0:0:0:1:54147	admin	302		81.69 ms
+14:45:02.821	0:0:0:0:0:0:0:1:54147	admin	200		0.13 ms
+14:45:02.826	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/alter-db?name=xml_Database_v3
+14:45:02.898	0:0:0:0:0:0:0:1:54147	admin	200		71.86 ms
+14:45:16.964	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/alter-db
+14:45:17.033	0:0:0:0:0:0:0:1:54147	admin	302		68.52 ms
+14:45:17.033	0:0:0:0:0:0:0:1:54147	admin	200		0.11 ms
+14:45:17.037	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=flugzeug&info=Database%20was%20renamed.
+14:45:17.145	0:0:0:0:0:0:0:1:54147	admin	200		107.72 ms
+14:45:21.144	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[GET] http://localhost:8080/BaseX821/dba/database?name=flugzeug&resource=xml_Database_v3
+14:45:21.229	0:0:0:0:0:0:0:1:54147	admin	200		85.22 ms
+14:45:21.456	0:0:0:0:0:0:0:1:54147	admin	REQUEST	[POST] http://localhost:8080/BaseX821/dba/query-resource?name=flugzeug&resource=xml_Database_v3&sort=&loglist=&query=
+14:45:21.656	0:0:0:0:0:0:0:1:54147	admin	200		200.16 ms
+14:45:58.573	SERVER	admin	ERROR	Server is running or permission was denied.
+14:49:41.469	SERVER	admin	OK	Server was stopped (port: 1984).
+14:52:08.332	SERVER	admin	OK	Server was started (port: 1984).
+14:53:35.570	SERVER	admin	OK	Server was stopped (port: 1984).
+14:53:40.585	SERVER	admin	OK	Server was started (port: 1984).
+14:54:57.210	127.0.0.1:54257	admin	REQUEST	[POST] http://localhost:8080/BaseX821/rest/flugzeug
+14:54:58.334	127.0.0.1:54257	admin	200		1127.09 ms
+14:55:26.732	SERVER	admin	OK	Server was stopped (port: 1984).
+14:55:31.467	SERVER	admin	OK	Server was started (port: 1984).
+14:55:59.524	127.0.0.1:54290	admin	REQUEST	[GET] http://localhost:8080/BaseX821/rest/
+14:55:59.631	127.0.0.1:54290	admin	401	No username specified.	112.73 ms
+15:00:14.393	127.0.0.1:54365	admin	REQUEST	[POST] http://localhost:8080/BaseX821/rest/flugzeug
+15:00:15.346	127.0.0.1:54365	admin	200		953.8 ms
diff --git a/BaseX821/data/flugzeug/atv.basex b/BaseX821/data/flugzeug/atv.basex
new file mode 100644
index 0000000000000000000000000000000000000000..325f80522f2d8adacbe5a6d66e5bdb08e0e09a7d
--- /dev/null
+++ b/BaseX821/data/flugzeug/atv.basex
@@ -0,0 +1 @@
+6>��jP%P��%��%d��(���%�6o@	�7�%Ge�����޺�C��
\ No newline at end of file
diff --git a/BaseX821/data/flugzeug/atvl.basex b/BaseX821/data/flugzeug/atvl.basex
new file mode 100644
index 0000000000000000000000000000000000000000..a6d8c03813afbccfbd91866d6f61ed08857e80cf
Binary files /dev/null and b/BaseX821/data/flugzeug/atvl.basex differ
diff --git a/BaseX821/data/flugzeug/atvr.basex b/BaseX821/data/flugzeug/atvr.basex
new file mode 100644
index 0000000000000000000000000000000000000000..669587f7b7013d8a9fbfd2e0d3eed972f62f713e
Binary files /dev/null and b/BaseX821/data/flugzeug/atvr.basex differ
diff --git a/BaseX821/data/flugzeug/ftxx.basex b/BaseX821/data/flugzeug/ftxx.basex
new file mode 100644
index 0000000000000000000000000000000000000000..ba999ac931816f5a699377baacdf0dd3161baf97
Binary files /dev/null and b/BaseX821/data/flugzeug/ftxx.basex differ
diff --git a/BaseX821/data/flugzeug/ftxy.basex b/BaseX821/data/flugzeug/ftxy.basex
new file mode 100644
index 0000000000000000000000000000000000000000..cc1343d582b11f0b1e1418e2e47fd8c357698992
Binary files /dev/null and b/BaseX821/data/flugzeug/ftxy.basex differ
diff --git a/BaseX821/data/flugzeug/ftxz.basex b/BaseX821/data/flugzeug/ftxz.basex
new file mode 100644
index 0000000000000000000000000000000000000000..e06f85c641dc3a1c4f7559ec0d1c6b236bc512d3
Binary files /dev/null and b/BaseX821/data/flugzeug/ftxz.basex differ
diff --git a/BaseX821/data/flugzeug/inf.basex b/BaseX821/data/flugzeug/inf.basex
new file mode 100644
index 0000000000000000000000000000000000000000..c502b5bb7fcd9ce468918f9ff4576aeb38b3454a
Binary files /dev/null and b/BaseX821/data/flugzeug/inf.basex differ
diff --git a/BaseX821/data/flugzeug/pth.basex b/BaseX821/data/flugzeug/pth.basex
new file mode 100644
index 0000000000000000000000000000000000000000..d2e1cb5ccb83c9d0e841c119d1a003d8f9490a79
--- /dev/null
+++ b/BaseX821/data/flugzeug/pth.basex
@@ -0,0 +1 @@
+/xml_database_v3
\ No newline at end of file
diff --git a/BaseX821/data/flugzeug/swl.basex b/BaseX821/data/flugzeug/swl.basex
new file mode 100644
index 0000000000000000000000000000000000000000..567a8159d1a59bb12aada1824fce8e3486eba60e
Binary files /dev/null and b/BaseX821/data/flugzeug/swl.basex differ
diff --git a/BaseX821/data/flugzeug/tbl.basex b/BaseX821/data/flugzeug/tbl.basex
new file mode 100644
index 0000000000000000000000000000000000000000..5fd94da7e72ff295147a7c2e5fcee546e1ff075c
Binary files /dev/null and b/BaseX821/data/flugzeug/tbl.basex differ
diff --git a/BaseX821/data/flugzeug/tbli.basex b/BaseX821/data/flugzeug/tbli.basex
new file mode 100644
index 0000000000000000000000000000000000000000..03022a745500c434a1b03356a3a0f8b9f746cd19
--- /dev/null
+++ b/BaseX821/data/flugzeug/tbli.basex
@@ -0,0 +1 @@
+2����
\ No newline at end of file
diff --git a/BaseX821/data/flugzeug/txt.basex b/BaseX821/data/flugzeug/txt.basex
new file mode 100644
index 0000000000000000000000000000000000000000..b19a98def2e99c5a32a5a9bbebd81d0fdcb28bcf
Binary files /dev/null and b/BaseX821/data/flugzeug/txt.basex differ
diff --git a/BaseX821/data/flugzeug/txtl.basex b/BaseX821/data/flugzeug/txtl.basex
new file mode 100644
index 0000000000000000000000000000000000000000..cb0f482279d4ec86a92481806c3f2d7f59314399
Binary files /dev/null and b/BaseX821/data/flugzeug/txtl.basex differ
diff --git a/BaseX821/data/flugzeug/txtr.basex b/BaseX821/data/flugzeug/txtr.basex
new file mode 100644
index 0000000000000000000000000000000000000000..8dec0f6326583b158bb990080017c92a899d2d40
Binary files /dev/null and b/BaseX821/data/flugzeug/txtr.basex differ
diff --git a/BaseX821/data/xml_Database_v3-2015-06-30-11-06-36.zip b/BaseX821/data/xml_Database_v3-2015-06-30-11-06-36.zip
new file mode 100644
index 0000000000000000000000000000000000000000..a797518b1c9d0467fee25dcb1746648c271b844c
Binary files /dev/null and b/BaseX821/data/xml_Database_v3-2015-06-30-11-06-36.zip differ
diff --git a/BaseX821/dba/common.xqm b/BaseX821/dba/common.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..b7fecbb4ba75b7f9587c99f43d77c745e74bf051
--- /dev/null
+++ b/BaseX821/dba/common.xqm
@@ -0,0 +1,72 @@
+(:~
+ : Common RESTXQ access points.
+ :
+ : @author Christian Grün, BaseX GmbH, 2014-15
+ :)
+module namespace _ = 'dba/common';
+
+import module namespace Request = 'http://exquery.org/ns/request';
+import module namespace cons = 'dba/cons' at 'modules/cons.xqm';
+import module namespace tmpl = 'dba/tmpl' at 'modules/tmpl.xqm';
+
+(:~
+ : Redirects to the start page.
+ :)
+declare
+  %rest:path("/dba")
+function _:redirect(
+) {
+  web:redirect("/dba/databases")
+};
+
+(:~
+ : Returns a file.
+ : @param  $file  file or unknown path
+ : @return rest response and binary file
+ :)
+declare
+  %rest:path("/dba/static/{$file=.+}")
+function _:file(
+  $file as xs:string
+) as item()+ {
+  let $path := file:base-dir() || 'static/' || $file
+  return (
+    web:response-header(map { 'media-type': web:content-type($path) }),
+    file:read-binary($path)
+  )
+};
+
+(:~
+ : Shows a page not found error.
+ : @param  $unknown  unknown page
+ : @return page
+ :)
+declare
+  %rest:path("/dba/{$unknown}")
+  %output:method("html")
+function _:any(
+  $unknown  as xs:string
+) as element(html) {
+  cons:check(),
+  tmpl:wrap(
+    <tr>
+      <td>
+        <h3>Page not found!</h3>
+        <ul>
+          <li>Page: <code>dba/{ $unknown }</code></li>
+          <li>Method: <code>{ Request:method() }</code></li>
+        </ul>
+      </td>
+    </tr>
+  )
+};
+
+(:~
+ : Login error: redirects to the login page.
+ :)
+declare
+  %rest:error("basex:login")
+function _:error-login(
+) {
+  web:redirect("login")
+};
diff --git a/BaseX821/dba/databases/alter-db.xqm b/BaseX821/dba/databases/alter-db.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..1f0b6a7bf9598b6ae404acbaec186ce607c21270
--- /dev/null
+++ b/BaseX821/dba/databases/alter-db.xqm
@@ -0,0 +1,98 @@
+(:~
+ : Rename database.
+ :
+ : @author Christian Grün, BaseX GmbH, 2014-15
+ :)
+module namespace _ = 'dba/databases';
+
+import module namespace cons = 'dba/cons' at '../modules/cons.xqm';
+import module namespace html = 'dba/html' at '../modules/html.xqm';
+import module namespace tmpl = 'dba/tmpl' at '../modules/tmpl.xqm';
+import module namespace util = 'dba/util'  at '../modules/util.xqm';
+
+(:~ Top category :)
+declare variable $_:CAT := 'databases';
+(:~ Sub category :)
+declare variable $_:SUB := 'database';
+
+(:~
+ : Form for renaming a database.
+ : @param  $name     name of database
+ : @param  $newname  new name
+ : @param  $error    error string
+ : @return page
+ :)
+declare
+  %rest:GET
+  %rest:path("/dba/alter-db")
+  %rest:query-param("name",    "{$name}")
+  %rest:query-param("newname", "{$newname}")
+  %rest:query-param("error",   "{$error}")
+  %output:method("html")
+function _:alter(
+  $name     as xs:string,
+  $newname  as xs:string?,
+  $error    as xs:string?
+) as element(html) {
+  cons:check(),
+  tmpl:wrap(map { 'top': $_:SUB, 'error': $error },
+    <tr>
+      <td>
+        <form action="alter-db" method="post" autocomplete="off">
+          <input type="hidden" name="name" value="{ $name }"/>
+          <h2>
+            <a href="{ $_:CAT }">Databases</a> »
+            { html:link($name, $_:SUB, map { 'name': $name } ) } »
+            { html:button('alter', 'Rename') }
+          </h2>
+          <table>
+            <tr>
+              <td>Name:</td>
+              <td>
+                <input type="text" name="newname"
+                  value="{ ($newname, $name)[1] }" id="newname"/>
+                { html:focus('newname') }
+                <div class='small'/>
+              </td>
+            </tr>
+          </table>
+        </form>
+      </td>
+    </tr>
+  )
+};
+
+(:~
+ : Renames a database.
+ : @param  $name     name of database
+ : @param  $newname  new name
+ :)
+declare
+  %updating
+  %rest:POST
+  %rest:path("/dba/alter-db")
+  %rest:query-param("name",    "{$name}")
+  %rest:query-param("newname", "{$newname}")
+function _:alter(
+  $name     as xs:string,
+  $newname  as xs:string
+) {
+  cons:check(),
+  try {
+    util:update("if(db:exists($newname)) then (
+      error((), 'Database already exists: ' || $newname || '.')
+    ) else (
+      db:alter($name, $newname)
+    )", map { 'name': $name, 'newname': $newname }),
+    db:output(web:redirect($_:SUB, map {
+      'info': 'Database was renamed.',
+      'name': $newname
+    }))
+  } catch * {
+    db:output(web:redirect("alter-db", map {
+      'error': $err:description,
+      'name': $name,
+      'newname': $newname
+    }))
+  }
+};
diff --git a/BaseX821/dba/databases/backups.xqm b/BaseX821/dba/databases/backups.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..b87c6219a76f822b2385005d5ab5bc7a7616786a
--- /dev/null
+++ b/BaseX821/dba/databases/backups.xqm
@@ -0,0 +1,87 @@
+(:~
+ : Backup operations.
+ :
+ : @author Christian Grün, BaseX GmbH, 2014-15
+ :)
+module namespace _ = 'dba/databases';
+
+import module namespace cons = 'dba/cons' at '../modules/cons.xqm';
+import module namespace util = 'dba/util' at '../modules/util.xqm';
+
+(:~ Sub category :)
+declare variable $_:SUB := 'database';
+
+(:~
+ : Creates a database backup.
+ : @param  $name  name of database
+ :)
+declare
+  %updating
+  %rest:GET
+  %rest:path("/dba/create-backup")
+  %rest:query-param("name", "{$name}")
+function _:create-backup(
+  $name  as xs:string
+) {
+  _:action($name, 'Backup was created.', "db:create-backup($n)", map { 'n': $name })
+};
+
+(:~
+ : Drops a database backup.
+ : @param  $name     name of database
+ : @param  $backups  backup files
+ :)
+declare
+  %updating
+  %rest:GET
+  %rest:path("/dba/drop-backup")
+  %rest:query-param("name",   "{$name}")
+  %rest:query-param("backup", "{$backups}")
+function _:drop-backup(
+  $name     as xs:string,
+  $backups  as xs:string*
+) {
+  let $n := count($backups)
+  let $info := if($n = 1) then 'Backup was dropped.' else $n || ' backups were dropped.'
+  return _:action($name, $info, "$b ! db:drop-backup(.)", map { 'b': $backups })
+};
+
+(:~
+ : Restores a database backup.
+ : @param  $name    database
+ : @param  $backup  backup file
+ :)
+declare
+  %updating
+  %rest:GET
+  %rest:path("/dba/restore")
+  %rest:query-param("name",   "{$name}")
+  %rest:query-param("backup", "{$backup}")
+function _:restore(
+  $name    as xs:string,
+  $backup  as xs:string
+) {
+  _:action($name, 'Database was restored.', "db:restore($b)", map { 'b': $backup })
+};
+
+(:~
+ : Performs a backup operation.
+ : @param  $name   database
+ : @param  $info   info string
+ : @param  $query  query to execute 
+ : @param  $args   query arguments
+ :)
+declare %updating function _:action(
+  $name   as xs:string,
+  $info   as xs:string,
+  $query  as xs:string,
+  $args   as map(*)
+) {
+  cons:check(),
+  try {
+    util:update($query, $args),
+    db:output(web:redirect($_:SUB, map { 'name': $name, 'info': $info }))
+  } catch * {
+    db:output(web:redirect($_:SUB, map { 'name': $name, 'error': $err:description }))
+  }
+};
diff --git a/BaseX821/dba/databases/copy.xqm b/BaseX821/dba/databases/copy.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..d8da643191c427be8f487009a07b890f1af68867
--- /dev/null
+++ b/BaseX821/dba/databases/copy.xqm
@@ -0,0 +1,94 @@
+(:~
+ : Copy database.
+ :
+ : @author Christian Grün, BaseX GmbH, 2014-15
+ :)
+module namespace _ = 'dba/databases';
+
+import module namespace cons = 'dba/cons' at '../modules/cons.xqm';
+import module namespace html = 'dba/html' at '../modules/html.xqm';
+import module namespace tmpl = 'dba/tmpl' at '../modules/tmpl.xqm';
+import module namespace util = 'dba/util' at '../modules/util.xqm';
+
+(:~ Top category :)
+declare variable $_:CAT := 'databases';
+(:~ Sub category :)
+declare variable $_:SUB := 'database';
+
+(:~
+ : Form for copying a database.
+ : @param  $name     name of database
+ : @param  $newname  new name
+ : @param  $error    error string
+ : @return page
+ :)
+declare
+  %rest:GET
+  %rest:path("/dba/copy")
+  %rest:query-param("name",    "{$name}")
+  %rest:query-param("newname", "{$newname}")
+  %rest:query-param("error",   "{$error}")
+  %output:method("html")
+function _:copy(
+  $name     as xs:string,
+  $newname  as xs:string?,
+  $error    as xs:string?
+) as element(html) {
+  cons:check(),
+  tmpl:wrap(map { 'top': $_:SUB, 'error': $error },
+    <tr>
+      <td>
+        <form action="copy" method="post" autocomplete="off">
+          <input type="hidden" name="name" value="{ $name }"/>
+          <h2>
+            <a href="{ $_:CAT }">Databases</a> »
+            { html:link($name, $_:SUB, map { 'name': $name } ) } »
+            { html:button('copy', 'Copy') }
+          </h2>
+          <table>
+            <tr>
+              <td>New name:</td>
+              <td>
+                <input type="text" name="newname"
+                  value="{ ($newname, $name)[1] }" id="newname"/>
+                { html:focus('newname') }
+                <div class='small'/>
+              </td>
+            </tr>
+          </table>
+        </form>
+      </td>
+    </tr>
+  )
+};
+
+(:~
+ : Copies a database.
+ : @param  $name     name of database
+ : @param  $newname  new name
+ :)
+declare
+  %updating
+  %rest:POST
+  %rest:path("/dba/copy")
+  %rest:query-param("name",    "{$name}")
+  %rest:query-param("newname", "{$newname}")
+function _:copy(
+  $name     as xs:string,
+  $newname  as xs:string
+) {
+  cons:check(),
+  try {
+    util:update("db:copy($n, $m)", map { 'n': $name, 'm': $newname }),
+    db:output(web:redirect($_:SUB, map {
+      'info': 'Database was copied.',
+      'name': $newname
+    }))
+  } catch * {
+    db:output(web:redirect("copy", map {
+      'error': $err:description,
+      'name': $name,
+      'newname': $newname
+    }))
+  }
+};
diff --git a/BaseX821/dba/databases/create-db.xqm b/BaseX821/dba/databases/create-db.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..420a755f6f08da053fa3ec7e2e255d55a43b0567
--- /dev/null
+++ b/BaseX821/dba/databases/create-db.xqm
@@ -0,0 +1,127 @@
+(:~
+ : Create new database.
+ :
+ : @author Christian Grün, BaseX GmbH, 2014-15
+ :)
+module namespace _ = 'dba/databases';
+
+import module namespace cons = 'dba/cons' at '../modules/cons.xqm';
+import module namespace html = 'dba/html' at '../modules/html.xqm';
+import module namespace tmpl = 'dba/tmpl' at '../modules/tmpl.xqm';
+import module namespace util = 'dba/util' at '../modules/util.xqm';
+
+(:~ Top category :)
+declare variable $_:CAT := 'databases';
+(:~ Sub category :)
+declare variable $_:SUB := 'database';
+
+(:~
+ : Form for creating a new database.
+ : @param  $name   entered name
+ : @param  $opts   chosen database options
+ : @param  $lang   entered language
+ : @param  $error  error string
+ : @return page
+ :)
+declare
+  %rest:GET
+  %rest:path("/dba/create-db")
+  %rest:query-param("name",  "{$name}")
+  %rest:query-param("opts",  "{$opts}", "textindex", "attrindex")
+  %rest:query-param("lang",  "{$lang}", "en")
+  %rest:query-param("error", "{$error}")
+  %output:method("html")
+function _:create(
+  $name   as xs:string?,
+  $opts   as xs:string*,
+  $lang   as xs:string?,
+  $error  as xs:string?
+) as element(html) {
+  cons:check(),
+  tmpl:wrap(map { 'top': $_:CAT, 'error': $error },
+    <tr>
+      <td>
+        <form action="create-db" method="post" autocomplete="off">
+          <h2>
+            <a href="{ $_:CAT }">Databases</a> »
+            { html:button('create', 'Create') }
+          </h2>
+          <!-- dummy value; prevents reset of options when nothing is selected -->
+          <input type="hidden" name="opts" value="x"/>
+          <table>
+            <tr>
+              <td>Name:</td>
+              <td>
+                <input type="text" name="name" value="{ $name }" id="name"/>
+                { html:focus('name') }
+                <div class='small'/>
+              </td>
+            </tr>
+            <tr>
+              <td colspan="2">
+                <h3>{ "textindex" ! html:checkbox("opts", ., $opts = ., 'Text Index') }</h3>
+                <h3>{ "attrindex" ! html:checkbox("opts", ., $opts = ., 'Attribute Index') }</h3>
+                { "updindex" ! html:checkbox("opts", ., $opts = ., 'Incremental Indexing') }<br/>
+                <div class='small'/>
+                <h3>{ "ftindex" ! html:checkbox("opts", ., $opts = ., 'Fulltext Index') }</h3>
+              </td>
+            </tr>
+            <tr>
+              <td colspan="2">
+                { "stemming" ! html:checkbox("opts", ., $opts = ., 'Stemming') }<br/>
+                { "casesens" ! html:checkbox("opts", ., $opts = ., 'Case Sensitivity') }<br/>
+                { "diacritics" ! html:checkbox("opts", ., $opts = ., 'Diacritics') }<br/>
+              </td>
+            </tr>
+            <tr>
+              <td>Language:</td>
+              <td><input type="text" name="language" value="{ $lang }"/></td>
+            </tr>
+          </table>
+        </form>
+      </td>
+    </tr>
+  )
+};
+
+(:~
+ : Creates a database.
+ : @param  $name  database
+ : @param  $opts  database options
+ : @param  $lang  language
+ :)
+declare
+  %updating
+  %rest:POST
+  %rest:path("/dba/create-db")
+  %rest:query-param("name", "{$name}")
+  %rest:query-param("opts", "{$opts}")
+  %rest:query-param("lang", "{$lang}")
+function _:create(
+  $name  as xs:string,
+  $opts  as xs:string*,
+  $lang  as xs:string?
+) {
+  cons:check(),
+  try {
+    util:update("if(db:exists($name)) then (
+      error((), 'Database already exists: ' || $name || '.')
+    ) else (
+      db:create($name, (), (), map:merge((
+      (('textindex','attrindex','ftindex','stemming','casesens','diacritics','updindex') !
+         map:entry(., $opts = .)), $lang ! map:entry('language', .))
+      ))
+    )", map { 'name': $name, 'lang': $lang, 'opts': $opts }),
+    db:output(web:redirect($_:SUB, map {
+      'info': 'Created Database: ' || $name,
+      'name': $name
+    }))
+  } catch * {
+    db:output(web:redirect("create-db", map {
+      'error': $err:description,
+      'name': $name,
+      'opts': $opts,
+      'lang': $lang
+    }))
+  }
+};
diff --git a/BaseX821/dba/databases/database.xqm b/BaseX821/dba/databases/database.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..fb964154651cfcc9c11cd5ad2be1b7015af55547
--- /dev/null
+++ b/BaseX821/dba/databases/database.xqm
@@ -0,0 +1,167 @@
+(:~
+ : Database main page.
+ :
+ : @author Christian Grün, BaseX GmbH, 2014-15
+ :)
+module namespace _ = 'dba/databases';
+
+import module namespace cons = 'dba/cons' at '../modules/cons.xqm';
+import module namespace html = 'dba/html' at '../modules/html.xqm';
+import module namespace tmpl = 'dba/tmpl' at '../modules/tmpl.xqm';
+import module namespace util = 'dba/util' at '../modules/util.xqm';
+
+(:~ Top category :)
+declare variable $_:CAT := 'databases';
+(:~ Sub category :)
+declare variable $_:SUB := 'database';
+
+(:~
+ : Manages a single database.
+ : @param  $name      database
+ : @param  $resource  resource
+ : @param  $error     error string
+ : @param  $info      info string
+ : @return page
+ :)
+declare
+  %rest:GET
+  %rest:path("/dba/database")
+  %rest:query-param("name",     "{$name}")
+  %rest:query-param("resource", "{$resource}")
+  %rest:query-param("error",    "{$error}")
+  %rest:query-param("info",     "{$info}")
+  %output:method("html")
+function _:database(
+  $name      as xs:string,
+  $resource  as xs:string?,
+  $error     as xs:string?,
+  $info      as xs:string?
+) as element(html) {
+  cons:check(),
+
+  (: request data in a single step :)
+  let $data := try {
+    util:eval('element result {
+      let $found := db:exists($name)
+      return (
+        element found { $found },
+        if($found) then (
+          element databases { db:list-details($name)[position() = 1 to $max] },
+          element info { db:info($name) }
+        ) else (),
+        element backups { db:backups($name) }
+      )
+    }', map { 'name': $name, 'max': $cons:OPTION($cons:K-MAX-ROWS) + 1 })
+  } catch * {
+    element error { $cons:DATA-ERROR || ': ' || $err:description }
+  }
+  let $found := $data/found = 'true'
+  let $error := ($data/self::error/string(), $error)[1]
+
+  return tmpl:wrap(map { 'top': $_:CAT, 'info': $info, 'error': $error },
+    <tr>
+      <td width='49%'>
+        <form action="{ $_:SUB }" method="post" id="{ $_:SUB }" class="update">
+          <input type="hidden" name="name" value="{ $name }" id="name"/>
+          <h2><a href="{ $_:CAT }">Databases</a> » {
+            $name ! (if(empty($resource)) then . else html:link(., $_:SUB, map { 'name': $name } ))
+          }</h2>
+          {
+            if(not($found)) then () else (
+              let $entries := $data/databases/* !
+                <e resource='{ . }' ct='{ @content-type }' raw='{
+                  if(@raw = 'true') then '✓' else '–'
+                }' size='{ @size }'/>
+              let $headers := (
+                <resource>{ html:label($entries, ('Resource', 'Resources')) }</resource>,
+                <ct>Content type</ct>,
+                <raw>Raw</raw>,
+                <size type='number' order='desc'>Size (factor)</size>
+              )
+              let $buttons := (
+                html:button('add', 'Add…'),
+                html:button('delete', 'Delete', true()),
+                html:button('copy', 'Copy…', false()),
+                html:button('alter-db', 'Rename…', false()),
+                html:button('optimize', 'Optimize…', false(), 'global')
+              )
+              let $map := map { 'name': $name }
+              let $link := function($value) { $_:SUB }
+              return html:table($entries, $headers, $buttons, $map, (), $link)
+            )
+          }
+        </form>
+        <form action="{ $_:SUB }" method="post" class="update">
+          <input type="hidden" name="name" value="{ $name }"/>
+          <h3>Backups</h3>
+          {
+            let $entries :=
+              for $backup in $data/backups/*
+              order by $backup descending
+              return <e backup='{ $backup }' size='{ $backup/@size }'/>
+            let $headers := (
+              <backup order='desc'>{ html:label($entries, ('Backup', 'Backups')) }</backup>,
+              <size type='bytes'>Size</size>
+            )
+            let $buttons := (
+              html:button('create-backup', 'Create', false(), 'global') update (
+                if($found) then () else insert node attribute disabled { '' } into .
+              ),
+              html:button('restore', 'Restore', true()),
+              html:button('drop-backup', 'Drop', true())
+            )
+            let $map := map { 'name': $name }
+            let $link := function($value) { 'backup/' || $value || '.zip' }
+            return html:table($entries, $headers, $buttons, $map, (), $link)
+          }
+        </form>
+      </td>
+      <td class='vertical'/>
+      <td width='49%'>{
+        if($resource) then <_>
+          <h3>{ $resource }</h3>
+          <form action="resource" method="post" id="resources" enctype="multipart/form-data">
+            <input type="hidden" name="name" value="{ $name }"/>
+            <input type="hidden" name="resource" value="{ $resource }" id="resource"/>
+            { html:button('rename', 'Rename…') }
+            { html:button('download', 'Download') }
+            { html:button('replace', 'Replace…') }
+          </form>
+          <b>XQuery:</b>
+          <input style="width:100%" name="input" id="input"
+            onkeyup='queryResource("Please wait…", "Query was successful.")'/>
+          { html:focus('input') }
+          <textarea name='output' id='output' rows='20' readonly='' spellcheck='false'/>
+          <script type="text/javascript">queryResource('', '');</script>
+        </_>/node() else (
+          $data/info/*/html:properties(.)
+        )
+      }</td>
+    </tr>
+  )
+};
+
+(:~
+ : Redirects to the specified action.
+ : @param  $action     action to perform
+ : @param  $name       database
+ : @param  $resources  resources
+ : @param  $backups    backups
+ :)
+declare
+  %rest:POST
+  %rest:path("/dba/database")
+  %rest:form-param("action",   "{$action}")
+  %rest:form-param("name",     "{$name}")
+  %rest:form-param("resource", "{$resources}")
+  %rest:form-param("backup",   "{$backups}")
+function _:action(
+  $action     as xs:string,
+  $name       as xs:string,
+  $resources  as xs:string*,
+  $backups    as xs:string*
+) {
+  web:redirect(
+    web:create-url($action, map { 'name': $name, 'resource': $resources, 'backup': $backups })
+  )
+};
diff --git a/BaseX821/dba/databases/databases.xqm b/BaseX821/dba/databases/databases.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..e06f9dde99374b9f2a6e3ccfa48f92903bbfe8f0
--- /dev/null
+++ b/BaseX821/dba/databases/databases.xqm
@@ -0,0 +1,125 @@
+(:~
+ : Main page.
+ :
+ : @author Christian Grün, BaseX GmbH, 2014-15
+ :)
+module namespace _ = 'dba/databases';
+
+import module namespace cons = 'dba/cons' at '../modules/cons.xqm';
+import module namespace html = 'dba/html' at '../modules/html.xqm';
+import module namespace tmpl = 'dba/tmpl' at '../modules/tmpl.xqm';
+import module namespace util = 'dba/util' at '../modules/util.xqm';
+
+(:~ Top category :)
+declare variable $_:CAT := 'databases';
+
+(:~
+ : Main page.
+ : @param  $sort   table sort key
+ : @param  $error  error string
+ : @param  $info   info string
+ : @return page
+ :)
+declare
+  %rest:GET
+  %rest:path("/dba/databases")
+  %rest:query-param("sort",  "{$sort}", "")
+  %rest:query-param("error", "{$error}")
+  %rest:query-param("info",  "{$info}")
+  %output:method("html")
+function _:databases(
+  $sort   as xs:string,
+  $error  as xs:string?,
+  $info   as xs:string?
+) as element(html) {
+  cons:check(),
+
+  (: request data in a single step :)
+  let $data := try {
+    util:eval('element result {
+      element databases { db:list-details() },
+      element backups { db:backups() },
+      db:system()
+    }')
+  } catch * {
+    element error { $cons:DATA-ERROR || ': ' || $err:description }
+  }
+  let $error := ($data/self::error/string(), $error)[1]
+
+  return tmpl:wrap(map { 'top': $_:CAT, 'info': $info, 'error': $error },
+    <tr>
+      <td width='49%'>
+        <form action="{ $_:CAT }" method="post" class="update">
+          <h2>Databases</h2>
+          {
+            let $entries := $data/databases/database/
+              <e name='{ . }' resources='{ @resources }' size='{ @size }' date='{ @modified-date }'/>
+            (: integrate backups in list :)
+            let $entries := ($entries,
+              for $backup in $data/backups/backup
+              let $file := $backup/text()
+              order by $file descending
+              group by $name := replace($file, '-\d\d\d\d-\d\d-\d\d-\d\d-\d\d-\d\d$', '')
+              where not($entries/@name = $name)
+              let $date := replace($file[1], '^.*(\d\d\d\d-\d\d-\d\d)-(\d\d)-(\d\d)-(\d\d)$', '$1T$2:$3:$4Z')
+              return <e name='{ $name }' resources='' size='(backup)' date='{ $date }'/>
+            )
+            let $headers := (
+              <name>{ html:label($entries, ('Database', 'Databases')) }</name>,
+              <resources type='number' order='desc'>Resources</resources>,
+              <size type='bytes' order='desc'>Size</size>,
+              <date type='dateTime' order='desc'>Modification Date</date>
+            )
+            let $buttons := (
+              html:button('create-db', 'Create…'),
+              html:button('optimize-all', 'Optimize'),
+              html:button('drop-db', 'Drop', true())
+            )
+            let $link := function($value) { 'database' }
+            return html:table($entries, $headers, $buttons, map { }, $sort, $link)
+          }
+        </form>
+      </td>
+      <td class='vertical'/>
+      <td width='49%'>
+        <table>
+          <tr>{
+            for $table in $data/system/html:properties(.)
+            let $th := $table/tr[th][3]
+            return (
+              <td>
+                <h2>System</h2>
+                <table>{ $th/preceding-sibling::*/. }</table>
+              </td>,
+              <td>
+                <h2> </h2>
+                <table>{ $th, $th/following-sibling::* }</table>
+              </td>
+            )
+          }</tr>
+        </table>
+      </td>
+    </tr>
+  )
+};
+
+(:~
+ : Redirects to the specified action.
+ : @param  $action  action to perform
+ : @param  $names   names of selected databases
+ :)
+declare
+  %rest:POST
+  %rest:path("/dba/databases")
+  %rest:query-param("action", "{$action}")
+  %rest:query-param("name",   "{$names}")
+  %output:method("html")
+function _:action(
+  $action  as xs:string,
+  $names   as xs:string*
+) {
+  web:redirect($action,
+    if($action = 'create-db') then map { }
+    else map { 'name': $names, 'redirect': $_:CAT }
+  )
+};
diff --git a/BaseX821/dba/databases/drop-db.xqm b/BaseX821/dba/databases/drop-db.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..dd551907ad67a96dce8247cbc43ea715fc792605
--- /dev/null
+++ b/BaseX821/dba/databases/drop-db.xqm
@@ -0,0 +1,34 @@
+(:~
+ : Drop databases.
+ :
+ : @author Christian Grün, BaseX GmbH, 2014-15
+ :)
+module namespace _ = 'dba/databases';
+
+import module namespace cons = 'dba/cons' at '../modules/cons.xqm';
+import module namespace util = 'dba/util' at '../modules/util.xqm';
+
+(:~ Top category :)
+declare variable $_:CAT := 'databases';
+
+(:~
+ : Drops databases.
+ : @param  $names  names of databases
+ :)
+declare
+  %updating
+  %rest:GET
+  %rest:path("/dba/drop-db")
+  %rest:query-param("name", "{$names}")
+  %output:method("html")
+function _:drop(
+  $names  as xs:string*
+) {
+  cons:check(),
+  try {
+    util:update("$n ! db:drop(.)", map { 'n': $names }),
+    db:output(web:redirect($_:CAT, map { 'info': 'Dropped databases: ' || count($names) }))
+  } catch * {
+    db:output(web:redirect($_:CAT, map { 'error': $err:description }))
+  }
+};
diff --git a/BaseX821/dba/databases/optimize.xqm b/BaseX821/dba/databases/optimize.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..54dc65c2de47641d6144b762baf8bb961ec6013c
--- /dev/null
+++ b/BaseX821/dba/databases/optimize.xqm
@@ -0,0 +1,165 @@
+(:~
+ : Optimize databases.
+ :
+ : @author Christian Grün, BaseX GmbH, 2014-15
+ :)
+module namespace _ = 'dba/databases';
+
+import module namespace cons = 'dba/cons' at '../modules/cons.xqm';
+import module namespace html = 'dba/html' at '../modules/html.xqm';
+import module namespace tmpl = 'dba/tmpl' at '../modules/tmpl.xqm';
+import module namespace util = 'dba/util' at '../modules/util.xqm';
+
+(:~ Top category :)
+declare variable $_:CAT := 'databases';
+(:~ Sub category :)
+declare variable $_:SUB := 'database';
+
+(:~
+ : Form for optimizing a database.
+ : @param  $name   entered name
+ : @param  $all    optimize all
+ : @param  $opts   database options
+ : @param  $lang   language
+ : @param  $error  error string
+ : @return page
+ :)
+declare
+  %rest:GET
+  %rest:path("/dba/optimize")
+  %rest:query-param("name",  "{$name}")
+  %rest:query-param("all",   "{$all}")
+  %rest:query-param("opts",  "{$opts}")
+  %rest:query-param("lang",  "{$lang}", "en")
+  %rest:query-param("error", "{$error}")
+  %output:method("html")
+function _:create(
+  $name   as xs:string,
+  $all    as xs:string?,
+  $opts   as xs:string*,
+  $lang   as xs:string?,
+  $error  as xs:string?
+) as element(html) {
+  cons:check(),
+
+  let $data := try {
+    util:eval('db:info($n)', map { 'n': $name })
+  } catch * {
+    element error { $cons:DATA-ERROR || ': ' || $err:description }
+  }
+  let $error := ($data/self::error/string(), $error)[1]
+
+  return tmpl:wrap(map { 'top': $_:CAT, 'error': $error },
+    let $first := not($opts = 'x')
+    let $cb := function($option, $label) {
+      let $c := if($first)
+                then $data//*[name() = $option] = 'true'
+                else $opts = $option
+      return html:checkbox("opts", $option, $c, $label)
+    }
+    return <tr>
+      <td>
+        <form action="optimize" method="post">
+          <h2>
+            <a href="{ $_:CAT }">Databases</a> »
+            { html:link($name, 'database', map { 'name': $name }) } »
+            { html:button('optimize', 'Optimize') }
+          </h2>
+          <!-- dummy value; prevents reset of options when nothing is selected -->
+          <input type="hidden" name="name" value="{ $name }"/>
+          <input type="hidden" name="opts" value="x"/>
+          <table>
+            <tr>
+              <td colspan="2">
+                { html:checkbox("all", 'all', exists($all), 'Full optimization') }
+                <h3>{ $cb('textindex', 'Text Index') }</h3>
+                <h3>{ $cb('attrindex', 'Attribute Index') }</h3>
+                <h3>{ $cb('ftindex', 'Fulltext Index') }</h3>
+              </td>
+            </tr>
+            <tr>
+              <td colspan="2">
+                { $cb('stemming', 'Stemming') }<br/>
+                { $cb('casesens', 'Case Sensitivity') }<br/>
+                { $cb('diacritics', 'Diacritics') }<br/>
+              </td>
+            </tr>
+            <tr>
+              <td>Language:</td>
+              <td><input type="text" name="lang" id="lang" value="{
+                if($first) then $data//language else $lang
+              }"/></td>
+              { html:focus('lang') }
+            </tr>
+          </table>
+        </form>
+      </td>
+    </tr>
+  )
+};
+
+(:~
+ : Optimizes the current database.
+ : @param  $name  database
+ : @param  $all   optimize all
+ : @param  $opts  database options
+ : @param  $lang  language
+ :)
+declare
+  %updating
+  %rest:POST
+  %rest:path("/dba/optimize")
+  %rest:query-param("name", "{$name}")
+  %rest:query-param("all",  "{$all}")
+  %rest:query-param("opts", "{$opts}")
+  %rest:query-param("lang", "{$lang}")
+function _:optimize(
+  $name  as xs:string,
+  $all   as xs:string?,
+  $opts  as xs:string*,
+  $lang  as xs:string?
+) {
+  try {
+    cons:check(),
+    util:update("db:optimize($name, boolean($all), map:merge((
+  (('textindex','attrindex','ftindex','stemming','casesens','diacritics') !
+    map:entry(., $opts = .)),
+    $lang ! map:entry('language', .)
+  )
+))", map { 'name': $name, 'all': $all, 'lang': $lang, 'opts': $opts }
+    ),
+    db:output(web:redirect($_:SUB, map {
+      'name': $name,
+      'info': 'Database was optimized.'
+    }))
+  } catch * {
+    db:output(web:redirect($_:SUB, map {
+      'error': $err:description,
+      'name': $name,
+      'opts': $opts,
+      'lang': $lang
+    }))
+  }
+};
+
+(:~
+ : Optimizes databases with the current settings.
+ : @param  $names  names of databases
+ :)
+declare
+  %updating
+  %rest:GET
+  %rest:path("/dba/optimize-all")
+  %rest:query-param("name", "{$names}")
+  %output:method("html")
+function _:drop(
+  $names  as xs:string*
+) {
+  cons:check(),
+  try {
+    util:update("$n ! db:optimize(.)", map { 'n': $names }),
+    db:output(web:redirect($_:CAT, map { 'info': 'Optimized databases: ' || count($names) }))
+  } catch * {
+    db:output(web:redirect($_:CAT, map { 'error': $err:description }))
+  }
+};
diff --git a/BaseX821/dba/login.xqm b/BaseX821/dba/login.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..7248483ea3c515f6a8d14740d9b9a1530c3501d0
--- /dev/null
+++ b/BaseX821/dba/login.xqm
@@ -0,0 +1,187 @@
+(:~
+ : Code for logging in and out.
+ :
+ : @author Christian Grün, BaseX GmbH, 2014-15
+ :)
+module namespace _ = 'dba/login';
+
+import module namespace Session = 'http://basex.org/modules/session';
+import module namespace cons = 'dba/cons' at 'modules/cons.xqm';
+import module namespace html = 'dba/html' at 'modules/html.xqm';
+import module namespace tmpl = 'dba/tmpl' at 'modules/tmpl.xqm';
+
+(:~
+ : Login page.
+ : @param  $name   user name
+ : @param  $url    url
+ : @param  $error  error string 
+ : @return page
+ :)
+declare
+  %rest:path("/dba/login")
+  %rest:query-param("name" , "{$name}")
+  %rest:query-param("url",   "{$url}")
+  %rest:query-param("error", "{$error}")
+  %output:method("html")
+function _:welcome(
+  $name   as xs:string?,
+  $url    as xs:string?,
+  $error  as xs:string?
+) as element(html) {
+  tmpl:wrap(map { 'error': $error },
+    <tr>
+      <td>
+        <form action="login-check" method="post">
+          <div class='note'>
+            Enter your admin credentials:
+          </div>
+          <div class='small'/>
+          <table>
+            <tr>
+              <td><b>Name:</b></td>
+              <td>
+                <input size="30" name="name" value="{ $name }" id="user"/>
+                { html:focus('user') }
+                { html:button('login', 'Login') }
+              </td>
+            </tr>
+            <tr>
+              <td><b>Password:</b></td>
+              <td>
+                <input size="30" type="password" name="pass"/>
+              </td>
+            </tr>
+            <tr>
+              <td colspan='2'>
+              <div class='small'/>
+              <div class='note'>
+                Enter a <code>host:port</code> combination if you want to connect<br/>
+                to a remote BaseX server instance:
+              </div>
+              <div class='small'/>
+              </td>
+            </tr>
+            <tr>
+              <td><b>Address:</b></td>
+              <td>
+                <input size="30" name="url" value="{ $url }"/>
+              </td>
+            </tr>
+          </table>
+        </form>
+      </td>
+    </tr>
+  )
+};
+
+(:~
+ : Checks the user input and redirects to the start or login page.
+ : @param  $name  user name
+ : @param  $pass  password
+ : @param  $url   url
+ : @return redirect
+ :)
+declare
+  %rest:path("/dba/login-check")
+  %rest:query-param("name", "{$name}")
+  %rest:query-param("pass", "{$pass}")
+  %rest:query-param("url",  "{$url}")
+function _:login(
+  $name  as xs:string,
+  $pass  as xs:string,
+  $url   as xs:string
+) as element(rest:response) {
+  if($url) then (
+    if(matches($url, '^.+:\d+/?$')) then (
+      let $host := replace($url, ':.*$', '')
+      let $port := replace($url, '^.*:|/$', '')
+      return try {
+        let $id := client:connect($host, xs:integer($port), $name, $pass)
+        return (
+          try {
+            (: check if user can perform admin operations :)
+            prof:void(client:query($id, 'admin:sessions()')),
+            _:accept($name, $pass, $host, $port)
+          } catch bxerr:BASX0001 {
+            _:reject($name, $url, 'Admin credentials required.')
+          },
+          client:close($id)
+        )
+      } catch * {
+        _:reject($name, $url, $err:description)
+      }
+    ) else (
+      _:reject($name, $url, 'Please check the syntax of your URL.')
+    )
+  ) else (
+    let $user := user:list-details($name)
+    let $pw := $user/password[@algorithm = 'salted-sha256']
+    let $salt := $pw/salt
+    let $hash := $pw/hash
+    let $user-hash := lower-case(xs:string(xs:hexBinary(hash:sha256($salt || $pass))))
+    return if($hash = $user-hash) then (
+      if($user/@permission eq 'admin') then (
+        _:accept($name, $pass, '', '')
+      ) else (
+        _:reject($name, $url, 'Admin credentials required.')
+      )
+    ) else (
+      _:reject($name, $url, 'Please check your login data.')
+    )
+  )
+};
+
+(:~
+ : Ends a session and redirects to the login page.
+ : @return redirect
+ :)
+declare %rest:path("/dba/logout") function _:logout(
+) as element(rest:response) {
+  let $name := $cons:SESSION/name
+  let $url := string-join($cons:SESSION/(host, port), ':')
+  return (
+    admin:write-log('User was logged out: ' || $name),
+    Session:delete($cons:SESSION-KEY),
+    Session:close(),
+    web:redirect("/dba/login", map { 'nane': $name, 'url': $url })
+  )
+};
+
+(:~
+ : Accepts a user and redirects to the main page.
+ : @param  $name  entered user name
+ : @return redirect
+ :)
+declare %private function _:accept(
+  $name  as xs:string,
+  $pass  as xs:string,
+  $host  as xs:string,
+  $port  as xs:string
+) {
+  Session:set($cons:SESSION-KEY,
+    element session {
+      element name { $name },
+      element pass { $pass },
+      element host { $host }[$host],
+      element port { $port }[$port]
+    }
+  ),
+  admin:write-log('User was logged in: ' || $name),
+  web:redirect("databases")
+};
+
+(:~
+ : Rejects a user and redirects to the login page.
+ : @param  $name     entered user name
+ : @param  $url      entered url
+ : @param  $message  error message
+ : @return redirect
+ :)
+declare %private function _:reject(
+  $name     as xs:string,
+  $url      as xs:string,
+  $message  as xs:string
+) as element(rest:response) {
+  admin:write-log('Login was denied: ' || $name),
+  web:redirect("login", map { 'name': $name, 'url': $url, 'error': $message })
+};
diff --git a/BaseX821/restxq.xqm b/BaseX821/restxq.xqm
new file mode 100644
index 0000000000000000000000000000000000000000..985e98a51a6c8c7098397e6d7810b14fd014bc4c
--- /dev/null
+++ b/BaseX821/restxq.xqm
@@ -0,0 +1,103 @@
+(:~
+ : This module contains some basic examples for RESTXQ annotations
+ : @author BaseX Team
+ :)
+module namespace page = 'http://basex.org/modules/web-page';
+
+(:~
+ : This function generates the welcome page.
+ : @return HTML page
+ :)
+declare
+  %rest:path("")
+  %output:method("xhtml")
+  %output:omit-xml-declaration("no")
+  %output:doctype-public("-//W3C//DTD XHTML 1.0 Transitional//EN")
+  %output:doctype-system("http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd")
+  function page:start()
+  as element(Q{http://www.w3.org/1999/xhtml}html)
+{
+  <html xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+      <title>BaseX HTTP Services</title>
+      <link rel="stylesheet" type="text/css" href="static/style.css"/>
+    </head>
+    <body>
+      <div class="right"><img src="static/basex.svg" width="96"/></div>
+      <h2>BaseX HTTP Services</h2>
+      <div>Welcome to the BaseX HTTP Services. They allow you to:</div>
+      <ul>
+        <li>Query and modify databases via <a href="http://docs.basex.org/wiki/REST">REST</a> (try <a href='rest'>here</a>),</li>
+        <li>Browse and update resources via <a href="http://docs.basex.org/wiki/WebDAV">WebDAV</a>, and</li>
+        <li>Create web applications and services with <a href="http://docs.basex.org/wiki/RESTXQ">RESTXQ</a></li>
+      </ul>
+
+      <p>Single services can be deactivated by modifying the <code>web.xml</code> file.</p>
+
+      <p>The <a href="dba">Database Administration</a> interface (DBA) is an
+      example for a full RESTXQ web application.<br/>
+      Both DBA and the following examples may help you to create your own web sites:</p>
+
+      <h3>Example 1</h3>
+      <p>The following links return different results.
+      Both are generated by the same RESTXQ function:</p>
+      <ul>
+        <li><a href="hello/World">/hello/World</a></li>
+        <li><a href="hello/Universe">/hello/Universe</a></li>
+      </ul>
+
+      <h3>Example 2</h3>
+      <p>The next example presents how form data is processed via RESTXQ and the POST method:</p>
+      <form method="post" action="form">
+        <p>Your message:<br />
+        <input name="message" size="50"></input>
+        <input type="submit" /></p>
+      </form>
+
+      <h3>Example 3</h3>
+      <p>The source code of the file that created this page
+      (<code>{ static-base-uri() }</code>) is shown below:</p>
+      <pre>{ unparsed-text(static-base-uri()) }</pre>
+    </body>
+  </html>
+};
+
+(:~
+ : This function returns an XML response message.
+ : @param $world  string to be included in the response
+ : @return response element 
+ :)
+declare
+  %rest:path("/hello/{$world}")
+  %rest:GET
+  function page:hello(
+    $world as xs:string)
+    as element(response)
+{
+  <response>
+    <title>Hello { $world }!</title>
+    <time>The current time is: { current-time() }</time>
+  </response>
+};
+
+(:~
+ : This function returns the result of a form request.
+ : @param  $message  message to be included in the response
+ : @param $agent  user agent string
+ : @return response element 
+ :)
+declare
+  %rest:path("/form")
+  %rest:POST
+  %rest:form-param("message","{$message}", "(no message)")
+  %rest:header-param("User-Agent", "{$agent}")
+  function page:hello-postman(
+    $message as xs:string,
+    $agent   as xs:string*)
+    as element(response)
+{
+  <response type='form'>
+    <message>{ $message }</message>
+    <user-agent>{ $agent }</user-agent>
+  </response>
+};
diff --git a/BaseX821/static/basex.svg b/BaseX821/static/basex.svg
new file mode 100644
index 0000000000000000000000000000000000000000..901b8d3d7d0170328fbac676b059f572a6898655
--- /dev/null
+++ b/BaseX821/static/basex.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   viewBox="0 0 82.088621 73.135418"
+   height="73.135414"
+   width="82.088623"
+   xml:space="preserve"
+   version="1.1"
+   id="svg2"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="basex.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2498"
+     inkscape:window-height="1417"
+     id="namedview3026"
+     showgrid="false"
+     fit-margin-top="1"
+     fit-margin-left="1"
+     fit-margin-right="1"
+     fit-margin-bottom="1"
+     inkscape:zoom="7.59107"
+     inkscape:cx="92.212069"
+     inkscape:cy="-8.8800238"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g12" /><metadata
+     id="metadata8"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+     id="defs6" /><g
+     transform="matrix(1.25,0,0,-1.25,-4.1804093,163.0317)"
+     id="g10"><g
+       transform="scale(0.1,0.1)"
+       id="g12"><path
+         id="path14"
+         style="fill:#4f4c4c;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 493.23291,1111.6167 c 3.47269,-0.9434 8.24049,-2.2912 12.31024,-4.7334 0,0 61.05511,66.7922 74.71754,80.5117 9.59708,9.6366 20.31366,18.0527 32.04878,25.0463 8.9078,5.3123 18.18878,9.4303 28.91852,9.1185 7.12976,-0.2106 20.70878,-0.1755 27.84731,-0.1844 5.58879,-0.01 13.06098,7.5338 13.06537,13.162 0.0176,16.1517 0.0132,32.3034 0,48.4595 -0.005,5.7337 -7.19122,12.9469 -12.9161,12.9513 l -250.72368,0 c -5.70732,0 -13.48112,-7.2615 -13.49473,-12.7317 -0.0413,-16.4459 -0.0294,-32.8961 0,-49.342 -0.0207,-6.8576 3.6079,-12.4156 11.59112,-12.4507 l 44.10482,-0.04 c 13.16985,0.07 13.92497,-10.8351 9.06058,-16.279 l -95.97553,-98.7581 -77.37804,94.6664 c -8.29843,11.1117 -2.19511,20.3707 4.93903,20.5771 l 39.32384,-0.08 c 9.07683,0 13.69361,6.3614 13.72785,13.2717 0.009,15.9585 0.007,31.9169 0.002,47.8755 -0.004,6.1376 -7.07926,13.2936 -13.17424,13.2849 -13.01794,-0.014 -26.03765,-0.08 -39.05779,-0.075 -80.17857,0.017 -166.10703,0.3599 -246.287348,0.3863 -6.124037,0 -14.37462,-7.1605 -14.378045,-13.263 -0.0069,-15.5678 0.133771,-31.456 0,-47.0238 0,-8.7234 5.60959,-14.2551 13.856704,-14.2595 8.61414,0 22.976554,-0.3951 31.591089,-0.4434 11.260094,-0.061 21.92707,-2.5859 32.50975,-6.5371 14.83945,-5.5405 22.95789,-14.9005 31.92716,-25.2966 10.53658,-12.2136 85.00081,-105.019 90.98251,-112.4666 l 5.82234,14.3144 c 0,0 -89.29534,111.898 -99.007,120.5073 -9.01185,7.9903 -20.59945,12.6395 -32.17915,16.3318 -11.93752,3.8062 -24.315807,4.7678 -36.764779,4.9697 -4.30595,0.07 -14.364171,0.2985 -18.672097,0.3205 -4.539467,0.017 -7.197627,2.6956 -7.202765,7.2746 -0.0137,12.2356 -0.01198,24.4757 0,36.7113 0.0034,4.7765 2.639283,7.4326 7.394838,7.4238 8.015442,-0.014 21.77973,-0.4127 29.793679,-0.4127 75.578904,-0.01 151.158244,0 226.737164,-0.014 5.87018,0 11.7439,-0.2854 17.60706,-0.1186 4.19664,0.1186 6.68503,-2.8756 6.71224,-6.0585 0.11503,-12.9205 0.0878,-25.8453 0.0224,-38.7659 -0.0189,-3.477 -1.79737,-6.6555 -6.41371,-6.6555 l -35.90252,-0.022 c -14.54093,0 -26.40995,-19.1371 -15.78249,-34.6215 11.09941,-13.917 88.59202,-110.793 88.59202,-110.793 18.58654,19.5757 104.14578,105.5116 107.49992,113.0452 6.65122,8.2712 5.15414,29.9811 -13.82048,32.5757 l -43.18638,-0.1801 c -4.03859,0.049 -6.85975,2.7659 -6.87512,6.7566 -0.0448,12.6308 -0.0396,25.2571 -0.002,37.8879 0.0101,3.9248 2.86902,6.7126 6.82024,6.7653 0,0 166.88103,0.061 239.22345,0 5.42195,0 7.61707,-2.1425 7.61707,-7.5337 0.005,-12.0424 0.009,-24.0848 0,-36.1273 -0.005,-4.8029 -2.58586,-7.3581 -7.33171,-7.4282 -6.54585,-0.1011 -19.55414,0.07 -26.05609,-0.5181 -5.01804,-0.461 -10.08878,-1.4664 -14.87853,-3.0204 -9.16244,-2.9811 -17.3239,-8.0299 -25.16926,-13.5747 -19.06683,-13.4737 -35.04731,-30.2883 -50.86974,-47.239 -13.47805,-14.4378 -50.42633,-54.4298 -52.86731,-57.1549"
+         inkscape:connector-curvature="0" /><path
+         id="path16"
+         style="fill:#4f4c4c;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="M 197.92543,904.7538 102.12902,805.18442 C 93.926295,795.97369 84.6642,791.83369 73.870349,791.1273 l -13.133147,-0.062 c -6.271506,-0.45614 -7.423944,-4.68878 -7.425656,-9.64492 -0.0086,-12.13477 -0.0086,-22.55303 0.0017,-34.69135 0.0034,-4.78124 2.608418,-7.42399 7.341627,-7.42913 82.601937,-0.12173 234.101297,-0.0566 239.858227,0.0926 4.21507,0 6.58537,2.59471 6.58537,6.70372 0.0396,12.62708 0.0413,25.2525 0.002,37.88279 0.0443,4.15361 -2.32903,6.7759 -6.58712,6.8018 l -43.41555,0.003 c -20.96825,0 -31.59438,23.0198 -19.94444,39.92575 0,0 76.5992,89.34143 82.80393,96.0348 1.47161,-4.3301 4.284,-12.2378 4.284,-12.2378 L 249.5694,827.15258 c -11.40936,-13.45873 -0.10317,-24.96599 9.77181,-24.96599 l 46.66828,0.0619 c 6.6354,0.14049 12.85858,-5.63707 12.85858,-12.67507 0.0536,-16.64034 0.0979,-32.85667 -0.0891,-49.49674 0,-6.54931 -5.93165,-12.48474 -12.39891,-12.48474 0,0 -241.394685,-0.0172 -251.574561,-0.0274 -7.362217,0 -13.117562,4.94418 -13.117562,13.36107 -0.01198,16.05353 -0.123454,32.0435 -0.114893,48.09906 0.0034,5.94395 4.702345,12.2839 13.042094,13.13122 10.269041,0.0927 -2.188272,-0.14093 8.077389,0.0927 19.591545,-0.91756 24.557787,3.78834 36.785491,16.80453 l 83.114322,85.70061 15.33336,0"
+         inkscape:connector-curvature="0" /><path
+         id="path18"
+         style="fill:#4f4c4c;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 371.78607,904.7538 13.52721,0 67.4776,-80.35329 c 9.65327,-12.3976 5.40219,-34.0055 -17.4442,-33.91814 l -47.87252,0.15762 c -3.33877,-0.13171 -5.87721,-1.43518 -5.88907,-6.77064 0.079,1.23498 0.11503,-38.19494 0.11503,-38.19494 0.0101,-4.35077 1.93258,-6.99694 6.32809,-7.0055 l 275.62514,0.21095 c 4.3244,-0.0138 6.69513,2.15394 6.69951,6.94892 0.009,12.1435 -0.0395,25.1873 -0.0483,37.32584 0,5.59405 -1.47073,7.65175 -6.18145,7.72726 -14.14976,0.0259 -29.73512,-0.0755 -35.03415,1.25035 -14.27706,3.75409 -18.72438,7.98629 -27.92633,19.47116 0,0 -87.83998,105.84963 -88.5029,106.71715 4.10926,2.05112 6.82244,4.2515 10.22927,7.31765 3.06438,-3.76594 88.09899,-107.89328 88.09899,-107.89328 8.98683,-10.28986 18.00878,-15.23722 32.9356,-15.51864 l 25.41512,0 c 9.87366,-0.009 12.74488,-5.45707 12.75804,-15.59414 0.0439,-16.54212 0.079,-30.85498 -0.0526,-47.39728 0.005,-7.35023 -4.61853,-12.06975 -11.66926,-12.0646 0,0 -278.86383,0.0617 -286.69427,0.0652 -9.30863,0 -14.3214,4.59261 -14.3214,14.14653 -0.0118,16.15131 -0.0136,34.08097 0,50.23223 0,6.28683 5.02507,10.67707 12.16229,10.61209 l 46.91939,0.0342 c 16.91253,0.26737 17.4442,9.47502 10.00493,20.0116 l -66.65969,82.48169"
+         inkscape:connector-curvature="0" /><g
+         transform="matrix(4.3902427,0,0,4.3902427,23.248656,727.17025)"
+         id="g20"><g
+   transform="matrix(1,0,0,-1,0,42.7367)"
+   style="font-size:70.24369812px;font-variant:normal;font-weight:600;writing-mode:lr-tb;fill:#aa1818;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Metric Semibold;-inkscape-font-specification:Metric-Semibold"
+   id="text22"><path
+     d="m 29.501973,-22.266966 c 1.619943,-0.582407 2.963334,-1.665316 4.030179,-3.24873 1.066778,-1.583363 1.61994,-3.544305 1.659488,-5.882833 -0.04394,-3.869173 -1.343428,-6.7901 -3.898476,-8.762789 -2.555111,-1.97261 -6.102368,-2.961861 -10.641783,-2.967757 l -16.5070562,0 0,43.129075 17.9119122,0 c 4.536488,-0.01317042 8.072038,-1.0580311 10.606662,-3.1345852 2.534559,-2.0765478 3.822342,-5.1057651 3.863354,-9.0876608 -0.03808,-2.394095 -0.699538,-4.48967 -1.98436,-6.286731 -1.284891,-1.797024 -2.964863,-3.049686 -5.03992,-3.757989 z m -16.717785,-3.160925 0,-10.114963 7.305251,0 c 2.146772,-0.0073 3.771134,0.393688 4.873092,1.202909 1.101909,0.809289 1.655071,2.070731 1.659488,3.78433 -0.0044,1.719514 -0.557579,3.00437 -1.659487,3.854572 -1.101957,0.850256 -2.72632,1.27464 -4.873093,1.273152 z m 0,7.024279 8.499379,0 c 2.113113,0.01465 3.716988,0.494643 4.81163,1.439976 1.094589,0.945367 1.644824,2.268272 1.650707,3.968719 -0.0059,1.669741 -0.556116,2.983866 -1.650707,3.9423764 -1.094643,0.958529 -2.698518,1.4473014 -4.81163,1.4663189 l -8.499379,0 z"
+     id="path3029"
+     inkscape:connector-curvature="0" /><path
+     d="M 55.112494,-43.129075 38.605438,0 l 8.991077,0 3.793111,-10.395933 16.155843,0 L 71.408823,0 80.540386,0 64.033329,-43.129075 z m 4.355054,10.81739 5.268209,14.32953 -10.536419,0 z"
+     id="path3031"
+     inkscape:connector-curvature="0" /><path
+     d="m 84.087721,-2.9501973 c 1.57168,1.0126685 3.556037,1.8672879 5.953078,2.56386089 2.397024,0.69657371 5.048686,1.0594948 7.954996,1.08876435 4.676975,-0.001463 8.546175,-1.06973824 11.607625,-3.20482804 3.06138,-2.1350847 4.64769,-5.3282017 4.75895,-9.5793609 0.0131,-3.175544 -0.83856,-5.797939 -2.55509,-7.867192 -1.71658,-2.069214 -4.37703,-3.70821 -7.98133,-4.916996 l -6.743312,-2.318012 c -1.520479,-0.459478 -2.694118,-1.033127 -3.52092,-1.72095 -0.826827,-0.687764 -1.245357,-1.682869 -1.25559,-2.985317 0.04243,-1.469214 0.695101,-2.552123 1.958019,-3.248732 1.262892,-0.696538 2.881401,-1.041897 4.855532,-1.036079 2.481891,0.01613 4.770631,0.422956 6.866231,1.220468 2.09555,0.797583 4.0682,1.889272 5.91796,3.275071 l 0,-8.780349 c -1.75171,-1.062382 -3.70973,-1.887735 -5.87406,-2.476061 -2.16437,-0.58824 -4.56141,-0.886771 -7.191102,-0.895593 -4.325797,0.01468 -7.931591,1.074172 -10.81739,3.178486 -2.885813,2.104395 -4.384325,5.165807 -4.495539,9.184245 0.04244,3.526801 1.0112,6.25456 2.906295,8.183285 1.895085,1.928771 4.461872,3.392162 7.700367,4.390175 l 6.321849,2.107284 c 1.62435,0.557567 2.87115,1.198531 3.74043,1.922895 0.86923,0.724394 1.30825,1.769255 1.31705,3.134586 -0.0468,1.671203 -0.77854,2.8770362 -2.19508,3.6175033 -1.41659,0.7404833 -3.23705,1.1034044 -5.461381,1.0887643 -2.514122,-0.019017 -4.949203,-0.455107 -7.305251,-1.3082725 -2.356066,-0.8531489 -4.510176,-2.0092271 -6.462337,-3.4682371 z"
+     id="path3033"
+     inkscape:connector-curvature="0" /><path
+     d="m 120.78993,-43.129075 0,43.129075 29.29125,0 0,-7.9374357 -20.44066,0 0,-10.2554483 18.5441,0 0,-7.656464 -18.5441,0 0,-9.412534 20.44066,0 0,-7.867193 z"
+     id="path3035"
+     inkscape:connector-curvature="0" /></g>
+</g></g></g></svg>
\ No newline at end of file
diff --git a/BaseX821/static/style.css b/BaseX821/static/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..7eab14c0499b96c4e209bb01c4eadcd2476eac97
--- /dev/null
+++ b/BaseX821/static/style.css
@@ -0,0 +1,142 @@
+body {
+  font-family: Calibri, "Trebuchet MS", sans-serif;
+  overflow-y: scroll;
+  margin: 1em;
+  font-size: 16px;
+}
+
+ul, dd {
+  padding-left: 1.2em;
+  margin-left: 0;
+}
+
+dl {
+  margin: 0;
+}
+
+dt {
+  margin: 0.6em 0 0.6em 0;
+  font-weight: bold;
+}
+
+table {
+  font-size: 100%;
+  padding: 0;
+  border: 0;
+  table-layout: fixed;
+}
+
+th {
+  padding: 0 1.2em .2em 0;
+}
+
+td {
+  padding: 0 1.2em 0 0;
+  vertical-align: top;
+  border: 0;
+}
+
+textarea {
+  font-family: "Consolas", "Ubuntu Mono", monospace;
+  font-size: 90%;
+  margin: 4px 0px 4px 0px;
+  width: 100%;
+}
+
+select {
+  width: 166;
+}
+
+code {
+  font-family: "Consolas", "Ubuntu Mono", monospace;
+  border: 1px solid #E3E3FF;
+  border-radius: 3px;
+  padding: 0 4px 0 4px;
+  margin: 0 2px 0 2px;
+  font-size: 90%;
+}
+
+pre {
+  font-family: "Consolas", "Ubuntu Mono", monospace;
+  font-size: 90%;
+}
+
+h1 {
+  font-size: 220%;
+  font-weight: bold;
+  color: #AA1818;
+  margin: -2px 0 0 0;
+}
+
+h2 {
+  font-size: 150%;
+  color: #CC3333;
+  margin: 0 0 0.2em 0;
+}
+
+h3 {
+  font-size: 120%;
+  color: #CC3333;
+  margin: 0.2em 0 0.2em 0;
+}
+
+h4 {
+  font-size: 100%;
+  margin: 0 0 0.4em 0;
+}
+
+hr {
+  height: 1px;
+  border: 0px;
+  background-color: #777;
+}
+
+a {
+  color: #CC3333;
+  text-decoration: none;
+}
+
+a:hover {
+  text-decoration:underline;
+}
+
+p {
+  margin: 0 0 0.6em 0;
+}
+
+.right {
+  float: right;
+}
+
+.error {
+  color: #FF3333;
+  font-weight: bold;
+}
+
+.info {
+  color: #009900;
+  font-weight: bold;
+}
+
+.warning {
+  color: #999999;
+  font-weight: bold;
+}
+
+.note {
+  color: #666666;
+}
+
+.small {
+  height: 10px;
+}
+
+.variable {
+  font-family: "Calibri", "Trebuchet MS", sans-serif;
+}
+
+.vertical {
+  width: 1px;
+  border-left: 1px solid #000000;
+  height: 100%;
+}