Как браузеры справляются с искаженным HTML? - PullRequest
1 голос
/ 02 декабря 2011

У меня есть коллекция документов, которые я пытаюсь разобрать. Как и HTML, они довольно хорошо структурированы и имеют сложный синтаксис / грамматику. Как и HTML, многие документы не полностью соответствуют требуемому синтаксису.

У меня вопрос: какие общие стратегии используют браузеры и библиотеки синтаксического анализа HTML / XML при анализе документов, которые строго не соответствуют правильному синтаксису? Кажется, они хорошо справляются с неуместными или отсутствующими метками. И я уверен, что есть и другие ситуации, такие как теги с ошибками, неправильные атрибуты и т. Д., С которыми нужно иметь дело, а не просто игнорировать.

Ответы [ 3 ]

3 голосов
/ 02 декабря 2011

Неверный или неправильный HTML-код называется «теговый суп». Браузерам приходится иметь дело с этим и делать это по-разному в зависимости от браузера (IE, Firefox, Chrome и т. Д.), Но вот хорошая статья о супе тегов и некоторых общих стратегиях:

http://en.wikipedia.org/wiki/Tag_soup

2 голосов
/ 02 декабря 2011

Говоря коротко:

  • в XML любая ошибка в коде прекращает процесс синтаксического анализа - так называемая " драконовская обработка ошибок "

  • в XHTML , как и в любом документе на основе XML - ошибка равна окончанию

  • в HTML - браузер пытается отобразить столько, сколько может

0 голосов
/ 02 декабря 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...