46579 (MathML (Mathematical Markup Language)), страница 3

2016-07-30СтудИзба

Описание файла

Документ из архива "MathML (Mathematical Markup Language)", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "46579"

Текст 3 страницы из документа "46579"

На данный момент механизмы таблиц стилей не способны обеспечить непосредственное отображение 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, например, это делает элемент содержания . Токены - единственные элементы MathML, которые могут содержать текстовые данные. Текстовые данные в MathML содержат символы Unicode и специальные символьные конструкции, сделанные с помощью элемента mglyph. Третьим типом элементов-листьев в MathML являются комментарии, используемые для хранения данных, формат которых отличен от формата MathML.

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

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

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

a

+

b

2

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

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

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

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

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

a

b

2

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

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

1.4.2 Разметка представления

Разметка представления MathML состоит из приблизительно 30 элементов, которые имеют более 50 атрибутов. Большинство элементов представляют из себя схемы форматирования, которые содержат в себе другие элементы представления. Каждая схема соответствует двумерному фрагменту нотации, такому как верхний или нижний индекс, дробь или таблица. Кроме того, в разметке представления есть описанные выше токены mi, mo и mn и несколько других, которые используются не так часто. Несколько оставшихся элементов представления - это пустые элементы, связанные, в основном, с выравниванием.

Все схемы форматирования делятся на несколько классов. Одна группа элементов отвечает за индексы и содержит такие элементы, как msub munder, и mmultiscripts. Другая отвечает за более общее форматирование и включает элементы mrow, mstyle и mfrac. Третья группа реализует работу с таблицами. Элемент maction образует еще одну категорию и позволяет кодировать различные типы действий над нотацией, встречающиеся в выражениях, которые toggles between two pieces of notation.

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

1.4.3 Разметка содержания

Разметка содержания содержит около 120 элементов, принимающих около дюжины атрибутов. Большинство этих элементов - пустые, соответствующие различным математическим операторам, зависимостям и функциям. В качестве примера можно привести partialdiff, leq и tan. Другие, такие как matrix и set, используются для представления различных типов математических данных. Третья важная категория элементов разметки содержания, такая как apply, используется для применения к выражениям операций и создания новых математических объектов.

Возможно, одним из наиболее важных элементов содержания является apply. Он используется для применения функции или операции к набору аргументов. Здесь также важно положение дочерних элементов: первый дочерний элемент указывает применяемую функцию, остальные - аргументы в соответствующем порядке. Надо отметить, что конструкция apply всегда использует префиксную нотацию, как язык программирования LISP. В частности, даже бинарные операторы, такие как вычитание, описываются применением префиксного оператора вычитания к двум аргументам. Например, a - b будет описано так:

a

b

Многие функции и операции, для того чтобы четко определенными, требуют одного или нескольких кванторов. Например, кроме подинтегрального выражения у определенного интеграла должны быть заданы пределы интегрирования и переменная, по которой происходит интегрирование. По этой причине существует несколько схем-спецификаторов вроде bvar и lowlimit. Они используются с операторами diff и int.

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

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
426
Средний доход
с одного платного файла
Обучение Подробнее