logo
Самоучитель по Maple

43. Пакет xmlTools

Пакет ХМLTools

В Maple 7 резко расширены средства интеграции с Интернетом. Это сделано не только на уровне специфических для математических приложений средств, таких как рассмотренный выше пакет 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>