-XPathだとこうなるが。。。

<html>
  <body>
    <div class="box">テンプレ文言</div>
  </body>
</html>

というテンプレで、

<maya xmlns:c="http://www.seasar.org/jstl/core">
  <c:out mayaPath="//div[@class='box']"
    value="こんにちは" replace="false"/>
</maya>

ごく当たり前にMayaでXPath対応してみるとこうなるという。。。これだけでは芸がないですけど、以下の例だとちょっとは良い感じ。

<html>
  <body>
    <form action="/do/regist">
      <input type="text" name="userName"></input>
      <input type="submit"></input>
    </form>
  </body>
</html>

というテンプレで、

<maya xmlns:html="http://struts.apache.org/tags/html">
  <html:form mayaPath="//form" 
      action="@action<-ココが悩ましい"/>
  <html:text mayaPath="//form/input[@type='text']"
      property="@name<-ココも悩ましい"/>
</maya>

ま、悩みはあるが、使い方によっては有意義なことができます。もちろんXPathは難しくてという向きにも、mayaIDで直接やればOKですね。しかし、たぶん上記にとどまらないXPathインテグレートがあると思います。熟成するまで寝かせます。考えるのは楽しいけど、使う人には難しいかな。やれることはこれまでの比ではないですけどね。http://d.hatena.ne.jp/masataka_k/20050324#1111630972であるように、昨日のyunaさんのタグブロックをまとめてインジェクトするという機能は今のMayaで実装してあります。

<maya xmlns:h="http://java.sun.com/jsf/html"
         xmlns:x="http://apache.org/myfaces">
  <h:inputText mayaPath="//input[@text='text'][@id='zipcode']"
      value="#{ helloModel.greeting }" replace="false">
    <x:validateRegExpr pattern="^[0-9]{3}[¥-]?[0-9]{4}$"/>
  </h:inputText>
</maya>

MayaのJSF対応はしばらく無いですが、上記例のmayaPathをmayaIDにするとCVSバージョンで出来てる状態です。