(перевод статьи "Putting mathematics on the Web with MathML")
В этой статье Вы узнаете, как включать MathML в веб-страницы для просмотра в большинстве современных браузеров. Вы также узнаете, как настроить браузеры для поддержки MathML. На настоящий момент веб-страницы, созданные с использованием описанной ниже техники, можно просматривать в следующих браузерах (знак '+' означает, что более новые версии тоже работают):
Для тестирование своего браузера загрузите простой пример, использующий Presentation MathML, или более сложный пример, демонстрирующий Content MathML (генерация страницы может занять некоторое время).
Руководство предназначено для авторов веб-страниц, желающих включить в них математические формулы, а также для тех, кто хочет читать такие страницы.
Подробное техническое описание происходящего можно посмотреть на странице, посвященной XSLT-таблицам для MathML. Смотрите также слайды с выступления David'а Carlisle на конференции, посвященной MathML.
Чтобы документ можно было просмотреть на максимальном числе платформ, он должен быть написан по описанным ниже правилам. Заметьте, что при использовании редактора, следующего стандартам W3C (например, Amaya), все описанное произойдет автоматически.
Веб-страница должна быть написана в формате XHTML со встроенной в нее разметкой MathML. Например:
<?xml version="1.0"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head>...</head> <body> <h1>Пример</h1> .... <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>x</mi><mo>+</mo><mn>3</mn> </math> </body> </html>
Разметка MathML не должна находиться внутри тэга <object>
и не должна быть в отдельном файле, подключаемом из тэга
<embed>
.
Выделенную жирным шрифтом строку нужно вставить в начало XHTML-страницы,
перед открытием тэга <html>
, но после XML-объявления
<?xml...?>
(если оно есть, конечно):
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://www.w3.org/Math/XSL/mathml.xsl"?> <html xmlns="http://www.w3.org/1999/xhtml"> ...
Это будет работать не во всех случаях (Например, Internet Explorer, в связи с обеспечением безопасности, не позволяет выполнять XSLT-таблицу, если она находится на сервере, отличном от сервера с XHTML-страницей. В этом случае следуйте инструкциям в пункте "Режим оффлайн" (ниже). Также в конце документа есть дополнительная информация о безопасности в Internet Explorer). Поэтому есть альтернативы:
Режим оффлайн: Чтобы документ с формулами можно было просматривать локально, без интернет-соедининия, объявление должно выглядеть иначе:
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?>
И копии следующих файлов нужно поместить на локальный компьютер, вместе с основным документом: mathml.xsl, pmathml.xsl, ctop.xsl and pmathmlcss.xsl.
Presentation MathML: если в документе используется
только Presentation
MathML, то достаточно только двух файлов: pmathml.xsl
и
pmathml-css.xsl
. В этом случае страница будет обрабатываться
быстрее.
Вот и все. Дополнительную информацию смотрите ниже.
Возможна ситуация, когда в браузере есть несколько способов обработать
разметку MathML (например, Internet Explorer с плагином Techexplorer
может еще отображать формулы с помощью CSS). Для таких случаев предоставляется
возможность указать предпочтительный метод обработки, изменяя значение
атрибута renderer
. Например:
<?xml-stylesheet type="text/xsl" href="pmathml.xsl"?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" pref:renderer="css"> <head>...</head> <body>...</body> </html>
Здесь указывается, что предпочтителен метод с использованием CSS.
Значения атрибута renderer
:
css
: отображать формулы с помощью CSS (плагин не требуется).
mathplayer-dl
: в случае необходимости запросить
установку плагина MathPlayer.mathplayer
: использовать MathPlayer.techexplorer-plugin
: использовать плагин Techexplorer.techexplorer
: использовать Techexplorer.По умолчанию, Internet Explorer не позволяет применять XSLT-таблицу к документу, если она находится на сервере, отличном от сервера с документом. Поэтому так работать не будет:
<?xml-stylesheet type="text/xsl"
href="http://www.w3.org/Math/XSL/mathml.xsl"?>
Вместо этого необходимо скопировать таблицы стилей на тот же сервер, где находится документ (как описано выше). В качестве альтернативы можно изменить настройки безопасности Internet Explorer, но такой способ нельзя порекомендовать, так как изменение настроек повлияет на всю работу браузера, а не только на загрузку таблицы стилей.
Эта таблица стилей была представлена на 2-ой Международной MathML конференции. Там были продемонстрированы примеры использования таблиц стилей для просмотра в полноэкранном режиме браузера. Для показа примеров одновременно использовались IE6, Mozilla 1.0, Amaya 6.1, и Netscape 7.0PR1.
В дополнение к MathML был также продемонстрирован небольшой пример расширения этой таблицы стилей для использования с SVG.
The W3C Math Working Group. Send comments, questions and fixes to www-math@w3.org
Translated by Alexey Shamrin