Содержание
1. MathML (Mathematical Markup Language)
1.1 Математика и ее система обозначений
1.2 Истоки и цели
1.2.1 История MathML
1.2.2 Ограниченность HTML
1.2.3 Требования к математической разметке
1.2.4 Цели проекта MathML
1.3 Роль MathML в Сети
1.3.1 Существующие языки математической разметки
1.3.2 Механизм расширения HTML
1.3.3 Механизм расширения браузера
1.4 Обзор MathML
1.4.1 Таксономия элементов MathML
1.4.2 Разметка представления
1.4.3 Разметка содержания
1.4.4 Объединение представления и содержания
1.5 MathML в документах
1.6 Примеры MathML
1.6.1 Примеры разметки представления
1.6.2 Примеры разметки содержания
1.6.3 Примеры смешанной разметки
1.7 Синтаксис и грамматика MathML
1.7.1 Синтаксис и грамматика MathML
1.7.2 Пример синтаксиса XML
1.7.3 Дочерние элементы против аргументов
1.7.4 Значения атрибутов MathML
1.7.4.1 Синтаксические нотации, используемые в спецификации MathML
1.7.4.2 Атрибуты с единицами измерения
1.7.4.3 CSS-совместимые атрибуты
1.7.4.4 Значения атрибутов по умолчанию
1.7.4.5 Значения атрибутов в MathML DTD
1.7.5 Атрибуты, общие для всех элементов MathML
1.7.6 Свертывание пробелов во вводе
2. Возможности современных браузеров при работе с MathML
2.1 Mozilla & Firefox
2.2 MicrosoftInternetExplorer
2.3 Opera
Список использованной литературы
MathML (Mathematical Markup Language) представляет собой язык разметки математических приложений, основанный на XML. Он был разработан Консорциумом WWW (W3C) и принят в качестве Рекомендации. Текущей версией является Mathematical Markup Language (MathML) Version 2.0 (Second Edition), утвержденной 21 октября 2003 года.
MathML реализует две "точки зрения" на математическую разметку. Один из ее видов - это разметка представления (Presentation Markup), которая описывает визуальную форму представления математической формулы. Второй - разметка содержания (Content Markup), выражающая семантическое содержание.
MathML рассматривает не только представление, но и смысл элементов формулы. Также разрабатывается система разметки математической семантики, призванная дополнить MathML. Она называется OpenMath.
Характерной чертой математической информации является использование сложной и высокоразвитой двумерной символьной системы обозначений. Однако, как писал J. R. Pierce в своей книге по теории коммуникации, математика и ее нотация не должны рассматриваться как одно и то же. Математические идеи существуют независимо от способа их представления. Тем не менее, взаимосвязь между значением и обозначением весьма тонка, и в возможности представлять и манипулировать идеями в символьной форме кроется значительная мощь математического аппарата, как инструмента описания и анализа. Основная трудность при внедрении математики в World Wide Web состоит в том, чтобы зафиксировать как представление, так и содержание (то есть значение) таким образом, чтобы в документах максимально использовать высокоразвитую систему математической нотации и потенциал взаимодействия в электронных средствах информации.
Математическая система обозначений постоянно развивается, так как люди постоянно совершенствуют способы представления идей. Даже стандартная система обозначения арифметических действий прошла через удивительное многообразие стилей, включая множество ныне несуществующих, поддерживающих математические обозначения своего времени. Современная математическая система обозначений является продуктом вековых усовершенствований, и принятые обозначения для высококачественной печати достаточно сложны. Например, переменные и буквы, обозначающие числа, сейчас обычно печатаются специальным математическим курсивом чуть отличным от обычного текстового курсива. Пробелы, окружающие символы операций такие как +, - ,× и /, немного отличаются от таковых в тексте, отражая соглашения о старшинстве оператора. Целые книги посвящены правилам набора математических текстов, от выравнивания верхних и нижних индексов до правил для выбора размеров круглых скобок и специальных нотационных соглашений для различных областей математики.
Принятая система обозначений в математике, и в печатном тексте вообще, направлена на то, чтобы зрительно выделить и сделать напечатанные выражения более легкими для чтения и понимания. Хотя это и кажется очевидным, но мы полагаемся на сотни соглашений таких как параграфы, заглавные буквы, семейства шрифтов, и даже механизм десятичной нумерации разделов, подобный тому, что мы используем в этом документе (заслуга G. Peano, который вероятно более известен своими аксиомами для натуральных чисел). Таким образом, нотационные соглашения, наверное, даже более важны для электронных медиа, где требуется бороться с трудностями чтения с экрана.
Однако, внедрение математики в Сеть это не просто поиск способов отображения математической информации в окне браузера. Сеть представляет фундаментально новый подход к хранению знаний, в котором взаимосвязь играет центральную роль. Становится все более и более важно найти способы взаимосвязи математических документов, которые облегчат автоматическую обработку, индексацию и повторное использование в других математических приложениях и контекстах. Подобные усовершенствования в технологии коммуникации позволяют расширить наши возможности в представлении и кодировании математического материала. Мы надеемся, что MathML является важным шагом в этом направлении.
Задача представления математической информации для компьютерной обработки и электронных средств коммуникации возникла задолго до появления Интернета. Раньше общей практикой для ученых была запись статей в неком виде, основанном на ASCII-символах и дальнейшая пересылка их друг другу по электронной почте. Несколько языков математической разметки, в частности TEX, уже широко использовались в 1992 году, еще до того, как Сеть заняла столь значимое положение.
С самого начала Сеть зарекомендовала себя, как весьма эффективный способ сделать информацию доступной большому количеству людей. Однако, даже при том, что World Wide Web была изначально задумана и реализована учеными для ученых, возможности для включения математических выражений в HTML были крайне ограничены. В настоящее время, большая часть математической информации в Сети представлена в виде текста с графическими изображениями научных выражений (в формате GIF или JPEG) или в виде целых документов в формате PDF.
Консорциум World Wide Web (W3C) понимал, что отсутствие основ для научной коммуникации является серьезной проблемой. Уже в 1994 году Dave Raggett внес предложение о включении HTML Math в прототип HTML 3.0. На конференции в Дармштадте в апреле 1995 года был проведен круглый стол по математической разметке. В ноябре того же года представители Wolfram Research выдвинули предложение команде W3C о реализации поддержки математики в рамках HTML. Важную роль в объединении многих заинтересованных сторон сыграла проведенная в мае 1996 года встреча Digital Library Initiative в Champaign-Urbana. Результатом этой встречи стало формирование редакционного наблюдательного совета по HTML Math. Впоследствии эта рабочая группа разрослась, и в марте 1997 года была формально повторно сформирована как первая W3C Math Working Group. Вторая W3C Math Working Group была сформирована в июле 1998 года.
Проект MathML отражает интересы и мнения различных групп специалистов. Многое в развитии MathML заслуживает специального упоминания. Например, это касается вопроса общедоступности, где были особенно ощутимые затруднения. В этом направлении много работы проделал T. V. Raman. Neil Soiffer и Bruce Smith из Wolfram Research поделились своим опытом в решении проблем представления математического материала, накопленным при работе над проектом Mathematica 3.0. Их идеи оказали важное влияние на структуру элементов представления. Paul Topping из Design Science также внес свой вклад в математическое форматирование и редактирование. Много пользы извлек MathML из партнерства с рядом членов рабочих групп, связанных с другими работами по кодированию математической информации в SGML и в сообществах компьютерной алгебры. В их числе StephenBuswell из StiloTechnologies, NicoPoppelier из ElsevierScienceStéphaneDalmas из INRIA (SophiaAntipolis), StanDevitt из WaterlooMaple, AngelDiaz и RobertS. Sutor из IBM, и StephenM. Watt из UniversityofWesternOntario. Также, на MathML повлиял проект OpenMath, работа рабочей группы ISO 12083 и работа Stilo Technologies над фрагментом DTD для 'семантической' математики. Американское математическое общество играло ключевую роль в развитии MathML. Помимо прочего, председателями обеих W3C Math Working Group стали представители этой организации. С мая 1996 по март 1997 года группу вел Ron Whitney. Patrick Ion был сопредседателем группы с марта 1997 по июнь 1998 вместе с Robert Miner из The Geometry Center, а с июля 1998 вместе с Angel Diaz из IBM.
Спрос на эффективные средства обмена научной информацией остается по-прежнему высоким. Все больше и больше исследователей, ученых, инженеров, учителей, студентов, работая в различных местах земного шара, полагаются на электронные средства коммуникации. В тоже время, методы распространения научной нотации, основанные на графическом представлении, преобладающие сейчас в Сети, примитивны и неадекватны. Качество документов оставляет желать лучшего, создание - сложно, а математическая информация, содержащаяся в картинках, не доступна для поиска, индексации и повторного использования в других приложениях.
Существует две основных проблемы с использованием HTML.
Проблема отображения. Рассмотрим уравнение 22x=10. Размеры изображения подобраны так, чтобы соответствовать окружающему тексту размера 14 pt в системе, где оно было создано. Естественно, что в других системах или при другом размере текста уравнение будет выглядеть не так, как задумывал автор. Кроме того, изображение с этим уравнением создавалось в предположении, что у документа будет белый фон. Таким образом, если читатель или браузер установит другой цвет страницы, то в результате вокруг текста возникнет белый "ореол".