на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
MathML (Mathematical Markup Language)
athML также уделяет большое внимание совместимости с другими математическими программами и, в частности, с системами компьютерной алгебры. Много элементов представления MathML частично основаны на механизме печатных боксов (typesetting boxes). Элементы содержания MathML во многом заимствованы из проекта OpenMath и работы Stilo Technologies по созданию математического DTD. Проект OpenMath был тесно связан с сообществами SGML и компьютерной алгебры. В этом проекте были предложены SGML и XML-основанные способы взаимодействия между пакетами математических программ. Возможность создания и интерпретации MathML в системах компьютерной алгебры была продемонстрирована экспериментальными программами.

1.3.2 Механизм расширения HTML

Как отмечено выше, успех HTML привел к попыткам интеграции в Сеть различных типов данных и приложений
. Каждый новый формат или приложение потенциально накладывал новые требования на HTML и производителей браузеров. Через некоторое время стало понятно, что необходим общий механизм для интеграции новых расширений в HTML. Изначально, рабочая группа начала работу с идеей о простом расширении HTML в духе первых попыток реализации поддержки математики в HTML 3.2 Но при ближайшем рассмотрении, это оказалось не такой уж и хорошей идеей. К моменту начала работ над MathML, XML стал доминирующим механизмом общих расширений.

XML расшифровывается как eXtensible Markup Language. Он создан как упрощенная версия SGML, метаязыка, используемого для определения грамматики и синтаксиса HTML. Одна из целей XML - возможность применения в Сети, и в данном случае он может быть рассмотрен как общий механизм расширений HTML. Как следует из его названия, расширяемость - основная черта XML. Авторы получили возможность объявлять и использовать новые элементы и атрибуты. В то же время, правила грамматики и синтаксиса XML требуют обеспечения регулярной структуры документа для реализации автоматической обработки и сопровождения больших объемов документов. Строго говоря, XML является удобным способом описания древовидных структур и, таким образом, может использоваться в качестве языка разметки.

К моменту образования первой W3C Math Working Group XML уже имел широкую поддержку среди фирм-разработчиков, включая основных производителей браузеров. Глобальный переход от HTML к XML важен для W3C. Промежуточным результатом работы в этом направлении стало появление рекомендации XHTML, которая определяет новую модульную форму HTML. MathML может рассматриваться как один из модулей, который очень хорошо соответствует новому формату XHTML.

Кроме того, другие XML-приложения для всех видов публикации и обработки документов обещают стать все более и более распространенными. Следовательно, как с теоретической так и с практической точки зрения, было бы логично определить MathML как XML-приложение.

1.3.3 Механизм расширения браузера

К настоящему времени детали общей модели для отображения и обр
аботки XML-расширений в HTML в основном ясны, в отличие от ситуации, когда была принята MathML 1.0 Recommendation. Предполагается, что свойства форматирования (Formatting Properties), разработанные Cascading Style Sheets и Formatting Properties Working Group для CSS и доступные через Document Object Model (DOM), будут применяться для элементов MathML, чтобы получить стилистический контроль над представлением MathML. Дальнейшая разработка свойств форматирования проводится внутри рабочих групп CSS&FP и XSL.

На данный момент механизмы таблиц стилей не способны обеспечить непосредственное отображение MathML браузером, поэтому необходимо расширить возможности браузеров, используя встроенные объекты (embedded elements) для отображения MathML. Уже возможно использовать в браузере встроенный ограниченный механизм отображения для обработки встроенной XML-разметки, такой как MathML, и обеспечивать взаимодействие ее с окружающей web-страницей, однако, результаты пока не полностью соответствуют пожеланиям.

Для специализированной обработки, такой как связь с системами компьютерной алгебры, возможность внешнего вызова других программ останется особенно необходимой. Для того чтобы сложное взаимодействие между браузерами и встроенными объектами было удовлетворительным, необходимо определить достаточно богатую объектную модель документа. По этой причине W3C Math Working Group тесно сотрудничает с Document Object Model (DOM) Working Group.

