} else if (DomUtil.hasChildElement(principalElement, DavConstants.XML_HREF, DavConstants.NAMESPACE)) {
String href = DomUtil.getChildText(principalElement, DavConstants.XML_HREF, DavConstants.NAMESPACE);
return getHrefPrincipal(href);
} else if (DomUtil.hasChildElement(principalElement, XML_PROPERTY, NAMESPACE)) {
Element propEl = DomUtil.getChildElement(principalElement, XML_PROPERTY, NAMESPACE);
DavPropertyName pn = DavPropertyName.createFromXml(DomUtil.getFirstChildElement(propEl));
return getPropertyPrincipal(pn);
} else {
throw new DavException(DavServletResponse.SC_BAD_REQUEST, "Invalid structure inside DAV:principal element.");
}
}