Mathematica 9 is now available
4.1 ページ作成のヒント

ドキュメント4. ページの作成

 

4.1 ページ作成のヒント

このセクションには,ユーザがページを作成するときに役立つ項目をまとめてあります.各項目についてはこのユーザガイドの後半でより詳しく説明してあります.ここでは重要な項目をまとめ,簡単な説明を加えました.これらの項目の要点を押さえることで,サイトの開発がよりスムーズになるでしょう.

4.1.1 変数

webMathematica で作業をする際に理解しておかなければならない変数が2つあります.それは入力変数とページ変数です.

入力変数は,例えばHTMLフォームの入力フィールドから,HTTPのリクエストに付いてきます.入力変数には「$$」という接頭辞が付いているため,Mathematica のコードの中で識別できます.以下の例題ではsetting変数が入力フィールドで設定されます.これはMathematica のコードでは$$settingになります.

<input type="text" name="setting" />

<msp:evaluate>
   If[ MSPValueQ[ $$setting],
      ....
      ]
</msp:evaluate>

入力変数はユーザのサーバへの潜在的なセキュリティの危険を含んでいるので,Mathematica の入力に変換する際は常に特別の関数のMSPBlockMSPToExpressionを使ってください.特に,ToExpressionは入力変数には絶対に使わないでください.次はMSPBlockの使用例です.

<input type="text" name="fun" />

<msp:evaluate>
   MSPBlock[ {$$fun},
      Integrate[ $$fun, x]
      ]
</msp:evaluate>

ページ変数は中間の値を保存するMathematica の変数です.この変数はページ終了と同時にクリアされるのでページ変数と呼ばれます.以下の例題ではページ変数のtmpが,テキスト入力フィールド(これは$$exprという入力変数に保存されています)に入力した式を保存するのに使われています.安全な関数のMSPToExpressionを使って入力をMathematica の式に変換します.

<input type="text" name="expr" />

<msp:evaluate>
   tmp = Null;
   tmp = MSPToExpression[ $$expr] ;
</msp:evaluate>

<p>
<msp:evaluate>
   If[ tmp =!= Null,
      ....
      ]
</msp:evaluate>
</p>

ご自分の変数をページの終了後も保存したい場合は,これをセッション変数にするとよいでしょう.セッション変数および変数全般に関する詳細は「より高度なトピック」の「変数」に詳しく説明してあります.

4.1.2 ページのコード

webMathematica の目的はMathematica をWeb上の計算に使うことです.そのため,WebページにMathematica のコードを置くことが重要になります.これは<msp:evaluate>タグを使って次のようにします.

<msp:evaluate
   Integrate[ 1/(1-x^3), x]
</msp:evaluate>

Mathematica のコードはMathematica の標準的な方法で評価を行い,計算結果がWebのページに表示されます.MSPFormatを使って結果のフォーマットを変更することもできます.Mathematica におけるフォーマットについては「より高度なトピック」の「評価のフォーマット」でより詳しく説明してあります.次はMSPFormatの例です.積分がTraditionalFormにフォーマットされ,結果がGIF画像で表示されます.

<msp:evaluate
   MSPFormat[ Integrate[ 1/(1-x^3), x], TraditionalForm]
</msp:evaluate>

結果をWebで表示したくない場合は,セミコロン(;)を使って隠すことができます.次の例では変数xに割当てが行われていますが,出力は表示されません.

<msp:evaluate
   x = 109;
</msp:evaluate>

webMathematica のページでコードを使う上での最後のヒントは,複数の計算を1つの<msp:evaluate>タグ内でセミコロン(;)を使って区切る方法です.以下をご覧ください.

<msp:evaluate
   x = 109;
   y = 44.5;
   {x+y}
</msp:evaluate>

webMathematica のページでのコードの使い方については,「付録」の「MSP Taglibのリファレンス」で詳しく説明してあります.ここにはwebMathematica のタグについての詳しい説明があります.



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT. CURRENT WEBMATHEMATICA DOCUMENTATION IS NOW AVAILABLE.