"Залетные" параметра "DOCTYPE" об ошибке в окне просмотра исходного кода в Firefox


С тех пор, как я научился использовать страницы XHTML в качестве XML, я начал замечать кое-что странное: всякий раз, когда я просматриваю страницу XHTML в окне просмотра исходного кода Firefox, DOCTYPE всегда помечается как ошибка. Согласно подсказке, которую я получаю от наведения на нее, рассматриваемая ошибка - это "случайный доктип". Из того, что я понимаю, "случайный доктип" означает, что есть дополнительный ДОКТИП в середине документа, где он не принадлежит, что, конечно, не так.

Вот пример-эта разметка пройдет валидацию и корректно отобразится во всех современных браузерах:

<?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">
<!--FF source viewer will mark the preceding two lines as an error.-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <meta http-equiv="content-type"
      content="application/xhtml+xml; charset=utf-8" />
    <title>Sample XHTML Page</title>
  </head>
  <body>
    <p>This is an example.</p>
  </body>
</html>

Это сообщение об ошибке особенно странно, учитывая, что эти страницы проходят проверку идеально, и что одна ошибка синтаксического анализа обычно ломает страницу.

1 9

1 ответ:

Я являюсь разработчиком этой функции. Вы нашли ошибку. (подано только что .) Спасибо.

Подсветка синтаксиса источника представления основана на синтаксическом анализаторе HTML, потому что наш синтаксический анализатор XML не подходит для этой цели, и XML достаточно редок, чтобы не было смысла вкладывать ресурсы в реализацию правильного источника представления XML. Следовательно, исходная функция XML-представления-это хак на HTML-синтаксическом анализаторе, и этот аспект работает не совсем правильно.