remoteContext = "/xmlrpc"; collectionName = normalizedPath.substring("/xmlrpc".length());
remoteContext = split[0] + "/xmlrpc"; collectionName = split[1];
    	public XmldbURI(String xmldbURI) throws URISyntaxException, XMLDBException {        	        	try {        		if (!xmldbURI.startsWith(XMLDB_URI_PREFIX))        			throw new XMLDBException(ErrorCodes.INVALID_DATABASE, "This is not an xmldb URI :" + xmldbURI);        		uri = new URI(xmldbURI.substring(XMLDB_URI_PREFIX.length()));        		instanceName = uri.getScheme();    		             	if ("".equals(instanceName))            		throw new XMLDBException(ErrorCodes.INVALID_DATABASE, "No instance name for xmldb URI :" + xmldbURI);            	//TODO : consider using LOCAL_HOSTNAME            	host = uri.getHost();            	port = uri.getPort();            	//Trim trailing slash if necessary            	Pattern p = Pattern.compile(".+/$");            	            	String normalizedPath = p.split(uri.getPath())[0];              	            	//TODO : use named constants            	            	if (normalizedPath.startsWith("/webdav")) {            		apiName = "webdav";            		remoteContext = "/webdav";            		collectionName = normalizedPath.substring("/webdav".length());            	}            	else if (normalizedPath.startsWith("/xmlrpc")) {            		apiName = "xmlrpc";            		remoteContext = "/xmlrpc";            		collectionName = normalizedPath.substring("/xmlrpc".length());            	}              	else {            		apiName = "direct access";            		remoteContext = "";            		collectionName =  normalizedPath;             		if (port > -1)            			throw new XMLDBException(ErrorCodes.INVALID_DATABASE, "Local xmldb URI should not provide a port:" + xmldbURI);            	}             	//TODO in the future : check that collectionName starts with DBBroker.ROOT_COLLECTION ?        	} catch (URISyntaxException e) {            	uri = null;            	throw e;        		    	} catch (XMLDBException e) {	        	uri = null;	        	throw e;	    	}    	}