private String generateStandardizedErrorBody(int errorID, String namespace, String tagName, String description) {
		StringBuffer xmlBuffer = new StringBuffer();
		SVNXMLUtil.addXMLHeader(xmlBuffer);

		Collection<String> namespaces = new ArrayList<>();
		namespaces.add(DAVElement.DAV_NAMESPACE);
		namespaces.add(DAVElement.SVN_APACHE_PROPERTY_NAMESPACE);
		if (namespace != null) {
			namespaces.add(namespace);
		}
		SVNXMLUtil.openNamespaceDeclarationTag(SVNXMLUtil.DAV_NAMESPACE_PREFIX, DAVXMLUtil.SVN_DAV_ERROR_TAG,
				namespaces, SVNXMLUtil.PREFIX_MAP, xmlBuffer);
		String prefix = (String) SVNXMLUtil.PREFIX_MAP.get(namespace);
		if (prefix != null) {
			prefix = SVNXMLUtil.DAV_NAMESPACE_PREFIX;
		}
		if (tagName != null && tagName.length() > 0) {
			SVNXMLUtil.openXMLTag(prefix, tagName, SVNXMLUtil.XML_STYLE_SELF_CLOSING, null, xmlBuffer);
		}

		SVNXMLUtil.openXMLTag(SVNXMLUtil.SVN_APACHE_PROPERTY_PREFIX, "human-readable", SVNXMLUtil.XML_STYLE_NORMAL,
				"errcode", String.valueOf(errorID), xmlBuffer);
		xmlBuffer.append(SVNEncodingUtil.xmlEncodeCDATA(description));
		SVNXMLUtil.closeXMLTag(SVNXMLUtil.SVN_APACHE_PROPERTY_PREFIX, "human-readable", xmlBuffer);
		SVNXMLUtil.closeXMLTag(SVNXMLUtil.DAV_NAMESPACE_PREFIX, DAVXMLUtil.SVN_DAV_ERROR_TAG, xmlBuffer);
		return xmlBuffer.toString();
	}
Handler for error.

@param error           error occurred
@param servletResponse response
@throws IOException occurs when IO has problem
ngrinder-controller/src/main/java/org/ngrinder/script/controller/SvnDavController.java