Рефераты. MathML (Mathematical Markup Language)

Приоритет операция, от наивысшего к наинизшему:

form + или form *

f1 f2... fn (последовательность форм)

f1 | f2 |... | fn (одна из форм)

Тип string может содержать произвольные символы, которые определены в значениях атрибута XML CDATA. В MathML нет синтаксических правил, по которым string может быть частью значения атрибута, а не всем значением.

Соседние ключевые слова и числа в значениях атрибутов должны разделяться пробельными символами, за исключением следующих за числами идентификаторов единиц измерения (что указано в синтаксисе символов h-unit и v-unit). Пробельные символы не требуются, но разрешены между любыми перечисленными выше токенами, за исключением (для совместимости с CSS) непосредственно перед идентификаторами единиц измерения, между знаком '-' и числами, между # и rrggbb или rgb.

Значения числовых атрибутов, которые задают размеры и должны зависеть от текущего шрифта, могут задаваться в связанных со шрифтом единицах измерения или в указанных абсолютных единицах (описанных ниже). Горизонтальные размеры обычно задаются в em, а вертикальные - в ex. Идентификаторы em или ex следуют непосредственно за числом. Например, горизонтальные отступы от оператора '+' обычно задаются в em, хотя могут использоваться и другие единицы измерения. Использование связанных со шрифтом единиц измерения предпочтительнее, чем абсолютных, так как они позволяют увеличивать или уменьшать размер отображаемого элемента в зависимости от текущего размера шрифта.

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

Если числовое значение в соответствии с синтаксисом атрибута может содержать знак минус ('-'), например number или integer, то его использование в случае, когда отрицательные значения не существенны, ошибкой не является. Вместо этого, значение должно обрабатываться приложением так, как описано в предыдущем параграфе. Явное указание знака плюс ('+') как части числового значения запрещено за исключением тех случаев, когда это специально указано в синтаксисе (в виде '+' или "+"), и его присутствие может изменить смысл значения атрибута (как описано в каждом из таких атрибутов).

Символы h-unit, v-unit, css-fontfamily, и css-color-name рассматриваются в следующих подразделах.

1.7.4.2 Атрибуты с единицами измерения

Некоторые атрибуты принимают горизонтальные и вертикальные размеры как числа, за которыми следует 'идентификатор единицы измерения' (часто называемый 'единицей измерения'). Синтаксические символы h-unit и v-unit относятся к горизонтальным и вертикальным размерам соответственно. Возможные единицы измерения и размеры, к которым они относятся, перечислены в таблице, расположенной далее; они совпадают для горизонтальных и вертикальных размеров, но синтаксические символы отличаются (как напоминание используемого в них направления).

Идентификаторы единиц измерения и их смысловое значение взяты из. Тем не менее, синтаксис числа с последующим идентификатором в MathML не идентичен синтаксису в CSS, так как числа в CSS не могут заканчиваться десятичной точкой и могут начинаться со знака '+'.

Допустимые горизонтальные и вертикальные единицы измерения в MathML:

Идентификатор

Описание

em

em (единица измерения, зависящая от размера шрифта и обычно применяемая для горизонтальных размеров)

ex

ex (единица измерения, зависящая от размера шрифта и обычно применяемая для вертикальных размеров)

px

пиксель

in

дюйм (1 дюйм = 2.54 сантиметра)

cm

сантиметр

mm

миллиметр

pt

пункт (1 пункт = 1/72 дюйма)

pc

picas (1 pica = 12 пунктов)

%

процент от величины

Типографские единицы измерения em и ex обсуждаются далее в пункте 'Дополнительные замечания'.

% является 'относительной единицей измерения'; когда значение атрибута задано в виде n% (для любого числового значения n), значение определяется как значение по умолчанию, умноженное на n и поделенное на 100. Значение по умолчанию (или способ, которым его можно получить, если оно не является константой) описано в таблице атрибутов для каждого элемента, а его смысл описан в последующей документации по атрибуту. (Элемент mpadded имеет свой синтаксис для% и не позволяет использовать его как идентификатор единицы измерения)

