Refactor attribute parsing.

Signed-off-by: John McCutchan <john@johnmccutchan.com>