ActionScript 3に触っている関係で、今XMLのクエリに何を使うかと問われれば、当然E4X。E4XはXMLをECMAScriptにそのまま組み込むための規格で、AS3はこれに対応している。
- ECMAScript for XML(http://www.kmonos.net/wlog/49.php#_1520050427)
- E4X Introduction and Overview(http://labs.macromedia.com/wiki/index.php/ActionScript_3:resources:apis:E4X:overview)
これがすげー使いやすい。例えば、
var bl:XML = bulletml.bullet.(@label == ci.bulletRef.@label)[0];
とかやると、特定のbulletRef要素と同じlabel属性を持つ、bullet要素が一発検索できる!とてもとても便利ね。D言語にも似たような機構が付いてくれるといいな。