Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
Пакет поддержки стандарта MathML | Учебники

Главная > Maple 15 > Пакет поддержки стандарта MathML


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

Пакет поддержки стандарта MathML
Для представления математической информации на страницах Интернета в последние годы был создан специальный язык MathML. Пока для большинства пользователей MathML — просто «экзотика», но так как наряду с XML его поддерживает World Wide Web Consortium, его вынуждены поддерживать все солидные фирмы — причем не только создающие системы Компьютерной математики. Среди них такие крупные корпорации, как Intel, IBM и Microsoft. В Maple 15 предусмотрена новая возможность поддержки стандарта 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 обычных математических выражений, что делает доступной для обычных пользователей подготовку публикации в Интернете, содержащей математические выражения.
Пакет ХМLTools
В Maple 15 резко расширены средства интеграции с Интернетом. Это сделано не только на уровне специфических для математических приложений средств, таких как рассмотренный выше пакет MathML, но и на уровне обычных языков сети, таких как HTML и XML.
Пакет XMLTools служит для поддержки средств языка XML. Этот пакет предоставляет весьма внушительное число функций для этого:
> with(XMLTools):
[AddAttribute, AddCfiild, AttrCont, AttributeCount,         AttributeNames, AttributeValue, AttributeValueWithDefault,      Attributes, CData,    CDataData, CleanXML, Comment, 
CommentText, ConfentModel, ContentModelCount, Element, 
ElementName, ElementStatistics,Equal, FirstChild, FromString,   GetAttribute, GetChild,     HasAttribute, HasChild,
IsCData, IsComment, IsElement, IsProcessinglnstruction,
IsTree, JoinEntities, LastChild, MakeElement, Print,            PrintToFile, PrintToString, ProcessAttributes,       ProcessingInstruction, ProcessinglnstructionData, ProcessinglnstructionName, ReadFile, RemoveAttribute,     RemoveAttributes, RemoveChild, RemoveContent, SecondChild,          Select Attributes, SelectContent, SelectRemoveAttributes, SelectRemoveContent, SeparateEntities, Serialize,
Strip Attributes, StripComments, SubsAttribute,          SubsAttributeName, ThirdChild, ToString, WriteFile]
Рассмотрение этих средств (как и средств поддержки HTML) далеко выходит за пределы тематики данной книги, хотя многие из них достаточно просты. Поэтому ограничимся единственным примером применения функции Print для получения программы на языке XML соответствующей программе задания выражения, рассмотренного в предшествующем разделе:
> XMLTools[Print](К );
<math xmlns=’http://www.w3.org/1998/Math/MathML1>
<semantics>
<mrowxref=’id5′>
mrowxref=’id3′>
<mixref=’idl’>a</mi>
<mo>&InvisibleTimes;</mo>
<mixref=’id2′>x</mi>
</mrow> <mo>+</mo>
<mixref=’ld4′>b</m1>
</mrow>
<annotation-xml encoding=’MathML-Content’>
apply id=’id5′>
<plus/>
<apply id=’id3′>
<times/>
<ci id=’idl’>a</ci>
 <ci id=’id2′>x</ci> 
</apply>
  <cild=’id4′>b</ci>
</apply>
</annotation-xml>
 <annotat1on encoding=’Maple’>a*x+b</annotation>
</semantics>
</math>

Пакет создания внешних программ ExternalCalling
Пакет ExternalCalling служит для создания внешних программ, записанных на языке Maple (или C++). Состав пакета представлен небольшим числом функций:

  •  DefineExternal(fn,extlib) — используя функцию define_external, Maple 15 задает внешнюю функцию fn в таблице функций внешних библиотек extlib;
  •  External LibraryName (basename, precision) — задает имя basename функции и точность вычислений precision для функции внешней библиотеки.

Детальное знакомство с этим пакетом мы опускаем. Заинтересованный читатель найдет нужные сведения в справке по этому пакету.
Пакет линейных операторов Linear-Operators
Пакет линейных операторов LmearOperators — новый пакет, содержащий средства для работы с линейными операторами. Состав пакета виден из его вызова:
> with(LinearOperators);
[Apply, DEToOrePoly, FactoredAnnihilator, FactoredGCRD,
FactoredMinimalAnnihilator,FactoredOrePolyToDE,   FactoredOrePolyToOrePoly, FactoredOrePolyToRE,               IntegrateSols, MinimalAnnihilator, OrePolyToDE,                OrePofyToRE, REToOrePoly, dAlembertianSolver}

Набор функций пакета достаточно представителен. Но, поскольку область применения пакета весьма специфична, рекомендуется знакомиться с его возможностями по справкам на его функции и обзорной статье по нему, имеющейся в обзоре новых пакетов расширения Maple 15 (также размещенной в справочной базе данных пакета).

Статьи по теме

Комментарии запрещены.