1.1.8-SNAPSHOTいいですぞ
現行の仕事が、mayaa使う側で開発中に、いろいろ扱いにくいところが見つかってきたので、コミッタらしく久々にいろいろアップデートしました。
- (rev.2934) プロセッサの必須属性を空文字として定義していた場合は、属性の定義が ない場合と同じ扱いのエラーとしました。 - (rev.2938) attributeプロセッサのvalueを指定しないことで属性値なしの出力を 可能にしました。旧仕様のHTMLの CHECKED SELECTED や、SGML用途に使用できます。 ただし非推奨機能としていますのでデフォルトで有効になりません。 この機能を有効にするには、標準プロセッサ定義である mayaa.mld を直接編集して、 attributeのvalue属性のrequired="true"を除外する必要があります。 - (rev.2939) 論理値の属性に対して、論理値とならない設定がされている場合に ビルドエラーとしました。 - (rev.2940) writeプロセッサを機能拡張しました。 ・value属性以外に、ボディで書き表すことができるようにしました。 両方指定した場合は valueが優先されます。 ・value属性内から、bodyTextというwriteプロセッサ専用の値が利用できます。 bodyTextを参照すると、writeプロセッサのボディ内容が得られます。 writeプロセッサがボディを持たない場合は、対象のHTMLテンプレート内容と なります。 - (rev.2941) insertプロセッサのpathの指定にスクリプトが使えるようになりました。 これにより実行時に動的にコンポーネントを差し替えることが可能になります。
チェックの強化
if test で、${ } で括らないで気付かないまま常に真として評価されるなんてことがあるので、ビルドエラーになっています。また、属性値が空で深いところでIllegalStateExceptionが発生して親切じゃなかったので必須属性のチェックを強化しました。
標準プロセッサの強化
writeプロセッサとinsertプロセッサの利便性をあげました。特にwriteのボディ書き対応はかなり強力です。そのボディ出力結果をざくっと取り込んじゃうbodyText変数も強力です。どちらも、これまでと同じ使い方をしているかぎりパフォーマンスは変わらないように実装しています。