@@ -865,6 +865,12 @@ def doctypePublicIdentifierDoubleQuotedState(self):
865865data = self .stream .char ()
866866if data == "\" " :
867867self .state = self .states ["afterDoctypePublicIdentifier" ]
868+ elif data == ">" :
869+ self .tokenQueue .append ({"type" :"ParseError" ,"data" :
870+ "unexpected-end-of-doctype" })
871+ self .currentToken ["correct" ]= False
872+ self .tokenQueue .append (self .currentToken )
873+ self .state = self .states ["data" ]
868874elif data == EOF :
869875self .tokenQueue .append ({"type" :"ParseError" ,"data" :
870876"eof-in-doctype" })
@@ -879,6 +885,12 @@ def doctypePublicIdentifierSingleQuotedState(self):
879885data = self .stream .char ()
880886if data == "'" :
881887self .state = self .states ["afterDoctypePublicIdentifier" ]
888+ elif data == ">" :
889+ self .tokenQueue .append ({"type" :"ParseError" ,"data" :
890+ "unexpected-end-of-doctype" })
891+ self .currentToken ["correct" ]= False
892+ self .tokenQueue .append (self .currentToken )
893+ self .state = self .states ["data" ]
882894elif data == EOF :
883895self .tokenQueue .append ({"type" :"ParseError" ,"data" :
884896"eof-in-doctype" })
@@ -946,6 +958,12 @@ def doctypeSystemIdentifierDoubleQuotedState(self):
946958data = self .stream .char ()
947959if data == "\" " :
948960self .state = self .states ["afterDoctypeSystemIdentifier" ]
961+ elif data == ">" :
962+ self .tokenQueue .append ({"type" :"ParseError" ,"data" :
963+ "unexpected-end-of-doctype" })
964+ self .currentToken ["correct" ]= False
965+ self .tokenQueue .append (self .currentToken )
966+ self .state = self .states ["data" ]
949967elif data == EOF :
950968self .tokenQueue .append ({"type" :"ParseError" ,"data" :
951969"eof-in-doctype" })
@@ -960,6 +978,12 @@ def doctypeSystemIdentifierSingleQuotedState(self):
960978data = self .stream .char ()
961979if data == "'" :
962980self .state = self .states ["afterDoctypeSystemIdentifier" ]
981+ elif data == ">" :
982+ self .tokenQueue .append ({"type" :"ParseError" ,"data" :
983+ "unexpected-end-of-doctype" })
984+ self .currentToken ["correct" ]= False
985+ self .tokenQueue .append (self .currentToken )
986+ self .state = self .states ["data" ]
963987elif data == EOF :
964988self .tokenQueue .append ({"type" :"ParseError" ,"data" :
965989"eof-in-doctype" })