Может ли возникнуть ошибка валидации HTML, созданного динамически?

Вообще, этот вопрос возник в связи с необходимостью пихать наш HTML-код в EPUB3.

Вот у меня, например, XHTML-валидный файл, который можно класть в EPUB-контейнер.
А еще к нему прилагается js-скрипт, который на лету ковыряет DOM. И он может лажать в плане автозакрытия одиночных тегов или использования несуществующих атрибутов.

С одной стороны, валидации HTML-файла это не мешает. С другой стороны, во время исполнения - что может произойти? А какова вообще политика на этот счёт? В рантайме, так сказать, браузеров и движков EPUB-ридеров?

Например, если я не экранирую & в &amp; в XHTML-файле - это ошибка, а если я динамически вставляю & - это тоже ошибка? Или забываю закрывающий тег? Или использую <br> вместо <br />?
  • Вопрос задан
  • 2335 просмотров
Пригласить эксперта
Ответы на вопрос 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Покажите мне сайт, на котором документ отдаётся с заголовком application/xml+xhtml.
Если заголовок text/html, это значит, что ваши муки с синтаксисом XML абсолютно напрасны.

Это не экранирование, а entities
&amp;
Я могу написать
&#38;
или
&#x26;
это тоже entities.
Ошибки парсинга не случится ни при &, на при <, ни при >, но лучше таки писать текст с entites вместо & < > " ' просто потому, что он может использоваться не только на сайте, но и там, где есть XML.

Скрипт, лажающий с закрытием тэгов при вставке строк с помощью innerHTML — это проблема серьёзная, и XML тут не причём. Представьте, что ссылку такой скрипт не закроет. Поэтому генерацию строкового контента с последующим скармливанием парсеру лучше не стоит делать. Для безошибочной вставки есть DOM-методы. Пусть они частенько более медленные, но надёжные.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы