TALES
TALES(TAL式) はTAL のリソース(オブジェクトでも変数でもなんでもいいのだが)として指定されるもので、実装依存部と非依存部があるみたいです。基本的には実装依存と考えていいのかもしれませんが、Zopeで使うだけなら気にしなくてもいいのかなぁ・・・。ま、いいか。
- path:
パスはTALESのデフォルトで、TALの説明でなにもいわずに "aaa/bbb"とかしているのは "path:aaa/bbb" といっしょだからということです。で、知らずに "/jack/test" とかやってみたのですが、それはまちがいで、それをやるなら "root/jack/test" になる模様。
- nothing: , default:
パイプ構文"|"で使われることも多いこの二つは、nothing がNULL、defalut がなにもしない(タグの中を変更しない)ということみたいです。
- repeat: TALのrepeat構文で説明したとおりっす。きっと。
- options: Python からくる値のようですが、まだ、わかりません
- attrs: そのタグの属性の初期値を辞書型でもってこれるみたいです。
- CONTEXTS: 標準的な変数のリスト・・・使ってくうちにわかると信じます。
- root: rootFolder相当です。
- template: テンプレートそのもののオブジェクトです
- here: 変換中のコンテキストまたはそれを呼びだしているオブジェクトです。
templateと here の違いが最初わかんなかったのですが、どうやら、テンプレートが存在するのはたいがいフォルダなんで、実際に呼び出すということを考えると、フォルダからテンプレートが呼びだされるわけです。この場合 /jack に test というテンプレートを作ったとしたら、here/id は jack で template/id が test になるわけです。獲得を考えるとそういう意味なんだろうな、とは曖昧におもってます。
- user: 閲覧ユーザをアクセスするオブジェクトです。権限とかみるんでしょう。たぶん
- container, modules, requests: 不勉強すぎて書けません。
- パイプ構文
パス式を | で繋げて、左から順番に評価する方式です。だめだったらこれで、それでもだめだったらこれ、みたいなことを意味します。 <pre> "request/aaa | here/aaa | template/aaa | nothing" とか。 </pre>
- ポインタ渡し(じゃないって)
オブジェクトのプロパティのうち、全部でない多数で数式処理できないものにアクセスする場合、特にパスが深いと大変重くなる可能性があります(root/jack/test/car 以下に car 型のオブジェクトがいっぱいあるとか、で name とか turbo とか engine とかいろいろあるのを見たいとか)。そういうときには nocall: を define で使うといいそうです。
- nothing: , default:
<pre> <span tal:define="mycar nocall:root/jack/test/car/car1"> <span tal:content="mycar/name">Car name</span"> <span tal:content="mycar/turbo">Turbo</span"> <span tal:content="mycar/engine">EJ-20</span"> </span"> </pre>
- string:
単純テキストの他に${パス式}でpath式をまとめることができるみたいですが、可読性が落ちそう(^^;;)
- python:
まだ、パス。