[mayaa-user:717] Re: m:xpathのクエリーにスクリプト

三浦悟 [E-MAIL ADDRESS DELETED]
2008年 12月 10日 (水) 00:07:58 JST


三浦です。
すみません、追加で質問させてください。

先ほど、例として出させていただいた、

>>> <m:with m:xpath="//li[@class='page_list']/ul/li/a[@href='/${param.pageId}']" >
>>>        <m:doBody />
>>> </m:with>

の場合は、sugaさんのおっしゃる方法で実現できたのですが、

<m:with m:xpath="//li[@class='page_list']/ul/li[a/@href='/${param.pageId}']" >
      <m:doBody />
</m:with>

のようにしたい場合(子要素aのhrefが条件を満たした場合の親要素liの操作)
どのように記述したらいいでしょうか?

<m:echo m:xpath="//li[@class='area_tit']/ul/li" >
	<m:if test="${[E-MAIL ADDRESS DELETED] == path}">
		<m:attribute .....

など、testの中身をいろいろやってみたのですが、うまく行きませんでした。
よろしくお願いいたします。




2008/12/09 23:10 三浦悟 <[E-MAIL ADDRESS DELETED]>:
> 三浦です。
> ご回答ありがとうございます。
>
> id指定したプロセッサの中のm:ifで、属性値の比較とかできるんですね!
> 子要素のidとかも比較条件で使えたりできるのでしょうか?
> もう少しドキュメントを読み込んでみます。
>
>
> 2008/12/09 22:12 suga <[E-MAIL ADDRESS DELETED]>:
>> suga です。
>>
>> xpath は (id もですが) ビルドの動作を指定するものであり、レンダリング時は
>> 既に情報として残りません。
>>
>>
>> 2008/12/9 三浦悟 <[E-MAIL ADDRESS DELETED]>:
>>> <m:with m:xpath="//li[@class='page_list']/ul/li/a[@href='/${param.pageId}']" >
>>>        <m:doBody />
>>> </m:with>
>>>
>>> 実践してみたところ、望んだ動作(aタグをカットしてテキストのみ表示)
>>> をしなかったようでした。
>>
>> たとえばこんな感じですかね。
>> a タグ自体は残りますが、href 属性が消えるので普通はただのテキストに見えます。
>> スタイルで a タグの見た目を変えているなら、非リンク用の class を用意する
>> という意図で notlink という class を指定しています。
>>
>> <m:echo m:xpath="//li[@class='page_list']/ul/li/a">
>>    <m:if test="${ href == '/foobar2.html' }">
>>        <m:attribute name="class" value="notlink" />
>>        <m:attribute name="href" value="${ null }" />
>>        <m:doBody />
>>    </m:if>
>>    <m:if test="${ href != '/foobar2.html' }">
>>        <m:doBody />
>>    </m:if>
>> </m:echo>
>>
>>
>> --
>> suga ( [E-MAIL ADDRESS DELETED] )
>> _______________________________________________
>> mayaa-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/mayaa-user
>>
>


mayaa-user メーリングリストの案内