Как заставить Eclipse не помечать код MathML в документах XHTML5 как ошибочный? - PullRequest
0 голосов
/ 20 января 2019

Раньше я часто писал HTML-код, используя Eclipse с Web Developer Tools. Я был очень доволен этим, потому что он интерпретирует объявление doctype и помечает ошибку в зависимости от него.

Например, он помечает конструкции как ошибочные, которые запрещены в XHTML5, но разрешены в HTML5 (например, отсутствуют конечные теги), если документ XHTML5, но не помечает их, если документ HTML5.

Теперь я хотел бы написать документ XHTML5, который включает MathML. Я провел довольно обширное исследование и выяснил, что правильный способ сделать это - использовать объявление doctype и использовать атрибуты пространства имен, как показано в примере ниже (обратите внимание, что я знаю, что объявление doctype здесь необязательно, но это не так. больно и не имеет отношения к моей проблеме).

Однако у меня есть две проблемы:

  • При подаче документа в Firefox (текущая версия) как application/xhtml+xml, Firefox показывает ожидаемый результат, то есть текст Square root of two:, за которым следует цифра 2 , заключенная в математический символ для квадратный корень . Однако ни Chrome (текущая версия), ни IE 11 (исправленный со всеми доступными на данный момент исправлениями) не показывают символ квадратного корня. Они просто показывают текст Square root of two: 2.

  • Eclipse помечает три последовательные строки исходного файла как ошибочные: в строке с открывающим тегом <math> написано Undefined attribute name (xmlns). В строке с открывающим тегом <msqrt> написано Unknown tag (msqrt). , В строке с элементом <mn> написано Unknown tag (mn)..

Как я могу изменить документ, чтобы он работал должным образом в основных браузерах (меня интересуют только текущие версии - нет необходимости в FF 2 или IE 9), и как я могу заставить Eclipse не отображать эти ошибки

Я действительно провел длительные исследования, а также провел несколько экспериментов (исключая тип документа и т. Д.), Но безрезультатно. Может ли кто-нибудь помочь мне там?

В заключение, мне действительно нужен XHTML5, а не "нормальные" документы HTML5. Я не хотел бы, чтобы этот вопрос вызвал дискуссию о том, что лучше. Я просто должен принять определенные вещи такими, какие они есть.

Документ, о котором идет речь:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">

<head>
  <meta charset="UTF-8" />
  <title>Test</title>
</head>

<body>

<p>
  Square root of two:
  <math xmlns="http://www.w3.org/1998/Math/MathML">
    <msqrt>
      <mn>2</mn>
    </msqrt>
  </math>
</p>

</body>

</html>
...