Microsoft.Html.Core.Tree.Builder.DefaultHtmlClosureProvider.GetContainerElements C# (CSharp) Method

GetContainerElements() private static method

private static GetContainerElements ( string elementName ) : string[]
elementName string
return string[]
        private static string[] GetContainerElements(string elementName) {
            if (String.IsNullOrEmpty(elementName))
                return new string[0];

            elementName = elementName.ToLower(CultureInfo.InvariantCulture);
            char firstCharLower = elementName[0];

            switch (firstCharLower) {
                case 't':
                    if (String.Compare(elementName, "td", StringComparison.Ordinal) == 0 || String.Compare(elementName, "th", StringComparison.Ordinal) == 0) {
                        return new string[] { "tr", "table" };
                    }

                    if (String.Compare(elementName, "tr", StringComparison.Ordinal) == 0) {
                        return new string[] { "table", "thead", "tfoot", "tbody" };
                    }

                    if (String.Compare(elementName, "thead", StringComparison.Ordinal) == 0 ||
                        String.Compare(elementName, "tfoot", StringComparison.Ordinal) == 0 || String.Compare(elementName, "tbody", StringComparison.Ordinal) == 0) {
                        return new string[] { "table" };
                    }
                    break;
                case 'd':
                    if (String.Compare(elementName, "dd", StringComparison.Ordinal) == 0 || String.Compare(elementName, "dt", StringComparison.Ordinal) == 0) {
                        return new string[] { "dl", "dialog" };
                    }
                    break;
                case 'l':
                    if (String.Compare(elementName, "li", StringComparison.Ordinal) == 0) {
                        return new string[] { "ol", "ul", "menu" };
                    }
                    break;
                case 'o':
                    if (String.Compare(elementName, "option", StringComparison.Ordinal) == 0) {
                        return new string[] { "select", "datalist", "optgroup" };
                    }
                    break;
                case 'f':
                    if (String.Compare(elementName, "frame", StringComparison.Ordinal) == 0) {
                        return new string[] { "frameset" };
                    }
                    break;
            }

            return new string[0];
        }
        #endregion