mirror of
https://github.com/nim-lang/Nim.git
synced 2026-06-11 22:28:12 +00:00
further improvements for the HTML parser
This commit is contained in:
@@ -152,7 +152,7 @@ const
|
||||
tagOl, tagP, tagPre, tagTable, tagUl, tagCenter, tagDir, tagIsindex,
|
||||
tagMenu, tagNoframes}
|
||||
SingleTags* = {tagArea, tagBase, tagBasefont,
|
||||
tagBr, tagCol, tagFrame, tagHr, tagImg, tagInput, tagIsindex,
|
||||
tagBr, tagCol, tagFrame, tagHr, tagImg, tagIsindex,
|
||||
tagLink, tagMeta, tagParam}
|
||||
|
||||
Entities = [
|
||||
@@ -276,7 +276,7 @@ proc untilElementEnd(x: var TXmlParser, result: PXmlNode,
|
||||
case x.kind
|
||||
of xmlElementStart, xmlElementOpen:
|
||||
case result.htmlTag
|
||||
of tagLi, tagP, tagDt, tagDd, tagOption:
|
||||
of tagLi, tagP, tagDt, tagDd, tagInput, tagOption:
|
||||
if htmlTag(x.elementName) notin InlineTags:
|
||||
# some tags are common to have no ``</end>``, like ``<li>``:
|
||||
errors.add(expected(x, result))
|
||||
@@ -285,6 +285,10 @@ proc untilElementEnd(x: var TXmlParser, result: PXmlNode,
|
||||
if htmlTag(x.elementName) in {tagTr, tagTd, tagTh}:
|
||||
errors.add(expected(x, result))
|
||||
break
|
||||
of tagOptgroup:
|
||||
if htmlTag(x.elementName) in {tagOption, tagOptgroup}:
|
||||
errors.add(expected(x, result))
|
||||
break
|
||||
else: nil
|
||||
result.addNode(parse(x, errors))
|
||||
of xmlElementEnd:
|
||||
|
||||
Reference in New Issue
Block a user