| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | // Copyright 2011 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package html// Section 12.2.3.2 of the HTML5 specification says "The following elements// have varying levels of special parsing rules".// https://html.spec.whatwg.org/multipage/syntax.html#the-stack-of-open-elementsvar isSpecialElementMap = map[string]bool{	"address":    true,	"applet":     true,	"area":       true,	"article":    true,	"aside":      true,	"base":       true,	"basefont":   true,	"bgsound":    true,	"blockquote": true,	"body":       true,	"br":         true,	"button":     true,	"caption":    true,	"center":     true,	"col":        true,	"colgroup":   true,	"dd":         true,	"details":    true,	"dir":        true,	"div":        true,	"dl":         true,	"dt":         true,	"embed":      true,	"fieldset":   true,	"figcaption": true,	"figure":     true,	"footer":     true,	"form":       true,	"frame":      true,	"frameset":   true,	"h1":         true,	"h2":         true,	"h3":         true,	"h4":         true,	"h5":         true,	"h6":         true,	"head":       true,	"header":     true,	"hgroup":     true,	"hr":         true,	"html":       true,	"iframe":     true,	"img":        true,	"input":      true,	"isindex":    true,	"li":         true,	"link":       true,	"listing":    true,	"marquee":    true,	"menu":       true,	"meta":       true,	"nav":        true,	"noembed":    true,	"noframes":   true,	"noscript":   true,	"object":     true,	"ol":         true,	"p":          true,	"param":      true,	"plaintext":  true,	"pre":        true,	"script":     true,	"section":    true,	"select":     true,	"source":     true,	"style":      true,	"summary":    true,	"table":      true,	"tbody":      true,	"td":         true,	"template":   true,	"textarea":   true,	"tfoot":      true,	"th":         true,	"thead":      true,	"title":      true,	"tr":         true,	"track":      true,	"ul":         true,	"wbr":        true,	"xmp":        true,}func isSpecialElement(element *Node) bool {	switch element.Namespace {	case "", "html":		return isSpecialElementMap[element.Data]	case "svg":		return element.Data == "foreignObject"	}	return false}
 |