The flat token stream: start tags with attributes, end tags, and text. Tag soup is salvaged, never rejected. Use parse for a tree; callers that need HTML's implied end tags fold the tokens themselves.