8000 several end tags now imply start tags · html5lib/html5lib-python@a55aab4 · GitHub
[go: up one dir, main page]

Skip to content

Commit a55aab4

Browse files
committed
several end tags now imply start tags
--HG-- extra : convert_revision : svn%3Aacbfec75-9323-0410-a652-858a13e371e0/trunk%40783
1 parent 0dbe154 commit a55aab4

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

src/html5parser.py

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -482,8 +482,7 @@ def __init__(self, parser, tree):
482482
self.startTagHandler.default = self.startTagOther
483483

484484
self.endTagHandler = utils.MethodDispatcher([
485-
("html", self.endTagHtml),
486-
("br", self.endTagEmptyElement)
485+
(("html", "head", "body", "br"), self.endTagImplyHead)
487486
])
488487
self.endTagHandler.default = self.endTagOther
489488

@@ -504,11 +503,7 @@ def startTagOther(self, name, attributes):
504503
self.startTagHead("head", {})
505504
self.parser.phase.processStartTag(name, attributes)
506505

507-
def endTagHtml(self, name):
508-
self.startTagHead("head", {})
509-
self.parser.phase.processEndTag(name)
510-
511-
def endTagEmptyElement(self, name):
506+
def endTagImplyHead(self, name):
512507
self.startTagHead("head", {})
513508
self.parser.phase.processEndTag(name)
514509

@@ -532,8 +527,7 @@ def __init__(self, parser, tree):
532527

533528
self. endTagHandler = utils.MethodDispatcher([
534529
("head", self.endTagHead),
535-
("html", self.endTagHtml),
536-
("br", self.endTagEmptyElement),
530+
(("html", "body", "br"), self.endTagImplyAfterHead),
537531
(("title", "style", "script"), self.endTagTitleStyleScript)
538532
])
539533
self.endTagHandler.default = self.endTagOther
@@ -612,7 +606,7 @@ def endTagHead(self, name):
612606
self.parser.parseError(_(u"Unexpected end tag (head). Ignored."))
613607
self.parser.phase = self.parser.phases["afterHead"]
614608

615-
def endTagHtml(self, name):
609+
def endTagImplyAfterHead(self, name):
616610
self.anythingElse()
617611
self.parser.phase.processEndTag(name)
618612

@@ -623,10 +617,6 @@ def endTagTitleStyleScript(self, name):
623617
self.parser.parseError(_(u"Unexpected end tag (" + name +\
624618
"). Ignored."))
625619

626-
def endTagEmptyElement(self, name):
627-
self.anythingElse()
628-
self.parser.phase.processEndTag(name)
629-
630620
def endTagOther(self, name):
631621
self.parser.parseError(_(u"Unexpected end tag (" + name +\
632622
"). Ignored."))

0 commit comments

Comments
 (0)
0