func (z *TokenBuffer) read(t *Token) { t.TokenType, t.Data, t.n = z.l.Next() if t.TokenType == html.AttributeToken { t.AttrVal = z.l.AttrVal() t.Hash = html.ToHash(t.Data) t.Traits = attrMap[t.Hash] } else if t.TokenType == html.StartTagToken || t.TokenType == html.EndTagToken { t.AttrVal = nil t.Hash = html.ToHash(t.Data) t.Traits = tagMap[t.Hash] } else { t.AttrVal = nil t.Hash = 0 t.Traits = 0 } }
func (z *TokenBuffer) read(t *Token) { t.TokenType, t.Data = z.l.Next() t.Text = z.l.Text() if t.TokenType == html.AttributeToken { t.AttrVal = z.l.AttrVal() if len(t.AttrVal) > 1 && (t.AttrVal[0] == '"' || t.AttrVal[0] == '\'') { t.AttrVal = parse.TrimWhitespace(t.AttrVal[1 : len(t.AttrVal)-1]) // quotes will be readded in attribute loop if necessary } t.Hash = html.ToHash(t.Text) t.Traits = attrMap[t.Hash] } else if t.TokenType == html.StartTagToken || t.TokenType == html.EndTagToken { t.AttrVal = nil t.Hash = html.ToHash(t.Text) t.Traits = tagMap[t.Hash] } else { t.AttrVal = nil t.Hash = 0 t.Traits = 0 } }