Для обработки встроенных элементов и для многосторонней связи между научным программным обеспечением модель таблиц стилей в некоторых случаях далека от идеала. Это может наложить дополнительные сложности реализации в системе, когда можно получить некоторые преимущества, и это накладывает требования к реализации взаимодействия между браузерами и встроенными механизмами отображения, что, вероятно, будет недоступно в ближайшем будущем.

По этим причинам спецификация MathML определяет атрибут-ориентированную модель, которая показала себя в нескольких независимых приложениях, как очень эффективная для высококачественного отображения сложных математических выражений. Атрибуты представления MathML, где это возможно, используют свойства форматирования W3C. Также, элементы MathML допускают атрибуты class, style и id для обеспечения совместимости с традиционными таблицами стилей CSS. Однако, в настоящее время, имеется немного реализаций, где технология CSS используется при отображении MathML.

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

1.4 Обзор MathML

Главной проблемой создания математического языка разметки для применения в Сети является необходимость задавать одновременно представление математической нотации и содержание представляемых математических идеи или объекта.

Отношение математической нотации и математической идеи - тонкая вещь. Формально, математическая логика поднимает вопросы о соответствии между системами символьной логики и явлениями, которые они моделируют. На интуитивном уровне, каждый, кто использовал математическую нотацию, знает как важен правильный выбор нотации; символическая структура нотации предлагает структуру логическую. Например, нотация Лейбница для производных предлагает цепь правил вычисления через символические дроби.

Математики и учителя очень хорошо интуитивно чувствуют это; часть их работы как раз и состоит в выборе нотации, которая подчеркивает ключевые аспекты проблемы и скрывает или уменьшает несущественные. В математике очень часто пишут что-либо, хотя строгое значение этого является совсем другим, потому что опыт показывает, что это значительно лучше передает идею на высоком уровне, чем строгие детали.

В других случаях, математическая нотация используется для записи полного, точного значения свойств математического объекта. Математическая нотация может быть потрясающе строгой и при аккуратном использовании полностью свободной от неоднозначности. Более того, это отсутствие неоднозначности делает возможным описать математические объекты так, что они могут быть использованы в компьютерных приложениях, таких как системы компьютерной алгебры и системы воспроизведения речи. В ситуации, когда главным является взаимодействие между приложениями, детали визуального представления играют минимальную роль.

MathML позволяет авторам записывать как нотацию, представляющую математический объект, и саму математическую структуру объекта. Более того, авторы могут смешивать оба типа записи для определения представления и содержания математической идеи. Оставшаяся часть этого раздела дает основное представление о том, как MathML может быть использован для каждой из этих целей.

1.4.1 Таксономия элементов MathML

Все элементы MathML делятся на три группы
: элементы представления, элементы содержания и интерфейсные элементы.

Элементы представления описывают визуально ориентированную двухмерную структуру математической нотации. Типичным примером является элемент mrow, который обычно применяется для обозначения горизонтального ряда частей выражения, и элемент msup, который отмечает верхний индекс. Как правило, каждый элемент представления соответствует одному типу нотационной схемы, такой как ряд, верхний индекс, нижний индекс и так далее. Любая формула состоит из частей, которые могут состоять из простейших элементов таких как цифры, буквы или другие символы.

Хотя предыдущий абзац связан с аспектом отображения математической нотации, и, следовательно, разметкой представления, те же самые рассуждения о декомпозиции применимы к абстрактным математическим объектам, а значит и разметке содержания. Например, в контексте разметки содержания верхний индекс обычно обозначает операцию потенцирования, требующую двух операндов: 'основания' и 'показателя'. Это ни коим образом не является совпадением, так как обычно математическая нотация тесно связана с логической структурой рассматриваемых математических объектов.

