XML плохо сформирован в doctype в Firefox и Edge
Я получаю сообщение об ошибке "XML не правильно сформирован" на моей веб-странице в консолях разработчика Firefox и Edge. Хром отлично работает и ничего не показывает. Сообщение об ошибке указывает, что за это отвечает объявление XML или тип документа. Вот что я использую:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Однако каждый браузер и онлайн-XML-парсер указывают на разные позиции, поэтому я не уверен, где именно лежит ошибка. Например, Edge дает мне строку 1, столбец 68, тогда как Firefox указывает на столбец 84. Соответствующую страницу можно найти по адресу https://dev.heco.de/. Приведенный выше фрагмент создан CMS, которую мы используем, TYPO3. Хотя мы все еще застряли с устаревшей версией, я проверил фрагмент текущей версии, и он точно такой же.
Я знаю, что такого рода вопросы были опубликованы ранее, и я прочитал и попробовал ответы, увы, ни один из них не работал для меня. Вот что я пробовал до сих пор:
- перешел с xml версии 1.1 на версию 1.0, ошибка сохраняется
- переключено с двойных кавычек на одинарные
- опущены цитаты полностью
- попытался использовать HTML5 вместо
- полностью опущено объявление xml
- попытался использовать XHTML переходный вместо строгого
Ничто из вышеперечисленного не исправило ошибку, поэтому я и публикую это. Так как я действительно не могу сузить ошибку, я был бы очень благодарен за любой совет или понимание.
1 ответ
Действительность - это не только заголовок, но и сгенерированный HTML.
Если у вас есть смешанный контент из XHTML, html4 и html5 ни одно объявление не будет соответствовать контенту.
Как предложил @Quentin: получите более подробный анализ с validator.w3.org. Тогда вы можете определить источник недействительности.
Вероятность высока, если вы используете другие шаблоны (маркер-шаблоны / чистый Typoscript-рендеринг, где HTML добавляется обертками), что у вас будет смесь версий html/xhtml.
Жидкостные шаблоны по умолчанию в основном соответствуют html5.