2015-02-13 4 views
3

Я хочу использовать проект JSoup для проверки фрагментов html. Все, что я действительно хочу знать, является ли фрагмент действительным HTML или нет. JSoup возвращает ошибки, если на парсере установлен флаг. Но когда я бег анализатора на этом фрагменте:Java JSoup: что означает это сообщение?

"This is a <br/> test" 

Я получаю сообщение об ошибке «закрывающего флага Самих не признанные» я не знаю, что это значит, или он действительно предназначен, чтобы быть ошибкой , так как класс ParseError имеет только два свойства, текст и позицию ошибки.

Кроме того, это кажется непоследовательным. Это, например, в порядке:

"This is a <br> test" 

Это также хорошо:

"<br/> This is a test" 

Ключ к генерации этого сообщения об ошибке, как представляется, обычный текст, появляющийся перед
тег с самозакрывания в теге (<br/>).

Кто-нибудь знает, что именно означает это сообщение и почему это ошибка, а не предупреждение и почему это поведение?

Благодаря

ответ

0

ошибка Self closing flag not acknowledged немного загадочная - она ​​определяется, как в спецификации HTML5. Фактическая ошибка в HTML заключается в том, что тег br не должен иметь завершающий /. HTML5 не XML и пустые теги были правильно написаны, как <br>, <img>, не как <br />, <image /> и т.д.

Текст ошибки означает, что анализатор «не признают» слэш как полезный маркер.

Что вы не видите ошибку, сгенерированную, когда тег br находится в начале строки, выглядит как ошибка.

Смежные вопросы