Web Creation - еженедельный сетевой журнал для вебмастеров

   
Математика + HTML = MathML

(По данным Консорциума W3C)
Информация взята с сайта Алексея Петюшкина

8 января 2001 года Консорциум W3C объявил о продвижении второй версии еще одного языка разметки - MathML (Mathematical Markup Language). Новый язык, описывая совокупность XML-функций, позволяет осуществлять в WWW многочисленные математические операции. Более точная формулировка возможностей MathML звучит следующим образом: MathML предназначен для облегчения использования и повторного использования математического и научного наполнения Сети, а также для различных приложений типа компьютерных алгебраических систем, типографского набора и голосового синтеза. MathML может использоваться с целью кодирования и представления математического содержания для последующей высококачественной визуальной интерпретации для приложений, в которых основную роль играет семантика.

Язык MathML, по спецификации Консорциума W3C, является ничем иным, как XML-приложением. В совокупности с таблицами стилей CSS, новый язык в конечном итоге позволит браузерам обрабатывать математические выражения. Уже в сейчас часть производителей могут предложить специальные апплеты и надстройки, с помощью которых конструкции MathML будут выполняться непосредственно в самом браузере. А в скором будущем появится программное обеспечение - переводчики и редакторы уравнений, - способные генерировать HTML-код на основе представленных математических данных на MathML.

Появление MathML обусловлено тем, что HTML, хотя и содержит довольно богатый набор тегов, не способен обрабатывать математические выражения. MathML состоит из множества XML-тегов, предназначенных для разметки уравнений в соответствии с их условиями. Математический язык разметки MathML направлен на фиксирование исходящих значений, нежели на фокусирование на том, что в результате решения будет отображено на экране. XML имеет много схожего с HTML и обладает подобным, однако не идентичным синтаксисом. Одно различие в том, что в XML нельзя пропускать закрывающие теги. Кроме того, теги элементов, не несущих никакого содержания, отмечаются наклонной чертой (слэш) перед последней угловой скобкой закрывающего тега.

MathML - стандарт, предназначенный для математического описания как основы коммуникативной цепочки "машина-машина". MathML не будет использоваться для ручного редактирования, а преподносится как инструмент управления специализированными средствами работы с авторским материалом (например, редакторы уравнений) и взаимодействия между различными математическими пакетами.

Чтобы представить, как с помощью MathML обрабатываются математические выражения, ниже приведу простой пример:

x2 + 4x + 4 = 0

Есть два способа решения этого уравнения. Первый использует теги представления (presentational tags), которые обычно начинаются с <m>, затем идет <o> для оператора <i> для идентификатора <n> и т.д. Тег <mrow> указывает на горизонтальную групповую иерархию:

<mrow>
  <mrow>
        <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo>
            <mrow>
              <mn>4</mn>
              <mo>&invisibletimes;</mo>
              <mi>x</mi>
            </mrow>
    <mo>+</mo>
    <mn>4</mn>
  </mrow>
    <mo>=</mo>
    <mn>0</mn>
</mrow>

Другой вариант - применение семантических тегов:

<apply>
        <plus/>
        <apply>
            <power/>
            <ci>x</ci>
            <cn>2</cn>
        </apply>
        <apply>
            <times/>
            <cn>4</cn>
            <ci>x</ci>
        </apply>
       <cn>4</cn>
</apply>

В качестве примера программного обеспечения, поддерживающего MathML 2.0, можно назвать W3C Amaya browser, DSSSL stylesheets for MathML, IBM techexplorer, MathType и другие (полный перечень ПО для MathML можно найти здесь).

Более подробную информацию о математическом языке разметки MathML, а также ссылки на прочие Интернет-ресурсы, посвященные этому стандарту, названия и адреса тематических форумов и прочие материалы можно найти на сервере Консорциума W3C.

Информация взята с сайта Алексея Петюшкина

 

© журнал принадлежит Web Creation
по всем вопросам обращаться А. Кузьмин