Esempio n. 1
0
        private void RenderNextTagPair(Tag openingTag)
        {
            List <Tuple <Tag, Tag> > nestedTags = new List <Tuple <Tag, Tag> >();

            foreach (var tag in GetTags())
            {
                if (language.IsLineDelimiter(tag.Name) && !language.IsHeaderTag(openingTag.Name))
                {
                    return;
                }
                if (language.IsLineDelimiter(tag.Name))
                {
                    position++;
                }

                if (language.ArePairedTags(openingTag, tag))
                {
                    if (!language.IsTagWithValidSurroundings(text, tag, false))
                    {
                        continue;
                    }
                    if (!language.OpeningHtmlTags.ContainsKey(openingTag.Name))
                    {
                        RenderUrl(openingTag, tag);
                        return;
                    }
                    RenderTags(nestedTags, openingTag, tag, true);
                    return;
                }
                if (language.IsTagWithValidSurroundings(text, tag, true))
                {
                    nestedTags.Add(GetNestedTags(tag, openingTag));
                }
            }
            RenderTags(nestedTags, openingTag, null, false);
        }