Beispiel #1
0
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
	}
}
Beispiel #2
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
	}
}