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

IsSelfClosing() public method

Determines if given element is self-closing (i.e. does not allow content)
public IsSelfClosing ( ITextProvider text, ITextRange nameRange ) : bool
text ITextProvider Text provider
nameRange ITextRange Element name
return bool
        public bool IsSelfClosing(ITextProvider text, ITextRange nameRange) {
            if (nameRange.Length < _minCharCountSelfClosing || nameRange.Length > _maxCharCountSelfClosing)
                return false;

            return FindElementName(text, nameRange, _voidElementNameIndex, true);
        }

Usage Example

Esempio n. 1
0
        /// <summary>
        /// Determines if element is a self-closing element (i.e. like &lt;br /&gt;
        /// </summary>
        /// <param name="textProvider">Text provider</param>
        /// <param name="prefixRange">Text range of the element prefix</param>
        /// <param name="nameRange">Text range of the element name</param>
        /// <returns>True if element is a self-closing element.</returns>
        public bool IsSelfClosing(ITextProvider textProvider, ITextRange prefixRange, ITextRange nameRange)
        {
            if (nameRange.Length == 0)
            {
                return(false);
            }

            string name = textProvider.GetText(nameRange);

            if (name[0] == '!')
            {
                return(true); // bang tags are always self-closing
            }
            if (prefixRange.Length == 0)
            {
                return(_defaultProvider.IsSelfClosing(textProvider, nameRange));
            }

            string prefix = textProvider.GetText(prefixRange);

            IHtmlClosureProvider provider;;

            _providers.TryGetValue(prefix, out provider);

            var textRangeProvider = provider as IHtmlClosureProviderTextRange;

            if (textRangeProvider != null)
            {
                return(textRangeProvider.IsSelfClosing(textProvider, nameRange));
            }

            if (provider != null)
            {
                return(provider.IsSelfClosing(name));
            }

            return(false);
        }
All Usage Examples Of Microsoft.Html.Core.Tree.Builder.DefaultHtmlClosureProvider::IsSelfClosing