MathML[Export] - Maple 数式を MathML に変換
MathML[ExportContent] - Maple 数式の content-only MathML 表現への変換
MathML[ExportPresentation] - Maple 数式の presentation-only MathML 表現への変換
使い方
Export( expr )
ExportContent( expr )
ExportPresentation( expr )
パラメータ
expr - MathML で表現可能な Maple の任意の数式
|
説明
|
|
•
|
Maple の数式をマークアップ言語 MathML による表現としてエクスポートすると、 MathML 形式で符号化された、数式を表わすテキストが生成されます。このテキストは、Maple 文字列として生成されるので、印刷することも、以降の処理で使うこともできます。
|
•
|
MathML パッケージでは、MathML としてエクスポートされた 3 種類の符号化テキストがサポートされています。
|
|
1. Parallel MathML 形式 (MathML 並記形式) による符号化。数式の具体的な表示方法と具体的な意味を表現する木状のデータ構造を組にしたもの、
|
|
2. Content-only MathML 形式 (MathML 意味形式) による符号化。
|
|
3. Presentation-only MathML 形式 (MathML 表示形式) による符号化。
|
•
|
Maple の数式をエクスポートして MathML 形式のテキストに変換するには、Export (MathML 並記形式による符号化) または ExportContent (MathML 意味形式による符号化) を用います。意味に関する註釈を解釈できない古いバージョンのブラウザをサポートするため、第三のルーチン ExportPresentation が用意されています。これを用いると、Export によって生成された表現から、Maple のコードと意味に関する註釈を除去したものを生成します。
|
|
これらのルーチンは、Maple の数式を引数として 1 つだけ受け付けます。Maple から MathML への変換が可能な場合には、Maple の数式を表現する MathML 形式のテキストが文字列として返されます。可能でない場合には、エラーが返されます。
|
•
|
MathML 並記形式による符号化は、次の 3 つの部分からなる木状のデータ構造を有しています。
|
|
1. 数式の表示を行うソフトウェアが利用する MathML 表示形式で符号化された部分。
|
|
2. XML による註釈であり、計算を実行するアプリケーションが利用する MathML 意味形式で符号化された部分。
|
|
3. テキストによる註釈であり、入力された数式を Maple の文法に従って記述した部分。
|
|
が、その出力結果を Maple が利用できるように添付されています。
|
•
|
MathML 意味形式で符号化されたものは、並記形式による符号化の第 2 の部分だけからなります。 MathML 意味形式は、計算を実行するアプリケーションと通信を行う場合に、アプリケーションに対して数式の正確な意味を伝えるために利用されます。この形式は高速かつ正確に生成することができるので、符号化を行う別のルーチンとして ExportContent が用意されています。
|
•
|
MathML 表示形式で符号化されたものは、並記形式による符号化の最初の部分だけから構成されています。符号化は、並記形式への符号化を完全に行った後で、意味を表す註釈の部分を省略することにより、実現されています。従って、ExportContent とは異なり、ExportPresentation という手続きの効率は Export よりもかなり悪くなっています。
|
•
|
XMLTools[Print] というルーチンを使うと、MathML[Export], MathML[ExportContent], MathML[ExportPresentation] が返した文字列の表示形式を整えることができます。
|
•
|
これら関数は MathML パッケージに含まれているので、with(MathML) というコマンドを実行した後であれば Export(..) の形で利用することができます。しかし、MathML[Export](..) のようにコマンドの長い形によりいつでも利用することができます。
|
|
|
例
|
|
>
|
MathML[Export]( a + 2 * b );
|
| (2.1) |
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<semantics>
<mrow xref='id5'>
<mi xref='id1'>a</mi>
<mo>+</mo>
<mrow xref='id4'>
<mn xref='id2'>2</mn>
<mo>⁢</mo>
<mi xref='id3'>b</mi>
</mrow>
</mrow>
<annotation-xml encoding='MathML-Content'>
<apply id='id5'>
<plus/>
<ci id='id1'>a</ci>
<apply id='id4'>
<times/>
<cn id='id2' type='integer'>2</cn>
<ci id='id3'>b</ci>
</apply>
</apply>
</annotation-xml>
<annotation encoding='Maple'>a+2*b</annotation>
</semantics>
</math>
| |
| (2.2) |
>
|
MathML[ExportPresentation]( a + 2 * b );
|
| (2.3) |
| (2.4) |
>
|
MathML[ExportContent]( Int( sin( x ) - cos( x ), x = 0 .. Pi/2 ) );
|
| (2.5) |
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<apply id='id13'>
<int/>
<bvar>
<ci id='id5'>x</ci>
</bvar>
<lowlimit>
<cn id='id1' type='integer'>0</cn>
</lowlimit>
<uplimit>
<apply id='id4'>
<times/>
<cn id='id2' type='rational'>
1
<sep/>
2
</cn>
<pi id='id3'/>
</apply>
</uplimit>
<apply id='id12'>
<minus/>
<apply id='id8'>
<sin id='id6'/>
<ci id='id7'>x</ci>
</apply>
<apply id='id11'>
<cos id='id9'/>
<ci id='id10'>x</ci>
</apply>
</apply>
</apply>
</math>
| |
>
|
MathML[ImportContent]( % );
|
| (2.6) |
>
|
ode := diff(y(x),x)-y(x)^2+y(x)*sin(x)-cos(x);
|
| (2.7) |
>
|
MathML[ExportContent]( ode );
|
| (2.8) |
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<apply id='id21'>
<plus/>
<apply id='id5'>
<diff/>
<bvar>
<ci id='id1'>x</ci>
</bvar>
<apply id='id4'>
<ci id='id2'>y</ci>
<ci id='id3'>x</ci>
</apply>
</apply>
<apply>
<minus/>
<apply id='id10'>
<power/>
<apply id='id8'>
<ci id='id6'>y</ci>
<ci id='id7'>x</ci>
</apply>
<cn id='id9' type='integer'>2</cn>
</apply>
</apply>
<apply id='id17'>
<times/>
<apply id='id13'>
<ci id='id11'>y</ci>
<ci id='id12'>x</ci>
</apply>
<apply id='id16'>
<sin id='id14'/>
<ci id='id15'>x</ci>
</apply>
</apply>
<apply>
<minus/>
<apply id='id20'>
<cos id='id18'/>
<ci id='id19'>x</ci>
</apply>
</apply>
</apply>
</math>
| |
>
|
MathML[ImportContent]( % );
|
| (2.9) |
>
|
mml := MathML[Export]( ode ):
MathML[Import]( mml );
|
| (2.10) |
|
|
参照
|
|
codegen[eqn], codegen[MathML], latex, MathML, MathML[Import], MathML[ImportContent], XMLTools, XMLTools[Print], worksheet,expressions,copyMathML, worksheet,managing,exportMathML
|
|
Download Help Document
Was this information helpful?