private void endTagTemplateInHead() throws SAXException { int eltPos = findLast("template"); if (eltPos == TreeBuilder.NOT_FOUND_ON_STACK) { errStrayEndTag("template"); return; } generateImpliedEndTagsThoroughly(); if (errorHandler != null && !isCurrent("template")) { errUnclosedElements(eltPos, "template"); } while (currentPtr >= eltPos) { pop(); } clearTheListOfActiveFormattingElementsUpToTheLastMarker(); popTemplateMode(); resetTheInsertionMode(); }
private void endTagTemplateInHead() throws SAXException { int eltPos = findLast("template"); if (eltPos == TreeBuilder.NOT_FOUND_ON_STACK) { errStrayEndTag("template"); return; } generateImpliedEndTagsThoroughly(); if (errorHandler != null && !isCurrent("template")) { errUnclosedElements(eltPos, "template"); } while (currentPtr >= eltPos) { pop(); } clearTheListOfActiveFormattingElementsUpToTheLastMarker(); popTemplateMode(); resetTheInsertionMode(); }
case TBODY_OR_THEAD_OR_TFOOT: if (findLastInTableScope(name) == TreeBuilder.NOT_FOUND_ON_STACK) { errStrayEndTag(name); break endtagloop; case HTML: case TD_OR_TH: errStrayEndTag(name); break endtagloop; default: eltPos = findLastOrRoot(name); if (eltPos == 0) { errStrayEndTag(name); break endtagloop; if (eltPos == 0) { assert fragment; errStrayEndTag(name); break endtagloop; case TD_OR_TH: case TR: errStrayEndTag(name); break endtagloop; default: if (eltPos == TreeBuilder.NOT_FOUND_ON_STACK) { assert fragment;
if (stack[currentPtr].name != name) { if (currentPtr == 0) { errStrayEndTag(name); } else { errEndTagDidNotMatchCurrentOpenElement(name, stack[currentPtr].popName); errStrayEndTag(name); break endtagloop; case TBODY_OR_THEAD_OR_TFOOT: if (findLastInTableScope(name) == TreeBuilder.NOT_FOUND_ON_STACK) { errStrayEndTag(name); break endtagloop; case HTML: case TD_OR_TH: errStrayEndTag(name); break endtagloop; default: eltPos = findLastOrRoot(name); if (eltPos == 0) { errStrayEndTag(name); break endtagloop; if (eltPos == 0 || stack[eltPos].getGroup() == TEMPLATE) { assert fragment || isTemplateContents(); errStrayEndTag(name); break endtagloop;
if (stack[currentPtr].name != name) { if (currentPtr == 0) { errStrayEndTag(name); } else { errEndTagDidNotMatchCurrentOpenElement(name, stack[currentPtr].popName); errStrayEndTag(name); break endtagloop; case TBODY_OR_THEAD_OR_TFOOT: if (findLastInTableScope(name) == TreeBuilder.NOT_FOUND_ON_STACK) { errStrayEndTag(name); break endtagloop; case HTML: case TD_OR_TH: errStrayEndTag(name); break endtagloop; default: eltPos = findLastOrRoot(name); if (eltPos == 0) { errStrayEndTag(name); break endtagloop; if (eltPos == 0 || stack[eltPos].getGroup() == TEMPLATE) { assert fragment || isTemplateContents(); errStrayEndTag(name); break endtagloop;