equal
deleted
inserted
replaced
243 final Name treeName = tree.getName(); |
243 final Name treeName = tree.getName(); |
244 final HtmlTag t = HtmlTag.get(treeName); |
244 final HtmlTag t = HtmlTag.get(treeName); |
245 if (t == null) { |
245 if (t == null) { |
246 env.messages.error(HTML, tree, "dc.tag.unknown", treeName); |
246 env.messages.error(HTML, tree, "dc.tag.unknown", treeName); |
247 } else { |
247 } else { |
|
248 boolean done = false; |
248 for (TagStackItem tsi: tagStack) { |
249 for (TagStackItem tsi: tagStack) { |
249 if (tsi.tag.accepts(t)) { |
250 if (tsi.tag.accepts(t)) { |
250 while (tagStack.peek() != tsi) tagStack.pop(); |
251 while (tagStack.peek() != tsi) tagStack.pop(); |
251 break; |
252 done = true; |
252 } else if (tsi.tag.endKind != HtmlTag.EndKind.OPTIONAL) |
253 break; |
253 break; |
254 } else if (tsi.tag.endKind != HtmlTag.EndKind.OPTIONAL) { |
|
255 done = true; |
|
256 break; |
|
257 } |
|
258 } |
|
259 if (!done && HtmlTag.BODY.accepts(t)) { |
|
260 tagStack.clear(); |
254 } |
261 } |
255 |
262 |
256 checkStructure(tree, t); |
263 checkStructure(tree, t); |
257 |
264 |
258 // tag specific checks |
265 // tag specific checks |