semicolons are valid in attribute values