XMLを使ってみる(その2)
XMLリテラルの中で式を評価
nitoyonさんのblogでjavascriptによるE4Xの扱いについてのエントリがアップされました。
これを読んで次のコードが気になった。
{} で囲まれた部分は Expression(式)として評価される。文はダメ。
function xml1(str){ return <test>{str}</test>; } xml1("Hello").toXMLString(); // <test>Hello</test>
なるほど、XMLリテラルとストリングリテラルの合成みたいなことが出来るのか。
というわけで、ActionScriptでも同様なことが出来るかどうか、以下のようなコードを試してみました。
// Example 3 public function makeAHTML( aStr:String, aURL:String ) :XML { return <a href={aURL}>{aStr}</a>; } public function testF3() :void { var aAHTML:XML = makeAHTML( "GOOGLE", "http://www.google.com/" ); trace( aAHTML.toXMLString() ); // => [trace] <a href="http://www.google.com/">GOOGLE</a> }
出来ました!
しかもこちらの方が、ストリングの合成よりも生のXMLを扱っている感じがして、なんかかっこいい。
(つづく)