Для согласованности с CSS, единицы измерения длины в MathML могут быть необязательными. Когда это так, символ единицы измерения в синтаксисе атрибута заключается в квадратные скобки, например, число [h-unit]. Смысл значения атрибута без единиц измерения описан в документации для каждого атрибута; обычно указанное число умножается на значение по умолчанию. (В этом случае число nnn без единицы измерения эквивалентно числу nnn умноженному на 100 и со знаком %. Например, <mo maxsize="2"> (</mo> эквивалентно <mo maxsize="200 %"> (</mo>)

Как исключение (тоже для совместимости с CSS), числовые значения равные нулю не требуют указания идентификатора единицы измерения даже если этого требует синтаксис. В этом случае наличие или отсутствие идентификатора единицы измерения не играет роли, так как любое число умноженное на 0 есть 0.

Для большинства атрибутов в данной спецификации в качестве стандартных единиц измерения выбраны единицы, используемые в типографском наборе; когда не указано конкретное значение величины, то стандартные единицы измерения обычно указаны в таблице или в описании атрибута. Чаще всего используются такие единицы измерения как em или ex. Однако, могут использоваться любые единицы, если в описании конкретного атрибута не указано обратное.

Отметим, что некоторые атрибуты, например framespacing в <mtable>, могут содержать более одного числового значения, после каждого из которых следует своя единица измерения.

Принято использовать единицы измерения ex в основном для задания вертикальных размеров, а em - для горизонтальных, хотя это не является обязательным требованием. Эти единицы измерения зависят от шрифта, используемого для отображения элемента, в атрибутах которого они применяются, и его размера. А значит, они должны интерпретироваться после таких атрибутов, как fontfamily и fontsize, если они встречаются в одном элементе, так как изменение текущего шрифта или его размера может привести к изменению размера единиц измерения.

Определение длины каждой единицы измерения (но не синтаксис MathML для значений длины) такое же как в CSS, за исключением тех случаев, когда шрифт устанавливает специальные значения для em и ex, отличающиеся от значений, определенных в CSS (font size и 'x'-height соответственно).

1.7.4.3 CSS-совместимые атрибуты

Некоторые атрибуты MathML, перечисленные ниже, соответствуют свойствам отображения текста, определенным в CSS1. Это сделано для того, чтобы программы отображения могли запросить CSS-окружение о соответствующих свойствах при определении значений атрибутов по умолчанию.

Возможность определения стилевых свойств через атрибуты MathML и CSS имеет и недостатки. Как минимум, это запутывает, а в худшем случае, это приводит к непреднамеренному изменению смысла уравнений при изменении CSS для всего документа. Поэтому, эти атрибуты осуждаются. В свою очередь, MathML 2.0 вводит четыре новых математических стилевых атрибута. Эти атрибуты используют логические значения для того, чтобы лучше передать абстрактные категории используемых в математике символов, и предоставляют четкое разделение между MathML и CSS.

Следующая таблица показывает соответствие осуждаемых стилевых атрибутов MathML 1.01 и их CSS-аналогов:

Атрибут MathML

Свойство CSS

синтаксический символ

Элемент MathML

fontsize

font-size

-

токены представления; mstyle

fontweight

font-weight

-

токены представления; mstyle

fontstyle

font-style

-

токены представления; mstyle

fontfamily

font-family

css-fontfamily

токены представления; mstyle

color

color

css-color-name

токены представления; mstyle

background

background

css-color-name

mstyle

Порядок обработки атрибутов и стилевых таблиц.

CSS или аналогичные стилевые таблицы могут задавать изменения свойств отображения элементов MathML. Так как свойства отображения могут изменяться как атрибутами элемента, так и программой отображения, необходимо определить порядок, в котором происходят изменения из разных источников. Примером автоматического согласования является ситуация с fontsize. В случае 'абсолютных' изменений, например, установки нового значения свойства, независимого от старого значения (в отличие от 'относительных' изменений, таких как инкремент или умножение на число), действуют только последние абсолютные изменения, поэтому источник изменений с наивысшим приоритетом должен обрабатываться последним.

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.