2010-12-27 7 views
0

このトピックに関する最近の質問をいくつか聞いたことがありますかどうかにかかわらず、私は関連する技術についてかなりの金額を学んできました。いかなる場合でも;テンプレート正規表現とDOMノードのテンプレート。属性の変更?

私はこれまでに作成したテンプレートエンジンに手を加え、正規表現駆動型からパースエンジンをノード(XML)駆動型に移行しました。ここで、比較のために2は、以下のとおりです。

駆動正規表現:

<body> 
    <!-- {{ region:myRegion }} --> 
     <div class="myClass"> 
      <h1>{{ var:myHeading format:trim[200] }}</h1> 
     </div> 
    <!-- {{ region:myRegion }} --> 
</body> 

駆動ノード:今

<body> 
    <zuq:region name="myRegion"> 
     <div class="myClass"> 
      <h1> 
       <zuq:data name="myHeading"> 
        <zuq:format type="trim"> 
         <zuq:param name="length" value="200" /> 
        </zuq:format> 
       </zuq:data> 
      </h1> 
     </div> 
    </zuq:region> 
</body> 

はるかに詳細な、私はここでのアプローチを駆動するノードである把握しながら、複数のフォーマットノードを外観の順に挿入して処理できるような、フォーマットのような状況に対してはるかに柔軟性があります。

とにかく、私の問題は、属性にあります。

<a href="page.php?param={{ var:myParam }}">Link</a> 

私はしばらくの間、属性値を生成するクリーンな実装を組み込む方法を把握しようとしている:私は属性でテンプレート生成された値を持つようにしたい場合は正規表現主導のアプローチでは、それは同じくらい簡単です書類を整えておく。パーザがデータの修飾語として読み取る可能性のある他の要素の中でも、何かを考慮する必要があります。

アイデア?

答えて

1
<a> 
    <zug:attr name="href">page.php?param=<zug:data name="myParam" /></zug:attr> 
    Link 
</a> 
+0

ありがとうございます** MizardX **;これは、私が何を期待していたかのようなものでしたが、 ''のように空である要素の場合はどうでしょうか? ''に展開するのは正しいですか? – Dan

+0

」と「」は、XMLとXHTMLで同等です。処理後はいつでも空にすることができます。 –

+0

ありがとうございます** MizardX **! – Dan