while (local.kind != start_kind) {
switch (local.kind) {
case T_ATTRIBUTE_EREF:
pushState(ENTITYREF);
attribute.append(new Characters(p_entityref_data()));
popState();
break;
case T_ATTRIBUTE_EXPR:
pushState(EXPRESSION);
attribute.append(new Expression(p_expression_data()));
popState();
break;
default:
attribute.append(new Characters(local.image));
break;
}
local = getNextToken(expect);
}
popState();