Рекурсивная природа математических объектов и нотации отражена в разметке MathML. Большинство элементов представления и содержания содержат в себе другие элементы MathML, отвечающие за части, из которых рекурсивно построен исходный объект. Первоначальная схема обычно называется родительской, а части - дочерними. В общем, выражения MathML можно представить в виде деревьев, где каждый узел соответствует элементу MathML, ветвь под 'родительским' узлом соответствует 'дочерним' узлам, и листья дерева соответствуют атомарным элементам нотации или содержания, таким как числа, символы и т.д.

Большинство элементов-листьев в дереве выражения MathML или канонические пустые элементы без тела, или токены. Канонические пустые элементы отображают символы в MathML, например, это делает элемент содержания <plus/>. Токены - единственные элементы MathML, которые могут содержать текстовые данные. Текстовые данные в MathML содержат символы Unicode и специальные символьные конструкции, сделанные с помощью элемента mglyph. Третьим типом элементов-листьев в MathML являются комментарии, используемые для хранения данных, формат которых отличен от формата MathML.

Наиболее важными токенами представления являются mi, mn и mo, используемые для представления идентификаторов, чисел и операторов соответственно. Обычно эти элементы отображаются разными стилями: числа - прямым шрифтом, идентификаторы - наклонным, вокруг операторов оставляется дополнительное свободное пространство. В разметке содержания содержится только три токена, ci, cn и csymbol, для идентификаторов, чисел и новых введенных в документ символов соответственно. В разметке содержания существуют различные элементы для часто используемых функций и операторов. Элемент apply применяется для пользовательского расширения стандартного набора.

В терминах разметки, большинство элементов MathML определяются открывающим и закрывающим тегами, которые ограничивают содержание элемента. В случае токенов содержимое является текстовыми данными, в большинстве остальных случаев - разметкой дочерних элементов. Элементы третьей категории, называемые каноническими пустыми элементами, не требуют никакого содержания и определяются одиночным тегом вида <name/>. Примером может служить элемент <plus/> в разметке содержания.

Давайте возьмем для примера выражение (a + b) 2 и рассмотрим на практике описанные выше принципы. Одним из вариантов разметки представления для этого выражения будет такой:

<mrow>

<msup>

<mfenced>

<mrow>

<mi>a</mi>

<mo>+</mo>

<mi>b</mi>

</mrow>

</mfenced>

<mn>2</mn>

</msup>

</mrow>

Этот пример демонстрирует использование различных элементов представления. Первый элемент, очень широко используемый, это элемент mrow. Он используется для обозначения ряда данных с выравниванием по горизонтали. Данные, содержащиеся между тегами <mrow> и </mrow> рассматриваются как аргумент элемента mrow. Таким образом, в элементе mrow содержится целое выражение. Как было замечено ранее, большинство математических выражений состоят из подвыражений. Эти подвыражения, в свою очередь, также содержатся в элементе mrow. Например, a + b также содержится в mrow.

Элемент mfenced используется для ограничения формул различными типами скобок. По умолчанию используются круглые скобки.

Обратите внимание на использование элемента mi для отображения переменных a и b и элемента mo для выделения оператора +.

Элемент msup применяется в выражениях с верхними индексами и имеет два аргумента: основание (в нашем случае (a+b)) и показатель (в нашем случае 2).

Разметка содержания для того же примера будет иметь вид:

<mrow>

<apply>

<power/>

<apply>

<plus/>

<ci>a</ci>

<ci>b</ci>

</apply>

<cn>2</cn>

</apply>

</mrow>

Элемент apply обозначает применение операции к выражению. В нашем примере применяются пустой элемент power (для возведения в степень) и аналогичный элемент plus (для сложения). Обратите внимание, что оба оператора имеют два аргумента. Но если в случае возведения в степень их порядок важен лишь отчасти, то в случае применения apply он имеет ключевое значение, так как первый дочерний элемент является оператором, принимающим остальные в качестве аргумента.

Обратите внимание на использование элемента ci для выделения переменных a и b, и элемента cn для выделения числа 2.

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



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.