protected override string PostProcessObjectNameAndAliases(string objectName, System.Collections.ArrayList aliases, XmlElement element, IObjectDefinition containingDefinition)
        {
            string url         = element.GetAttribute(ObjectDefinitionConstants.TypeAttribute);
            string strTypeName = url.ToLower();

            if (strTypeName.EndsWith(".aspx"))
            {
                if (!StringUtils.HasText(objectName))
                {
                    objectName = webObjectNameGenerator.CreatePageDefinitionName(url);
                }

                // strip leading homepath symbol ('~') from aliases if necessary
                for (int ai = 0; ai < aliases.Count; ai++)
                {
                    string alias = (string)aliases[ai];
                    if (alias != null && alias.Length > 0 && alias[0] == '~')
                    {
                        aliases[ai] = "/" + alias.Substring(1).TrimStart('/', '\\');
                    }
                }
            }
            else if (strTypeName.EndsWith(".ascx") || strTypeName.EndsWith(".master"))
            {
                string controlName = webObjectNameGenerator.CreateControlDefinitionName(url);
                if (!StringUtils.HasText(objectName))
                {
                    objectName = controlName;
                }
                else
                {
                    aliases.Add(controlName);
                }
            }

            return(objectName);
        }