Компьютерная математика Maple

         

Пакет поддержки стандарта MathML

Для представления математической информации на страницах Интернета в последние годы был создан специальный язык MathML. Пока для большинства пользователей MathML — просто «экзотика», но так как наряду с XML его поддерживает World Wide Web Consortium, его вынуждены поддерживать все солидные фирмы — причем не только создающие системы Компьютерной математики. Среди них такие крупные корпорации, как Intel, IBM и Microsoft. В Maple 7 предусмотрена новая возможность поддержки стандарта MathML 2.O. Для такой поддержки используются MathML Viewer (см. урок 2) и пакет MathML.

Пакет MathML дает минимальный набор функций для использования языка MathML:

> with(HathML);

[Export, ExportContent, ExportPresentation, Import, ImportContent]

В нем всего 5 функций, что позволяет разобрать их достаточно детально. Первые три функции служат для экспорта выражений:

  •  Export(expr) — преобразует Maple-выражение ехрr в параллельное MathML-выражение;
  •  ExportContent (expr) — преобразует Maple-выражение ехрr в MathML-выра-жение в формате содержания;
  •  ExportPresentation (ехрr) -преобразует Maple-выражение expr в MathML-выражение в формате представления.

Еще две функции служат для импорта строки в формате MathML и его преобразования в Maple-выражение:

Import(mnlstring) и ImportConterrt(mmlstnng)

Следующий пример наглядно иллюстрирует применение функций пакета расширения MathML для преобразования математического выражения а*х+b вначале в запись на MathML, а затем преобразование этой записи str в Maple-выражение:

> str:=MathML[Export]

( а*х + b );

str := "<math xmlns-http://www.w3.org/1998/Math/MathML'>   <semanticsXmrow xrfe f='id5'xmrow xref='id3'xnii xref='idl '>a</mi><mo>&InvisibleTimes;</moXml xref='id2'>x</mi></mrowxmo>+</mo><mixref='id4'>b</mi>

</mrowXannotati on-xml encodrag='MathML-Content'><apply id='id5'><plus/><apply id='id3'xtft mes/xci id='idl'>             a</ci><ci id='id2'>x</cix/applyxci id='id4'>b</ci></apply>\    </annotation-xml>     <annotationencoding='Maple'> a*x+b                 </annotationx/semantics\ ></math>" > Import(str):a x + b

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


Содержание раздела