private XmlElement CreateAddressNode(Uri uri, XmlDocument ownerDocument, string nodeName = "sage:address")
{
XmlElement addressNode = ownerDocument.CreateElement(nodeName, XmlNamespaces.SageNamespace);
addressNode.SetAttribute("url", uri.ToString());
addressNode.SetAttribute("serverName", uri.Host);
addressNode.SetAttribute("serverNameFull", string.Format("{0}://{1}", uri.Scheme, uri.Authority));
addressNode.SetAttribute("scriptName", uri.LocalPath.TrimEnd('/'));
addressNode.SetAttribute("scriptNameFull", uri.PathAndQuery);
addressNode.SetAttribute("queryString", uri.Query);
return addressNode;
}