diff --git a/src/main/java/helma/util/HtmlEncoder.java b/src/main/java/helma/util/HtmlEncoder.java index a95a92ed..442b402e 100644 --- a/src/main/java/helma/util/HtmlEncoder.java +++ b/src/main/java/helma/util/HtmlEncoder.java @@ -175,14 +175,19 @@ public final class HtmlEncoder { static { // actual block level elements semiBlockTags.add("address"); - semiBlockTags.add("dir"); - semiBlockTags.add("div"); - semiBlockTags.add("table"); - + blockTags.add("article"); + blockTags.add("aside"); blockTags.add("blockquote"); - blockTags.add("center"); + blockTags.add("details"); + blockTags.add("dialog"); + blockTags.add("dd"); + semiBlockTags.add("div"); blockTags.add("dl"); + blockTags.add("dt"); blockTags.add("fieldset"); + blockTags.add("figcaption"); + blockTags.add("figure"); + blockTags.add("footer"); blockTags.add("form"); blockTags.add("h1"); blockTags.add("h2"); @@ -190,27 +195,31 @@ public final class HtmlEncoder { blockTags.add("h4"); blockTags.add("h5"); blockTags.add("h6"); + blockTags.add("header"); + blockTags.add("hgroup"); blockTags.add("hr"); - blockTags.add("isindex"); + blockTags.add("li"); + blockTags.add("main"); + blockTags.add("nav"); blockTags.add("ol"); blockTags.add("p"); blockTags.add("pre"); + blockTags.add("section"); + semiBlockTags.add("table"); blockTags.add("ul"); + // additional semi/block elements + blockTags.add("br"); + blockTags.add("center"); + semiBlockTags.add("dir"); + blockTags.add("frameset"); + blockTags.add("isindex"); + blockTags.add("td"); + semiBlockTags.add("th"); + internalTags.add("menu"); internalTags.add("noframes"); internalTags.add("noscript"); - - /// to be treated as block level elements - semiBlockTags.add("th"); - - blockTags.add("br"); - blockTags.add("dd"); - blockTags.add("dt"); - blockTags.add("frameset"); - blockTags.add("li"); - blockTags.add("td"); - internalTags.add("tbody"); internalTags.add("tfoot"); internalTags.add("thead"); @@ -221,19 +230,27 @@ public final class HtmlEncoder { static final HashSet emptyTags = new HashSet(); static { + // actual empty elements emptyTags.add("area"); emptyTags.add("base"); - emptyTags.add("basefont"); emptyTags.add("br"); emptyTags.add("col"); - emptyTags.add("frame"); + emptyTags.add("embed"); emptyTags.add("hr"); emptyTags.add("img"); emptyTags.add("input"); - emptyTags.add("isindex"); + emptyTags.add("keygen"); emptyTags.add("link"); emptyTags.add("meta"); emptyTags.add("param"); + emptyTags.add("source"); + emptyTags.add("track"); + emptyTags.add("wbr"); + + // Obsolete or deprecated + emptyTags.add("basefont"); + emptyTags.add("frame"); + emptyTags.add("isindex"); } static final byte TAG_NAME = 0; @@ -470,7 +487,7 @@ public final class HtmlEncoder { int _entering = entering == SEMIBLOCK ? TEXT : entering; for (int k = linebreaks-1; k>=0; k--) { if (k >= swallowBreaks && k >= _entering && k >= exiting) { - ret.append("
"); + ret.append("
"); } ret.append(newLine); }