XMLTemplate
XMLTemplate["string"]
TemplateApply等の関数を用いて適用される,XMLテンプレートを表すTemplateObjectオブジェクトを与える.
XMLTemplate[src]
File[…],URL[…]あるいはCloudObject[…]を文字列テンプレートのソースとして使う.
XMLTemplate[form,args]
クラウド配備あるいは他の評価に適した引数のあるTemplateObjectを返す.
詳細とオプション
- XMLでは,次の基本タグを使うことができる.
-
<wolfram:slot> TemplateSlot <wolfram:expr> TemplateExpression <wolfram:if> TemplateIf <wolfram:which> 複数のTemplateIf <wolfram:sequence> TemplateSequence <wolfram:with> TemplateWith <wolfram:template> TemplateObject <wolfram:get> Get <wolfram:comment> 無視されるべきコメント <wolfram:verbatim> 逐語的なXML - <wolfram:slot inserter=f>は,TemplateSlotにおけるオプション設定のInsertionFunction->f を指定する.
- <wolfram:expr inserter=f>は,TemplateExpressionにおけるオプション設定InsertionFunction->f を指定する.
- <wolfram:slot/>はTemplateSlot[1]に等しい.
- <wolfram:if test=test>body</wolfram:if>は,test を評価した結果がTrueのときは body を描画するように指定する.
- <wolfram:which> ... </wolfram:which>は,任意の数の<wolfram:if ...> ... </wolfram:if>と,追加的な単一の<wolfram:else> ... </wolfram:else>を包み込むことができる.「if」検定は連続的に評価される.最初にTrueになったものが「which」の最終的な形になる.
- <wolfram:sequence attr>body</wolfram:sequence>は,次の属性をサポートする.
-
values (必須) それについて body を繰り返すリストあるいは連想 slot 1 body に渡されるテンプレートスロットの名前 index 2 body に渡される位置指標の名前 delimiters Sequence[] 繰り返された body の間に挿入されるデリミタ default Sequence[] 値がない場合に使用する形式 inserter Inherited InsertionFunctionオプションの設定値 - <wolfram:with key1=val1 key2=val2 ...>body</wolfram:with>は,テンプレートが適用された場合に,body の keyiを valiで置換するように指定する.
- <wolfram:template attr>body</wolfram:template>は,body とともに使用されるTemplateObjectについてのオプションを定義する,次の属性をサポートする.
-
inserter Inherited InsertionFunctionオプションの設定 combiner Inherited CombinerFunctionオプションの設定 - <wolfram:get attr/> は次の属性をサポートする.
-
path (必須) ファイルまたはURLパス inserter Inherited InsertionFunctionオプションの設定 combiner Inherited CombinerFunctionオプションの設定 - XMLTemplateのオプション
-
InsertionFunction "HTMLFragment" 式を挿入する前に適用する関数あるいは形式 CombinerFunction StringJoin 結果を返す前に断片を繋ぐために適用する関数 - XMLTemplate[File[…]]およびXMLTemplate[URL[…]]では,ソースファイル等のコンテンツは文字列としてインポートされる.
例題
すべて開くすべて閉じる例 (2)
aおよびbという名前のスロットがあるXMLテンプレートを適用する:
TemplateApplyを使った同等の形式:
XMLTemplateはStringTemplateと同じシンタックスをサポートする.<*…*>内の式はテンプレートが適用されたときに評価される:
スコープ (4)
Fileが完全にサポートされている:
テンプレートはWolfram Cloudに置くことができる:
XMLTemplateの第2引数を使ってデータとテンプレートを関連付けることができる:
URLを使ってテンプレートを取り出すことができる:
オプション (2)
InsertionFunction (1)
アプリケーション (9)
<wolfram:slot id='...' inserter='...'>...</wolfram:slot>
<wolfram:expr inserter='...'>...</wolfram:expr>
<wolfram:if test='...'>...</wolfram:if>
<wolfram:which><wolfram:if test='...'>...</wolfram:if></wolfram:which>
「which」を使って複数の「else if」節をネストさせる:
<wolfram:sequence values='...' ...>...</wolfram:sequence>
デフォルト値(StringTemplate)を使う:
<wolfram:with key$1='val$1' ...>...</wolfram:with>
<wolfram:get path='...'><wolfram:slot id='...'/>...</wolfram:get>
「パス」からのテンプレートを含める.「パス」はStringTemplateである:
テンプレートを拡張する.HTMLページのためのテンプレートの例:
<wolfram:template ...>...</wolfram:template>
「テンプレート」を使って挿入関数と結合関数を無効にする断片を作る:
<wolfram:comment>...</wolfram:comment>
特性と関係 (1)
XMLTemplateを評価するとTemplateObjectになる:
考えられる問題 (1)
XMLTemplateの第2引数中のデータはTemplateApply内の引数よりも優先される:
おもしろい例題 (1)
XMLTemplateをクラウドに配備することができる.URLを開くと,毎回TemplateApplyがテンプレートを描画する:
テキスト
Wolfram Research (2014), XMLTemplate, Wolfram言語関数, https://reference.wolfram.com/language/ref/XMLTemplate.html.
CMS
Wolfram Language. 2014. "XMLTemplate." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/XMLTemplate.html.
APA
Wolfram Language. (2014). XMLTemplate. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/XMLTemplate.html