Exemple #1
0
        public static void TrimEmptyElement(Lexer lexer, Node element)
        {
            TagCollection tt = lexer.Options.TagTable;

            if (lexer.CanPrune(element))
            {
                if (element.Type != TEXT_NODE)
                {
                    Report.Warning(lexer, element, null, Report.TRIM_EMPTY_ELEMENT);
                }

                DiscardElement(element);
            }
            else if (element.Tag == tt.TagP && element.Content == null)
            {
                /* replace <p></p> by <br><br> to preserve formatting */
                Node node = lexer.InferredTag("br");
                CoerceNode(lexer, element, tt.TagBr);
                InsertNodeAfterElement(element, node);
            }
        }