Top
3-8. 特定idを処理しない


Documentation

3-8. 特定 id を処理しない

CSS や JavaScript から使うために id 属性を定義しても、Mayaa はそれをプロセッサに対応付けようとします。同じ要素を Mayaa で処理する場合には m:id を使えば良いのですが、Mayaa で処理したくない要素の場合もあるでしょう。

テンプレート上の id を無視する場合には、ignore タグを使ってその id を無視指定します。xpath 指定はできません。

mayaa ファイルに対応する指定がない場合には、初回アクセス時のログに次のような警告が出力されます。

※htmlのidを常に無視したい場合は 5-6「id 属性を無視する」をご覧ください。

the injection id([対象 id の値]) is not found on the template, file://[URL]

簡単な例

ごく簡単なサンプルで実際に使ってみましょう。テンプレートにリスト (ul) があり、リスト要素 (li) の先頭のみを使う場合を考えて見ましょう。

ignore.html
<html>
<body>
    <span id="notfound">not found</span>
    <span id="ignored">ignored</span>
</body>
</html>
ignore.mayaa
<?xml version="1.0" encoding="UTF-8"?>
<m:mayaa xmlns:m="http://mayaa.seasar.org">
    <m:ignore m:id="ignored" />
</m:mayaa>

ブラウザで http://localhost:8080/mayaa/ignore.html にアクセスしてみましょう。

実行結果
<html>
<body>
    <span id="notfound">not found</span>
    <span id="ignored">ignored</span>
</body>
</html>

何の処理も行いませんので、テンプレートがそのまま出力されているのがわかります。Tomcat のログに前述の警告が出ていることを確認してください。「notfound」は警告されますが、無視指定している「ignored」の警告は出ていませんね。

Copyright (c) 2004-2009 the Seasar Foundation and others. all rights reserved.