Лаборатория   информационных   технологий 


«Содержание»

Раздел III. Информационный Web-сервис

12. Новая версия программы WebCounter

   В предыдущем выпуске бюллетеня ЛИТ № 1 [42] была помещена заметка об учетной Web-системе (WebCounter) c инструкциями по созданию личного счетчика и обработке статистики посещения персональных Web-страниц. После вывода из эксплуатации машины Convex программа счетчика стала недоступна. В настоящее время подготовлена новая версия программы WebCounter на Linux-ферме. Сохранена общая идеология заведения и использования счетчика, сохранен формат обращения к счетчику, за исключением нового сетевого адреса PHP-программы.

   Примеры обращения к старому Convex-счетчику (1) и новому (2):

1. <img src=”http://cv.jinr.ru/~gvv/cgi-bin/counter.cgi&counter=NAME&id=ID”>

2. <img src=”http://cv.jinr.ru/~gvv/php/counter/counter.php&counter=NAME&id=ID”>

   Инструкция в электронном виде к сопровождению счетчика размещена на сайте JavaStation:

   http://dbserv.jinr.ru/js ,

   http://dbserv.jinr.ru/js/counter/counter.htm

В.В. Галактионов (galakt@jinr.ru)

13. Представление математических формул в Web-страницах

   Язык гипертекстовой разметки HTML до сих пор является практически единственной технологией для разработки WWW-приложений как основных средств представления данных в Интернет. Одним из первых результатов практического применения XML-технологий было появление языков для описания и представления нового типа данных, нетрадиционных для WWW: MathML (Mathematical Markup Language), CML (Chemical Markup Language), VML (Vector Markup Language), XFDL (Extensible Forms Description Language) и др. Проблемой для широкого внедрения таких языков в WWW было отсутствие достаточной XML-поддержки в стандартных Интернет-приложениях, главным образом в популярных Web-браузерах.

   В данной заметке речь будет идти о MathML как средстве представления математических формул в Web-страницах.

   Первый этап применения MathML — использование его в качестве промежуточного языка описания формул (например, в пакете для аналитических вычислений Mathematica и в экспериментальном браузере-редакторе Amaya.

   Ситуация изменилась в 2002 году в связи с появлением новых версий браузеров MS Internet Explorer и Netscape 7.0, в которых реализована поддержка языка MathML.

   В применении MathML надо различать две ситуации:

— просмотр “чужих” математических Web-страниц,
— создание собственных страниц.

Просмотр MathML

   Для MS IE, начиная с версии 5.5, необходима инсталляция специальной программы Mathplayer, которую автоматически может установить сам браузер при обнаружении в загруженной HTML-странице блоков MathML (режим plugins), либо ее может вручную установить сам пользователь, скачав с сайта http://www.w3.org/Math/. Это не представляет каких-либо трудностей для пользователя средней квалификации. На этом же сайте можно найти всю информацию об MathML, включая описание самого языка.

         Для браузера Netscape 7.0 ничего устанавливать не надо!

   Создание Web-страниц с MathML

   Первый этап — программирование формул на MathML. Можно использовать несколько методов:

— прямое программирование формул с использованием описания языка MathML (http://www.w3.org/Math/);
— использование генераторов, таких как: пакет “Mathematica” или редактор-браузер Amaya (http://www.w3.org/Amaya/);
— использование конвертеров, например WeM (http://mathosphere.net/outils/index.html) - на французском языке)
для преобразования формул из LaTeX в MathML. Программу конвертера можно “скачать” или использовать в он-лайн режиме (http://mathosphere.net/editeurml/WeM.html).

   Пример применения MathML можно найти также в публикации [1] и на сайте Java Station (http://dbserv.jinr.ru/js) в разделе XML (That’s simple!).

   Язык MathML построен по XML-технологии и для задания фрагментов формул используются свои теги.

   Пример описания простой формулы:

<math>
   <mi>x</mi>
   <mo>+</mo>
   <mn>3</mn>
</math>

   Второй этап — формирование Web-страницы, в которой надо поместить блок с описанием формулы. Здесь существуют несколько вариантов:

— универсальный способ: задание Web-страницы как XML-документа с применением стилевых таблиц XSL. Этот способ одинаково годится для двух браузеров: MS IE и Netscape;
— специальный режим для MS IE. Здесь явно указывается обращение к программе Mathplayer.

   Далее на примерах будут показаны два способа.

  1. Первый способ:

   Создание XML-документа

  <?xml version="1.0"?>
   <html xmlns="http://www.w3.org/1999/xhtml">
    <head>...</head>
    <body>
    <h1>Example</h1>
    ....
   <math xmlns="http://www.w3.org/1998/Math/MathML">
    <mi>x</mi><mo>+</mo><mn>3</mn>
    </math>
   </body>
    </html>

   Параметры xmlns указывают область имен тегов для двух языков: XHTML и MathML соответственно.

   Указание стилевых таблиц XSL

   Ссылка на стилевые таблицы задается во второй строке XML-документа:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"
href="http://www.w3.org/Math/XSL/mathml.xsl"?>

   Это вариант задания ссылки на файл со стилевыми таблицами на W3C-сервере. Это не всегда бывает оправдано, да и могут быть проблемы при использовании браузера MS IE (надо внимательно настраивать систему безопасности браузера). Более приемлемый вариант для XSL — это размещение их в том же месте, где формируется исходная Web-страница. При этом ссылка на файл XSL будет выглядеть так:

<?xml-stylesheet type="text/xsl" href="mathml.xsl"?>

   Файл стилевых таблиц может быть переписан с W3C-сервера по их вышеуказанной ссылке (http://www.w3.org/Math/XSL/mathml.xsl).

   Необходимо иметь в виду, что из mathml.xsl есть ссылки на дополнительные XSL-таблицы: ctop.xsl, pmathmlcss.xsl и pmathml.xsl, которые "скачиваются" аналогичным образом.

   Можно рекомендовать потенциальному пользователю скачать замечательный пакет testsuite.zip из (http://www.w3.org/Math/testsuite/), содержащий множество примеров построения математических конструкций на MathML, их демонстрации и набор XSL-таблиц.

   Важное замечание: построенная таким образом Web-страница должна быть записана как файл с расширением имени .xml

   2. Второй способ

   Это относится только к браузеру MS IE с установленной программой Mathplayer (см. выше). В этом случае в HTML-странице явно указывается обращение к Mathplayer.

   Пример:

<HTML XMLNS:m="http://www.w3.org/1998/Math/MathML">
<HEAD>
  <OBJECT
      ID=MathPlayer
      CLASSID="clsid:32F66A20-7614-11D4-BD11-00104BD3F987" >
  </OBJECT>
  <?IMPORT NAMESPACE="m" IMPLEMENTATION="#MathPlayer" ?>
</HEAD>

...
<p>Here is some math:
  <m:math>
   <m:msup>
      <m:mi>x</m:mi>
      <m:mn>2</m:mn>
   </m:msup>
   <m:mo>+</m:mo>
   <m:mn>9</m:mn>
   <m:mi>x</m:mi>
   <m:mo>+</m:mo>
   <m:mn>9</m:mn>
   <m:mo>=</m:mo>
   <m:mn>0</m:mn>
  </m:math>
</p>

   Полезные ссылки для изучения и применения MathML:

  1. Транслятор TtM (TeX to MathML). http://hutchinson.belmont.ma.us/tth/mml/
  2. Он-лайн транслятор TtM. http://hutchinson.belmont.ma.us/tth/mml/ttmform.html
  3. Демонстрация MathML. http://www.mathmlcentral.com/Tools/MSP/FromMathML
  4. Демонстрационный пакет testsuite. http://www.w3.org/Math/testsuite/overview.html
  5. Пакет MathType для MS Windows. http://www.dessci.com/en/products/mathtype/win/

   Литература

   1. Галактионов В.В. Расширяемый язык разметки XML (Extensible Mark-up Language): промышленный стандарт, определяющий архитектуру программных средств Интернет следующего поколения. Сообщение ОИЯИ, Р10-2000-44, Дубна, 2000.

 

В.В. Галактионов (galakt@jinr.ru)


«Содержание»