Раньше я часто писал 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>