Приоритет операция, от наивысшего к наинизшему:
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 рассматриваются в следующих подразделах.
Идентификатор
Описание
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 соответственно).
Атрибут MathML
Свойство CSS
синтаксический символ
Элемент MathML
fontsize
font-size
-
токены представления; mstyle
fontweight
font-weight
fontstyle
font-style
fontfamily
font-family
css-fontfamily
color
css-color-name
background
mstyle
Порядок обработки атрибутов и стилевых таблиц.
CSS или аналогичные стилевые таблицы могут задавать изменения свойств отображения элементов MathML. Так как свойства отображения могут изменяться как атрибутами элемента, так и программой отображения, необходимо определить порядок, в котором происходят изменения из разных источников. Примером автоматического согласования является ситуация с fontsize. В случае 'абсолютных' изменений, например, установки нового значения свойства, независимого от старого значения (в отличие от 'относительных' изменений, таких как инкремент или умножение на число), действуют только последние абсолютные изменения, поэтому источник изменений с наивысшим приоритетом должен обрабатываться последним.
Страницы: 1, 2, 3, 4