на идентификатор или переменную, а отметка MN - на номер. Другие отметки обоз
начают схему размещения. Каждая схема размещения содержит определенное число
подвыражений в сторогом порядке. Например,MSUP схема должна содержать в точ
ности два подвыражения.
< x = (-b + - sqrt( b ^ 2 - 4ac)) / 2a >
<MROW>
<MI>x</MI>
<MO>=</MO>
<MFRAC>
<MROW>
<MROW>
<MO>-</MO>
<MI>b</MI>
</MROW>
<MO>&PlusMinus</MO>
<SQRT>
<MROW>
<MSUP>
<MI>b</MI>
<MN>2</MN>
</MSUP>
<MO>-</MO>
<MROW>
<MN>4</MN>
<MO>⁢</MO>
<MI>a</MI>
<MO>⁢</MO>
<MI>c</MI>
<MROW>
</MROW>
</SQRT>
</MROW>
<MROW>
<MN>2</MN>
<MO>⁢</MO>
<MI>a</MI>
</MROW>
</MFRAC>
</MROW>
В этом примере следует обратить внимание на то, что знак "плюс/минус" - спе
циальный поименованный объект. MathML предоставляет большой список имен мате
матических объектов.
<Простая матрица>
<MROW>
<MI>A</MI>
<MO>=</MO>
<MROW>
<MF>[</MF>
<MTABLE>
<MTR>
<MTD><MI>x</MI></MTD>
<MTD><MI>y</MI></MTD>
</MTR>
<MTR>
<MTD><MI>z</MI></MTD>
<MTD><MI>w</MI></MTD>
</MTR>
</MTABLE>
<MF>]</MF>
</MROW>
</MROW>
2.2 Использование MathML согласных отметок
< x ^ 2 + 4x + 4 = 0 >
<EXPR>
<EXPR>
<EXPR>
<MI>x</MI>
<POWER/>
<MN>2</MN>
</EXPR>
<PLUS/>
<EXPR>
<MN>4</MN>
<TIMES/>
<MI>x</MI>
</EXPR>
<PLUS/>
<MN>4</MN>
</EXPR>
<E/>
<MN>0</MN>
</EXPR>
Отметки EXPR используются в том случае, когда содержание носит математический
характер.
В MathML имеются также и пустые отметки. В XML пустые отметки имеют вид
<.../>.
При помощи отметок содержания MathML можно описать основные математические
объекты, однако часто возникают ситуации, когда используются как отметки содер
жания, так и отметки представления.
< x = (- b + - sqrt(b ^ 2 - 4ac)) / 2a >
<EXPR>
<MI>x</MI>
<E/>
<EXPR>
<EXPR>
<EXPR>
<MO>-</MO>
<MI>b</MI>
</EXPR>
<MO>&PlusMinus</MO>
<MSQRT>
<EXPR>
<EXPR>
<MI>b</MI>
<POWER/>
<MN>2</MN>
</EXPR>
<MINUS/>
<EXPR>
<MN>4</MN>
<TIMES/>
<MI>a</MI>
<TIMES/>
<MI>c</MI>
</EXPR>
</EXPR>
</MSQRT>
</EXPR>
<OVER/>
<EXPR>
<MN>2</MN>
<TIMES/>
<MI>a</MI>
</EXPR>
</EXPR>
</EXPR>
Рассмотрим пример использования отметки SEMANTICS :
< Интеграл >
<SEMANTICS>
<MROW>
<MSUBSUP>
<MO>&int</MO>
<MN>0</MN>
<MI>t</MI>
</MSUBSUP>
<MFRAC>
<MROW>
<MO>&dd</MO>
<MI>x</MI>
</MROW>
<MI>x</MI>
</MFRAC>
</MROW>
<EXPR>
<INT>
<LOWLIMIT>
<MN>0</MN>
</LOWLIMIT>
<UPLIMIT>
<MI>t</MI>
</UPLIMIT>
<EXPR>
<MN>1</MN>
<OVER/>
<MI>x</MI>
</EXPR>
<BVAR>x</BVAR>
</INT>
</EXPR>
</SEMANTICS>
3. Отметки представления
3.1 Введение
3.1.1 Элементы представления
Элементы представления соответствуют конструкциям традиционной математичес
кой записи и позволяют описывать синтаксическую структуру математического вы
ражения. Например, структура This улучшает качество математической записи и в
тех случаях, когда не известена, например, разрешающая способность монитора.
3.1.2 Типы элементов представления
Элементы представления можно разделить на два класса : лексемы и схемы раз
мещения. Существует также набор пустых элементов, используемых вместе с конкрет
ной схемой размещения.
Все лексемы (в синтаксическом смысле),включенные в математическое выражение,
должны быть помечены MathML отметками лексем. Типы MathML лексем : идентифика
торы (переменные, имена функций и т.д.),числа, операторы, заграждающие метки (на
пример, круглые скобки) и строковые литералы. Для представления текста нематема
тического характера используются элементы лексем.
Схемы размещения - конструкторы выражений традиционных математических запи
сей.
3.1.3 XML атрибуты
Согласно проекту XML атрибуты должны иметь вид : attr = "..." .Атрибуты,чье
значение определено как числовое, могут быть целыми числами или числами с пла
вающей запятой. Существуют атрибуты со значениями , связанными с определенным
шрифтом.
3.1.4 Пробелы
По умолчанию XML процессоры удаляют конечные пробелы, символы "новой строки",
вкладки (позиции табуляции) и сокращают любое внутреннее незаполненное прост
панство до одиночного пробела (" ").В случае необходимости использование выше
перечисленных символов возможно после их кодирования и указания для них сбыл
кие объекта.
3.1.5 Требуемые параметры
Большинство из описанных элементов требуют определенного числа параметров
(1,2 или 3).
MathML содержит универсальный элемент раэделителя < SEP/>,игнорируемый эле
ментами представления.
3.1.6 Пустые элементы
Единственным пустым элементом лексемы является <MSPACE/>.Пустые элементы
<MPRESCRIPTS/> и <NONE/> могут быть включены только в определенную схему раз
мещения.
3.1.7
Некоторые элементы, например,<MOVER> используются для "украшения" операторов.
3.1.8 Резюме
Лексемы :
<MI> идентификаторы
<MN> номер
<MO> оператор
<MF> заграждающая метка
<MTEXT> текст
<MSPACE/> пробел
<MS> литерал строки
Общая схема размещения :
<MSTYLE> изменение стиля
<MERROR> включение сообщения о синтаксической ошибке
<MPHANTOM> при сохранении размера содержание становится невидимым
<MROW> горизонтальная группировка любого числа подвыражений
<MFRAC> формирование дроби из двух подвыражений
<MSQRT> формирование знака квадратного корня (радикала без индекса)
<MROOT> формирование радикала с определенным индексом
Таблицы и матрицы :
<MTABLE> таблица или матрица
<MTR> строка в таблице или матрице
<MTD> одно вхождение в таблицу или матрицу
3.2 Лексемы
В лексемы можно включать любое количество символов, в том числе позволительно
использовать лексемы без содержания.
3.2.1 <MI> - идентификаторы
Идентификаторы включают в себя переменные, имена функций и символьные констан
ты.
Namevaluesdefaultfontsizenumber (points)inheritedfontweightplain|
boldinheritedfontslantplain |
italicautomaticfontfamilystringinheritedfontcolor#rrggbbinherited
Идентификаторы символа Single по умолчанию выводятся в курсивном шрифте, сим
вольные идентификаторы выводятся в ненаклонном шрифте.
<MI>x</MI>
<MI>π</MI>
<MI>D</MI>
<MI>sin</MI>
<MROW>
<MI>sin</MI>
<MO>⁡</MO>
<MI>x</MI>
</MROW>
Текст, который нужно обработать как символ, должен быть представлен в виде :
<MROW>
<MN>1</MN>
<MO>+</MO>
<MI>...</MI>
<MO>+</MO>
<MI>n</MI>
</MROW>
3.2.2 <MN> - номер
<MN> лексемы, в отличии от <MI>,обычно представлены в ненаклонном шрифте.
<MN>2</MN>
<MN>0.123</MN>
<MN>1,000,000</MN>
<MN>2.1e10</MN>
3.2.3 <MO> - операторы
Лексемы, являющиеся операторами, относятся к типу <MO>.
<MO>+</MO>
<MO>≤</MO>
<MO>++</MO>
<MO>∑</MO>
<MO>.NOT.</MO>
3.2.4 <MF> - заграждающие метки
Согласованные пары заграждающих меток должны быть включены в качестве перво
го и последнего элементов в схему <MROW>.
Рассмотрим примеры выражений, содержащих заграждающие метки:
(a + b)
<MROW>
<ME>(</MF>
<MROW>
<MI>a</MI>
<MO>+</MO>
<MI>b</MI>
</MROW>
<MF>)</MF>
</MROW>
[0,1)
<MROW>
<MF>[</MF>
<MROW>
<MN>0</MN>
<MO>,</MO>
<MN>1</MN>
</MROW>
<MF>)</MF>
</MROW>
3.2.1.4
Механизмы исполнения операторов и заграждающих меток идентичны и более слож
ны по сравнению с другими маркерами.
Многие математические символы типа интегрального символа, знака "+",круглых
скобок и т.д. имеют заданные по умолчанию атрибуты, которые могут включаться
в <MO> и <MF> схемы.
Многие операторы в каждой конкретной форме могут использоваться по-разному.
Знак "+",например, в зависимости от ситуации может быть как префиксом, так и
инфиксом.
Если оператор является первым подвыражением в <MROW> и его длина превышает
единицу, то используется префиксная форма; если же оператор является послед
ним подвыражением в <MROW>,то правилами предусматривается использование пост
фиксной формы. Инфиксная форма для операторов, включенных в схему типа <MROW>,
не используется.
Если возникает ситуация выбора одной из нескольких форм и не дано никаких
дополнительных указаний, то право ее остается за пользователем.
Существуют четыре атрибута, регулирующие соотношениями между размерами опе
раторов ,заграждающих меток и других элементов : stretchy, symmetric, maxsize
и minsize. Например, если для символа maxsize="3",это означает, что его размеры
могут превысить стандартные не более, чем в три раза.
Рассмотрим пример: установить максимальный размер круглой скобки.
<MROW>
<MF maxsize="1">(</MF>
<MFRAC><MI>a</MI><MI>b</MI></MFRAC>
<MF maxsize="1">)</MF>
</MROW>
3.2.5 <MTEXT> - текст
Лексема <MTEXT> используется для представления текста нематематического ха
рактера.
Этот элемент часто используется для включения в документ "невидимых симво
лов".
Элементы, входящие в схемы типа <MTEXT>, могут быть включены в схему типа
<MROW>.
<MFRAC>
<MROW>
<MTEXT>&thickspace;</MTEXT>
<MI>a</MI>
</MROW>
<MI>b</MI>
</MFRAC>
Примеры :
<MTEXT>Theorem 1:</MTEXT>
<MTEXT>&thinspace;</MTEXT>