2007-03-27
Embed メタデータタグで XML が使える件
[Embed] メタデータタグを使用して、JPEG、GIF、PNG、SVG、SWF、TTF、および MP3 ファイルをインポートできます。
XML ってインポれないじゃん!って思ってたのに昨日使えたのでコンパイラを軽く追ってみるテスト。Embed での埋め込みは AbstractTranscoder を継承したクラスで処理してるので見てみると XMLTranscoder ってあるじゃん!アンドキュメント!!!
StringBuffer source = new StringBuffer(1024);
source.append("package ");
source.append(packageName);
source.append(" { public class ");
source.append(className);
source.append(" { public static var data:XML = ");
文字列埋め込み万歳!というわけで Embed で読み込んだクラスの static data プロパティに XML が埋め込まれると。また mime-type で "text/xml" で指定すれば別に拡張子が xml じゃなくても xml として読み込める。
ShootingStar
ちゃんとリリース文書いてるのが偉すぎるよタッキー。プロジェクト管理とかできそうもない><。
リポD
久しぶりに買った。ウマー。高校の時が一番飲んでいた気がする。部活がなー。
明日が楽しみで寝れない
リフレクションについて語る会を是非とも開きたい。メタデータタグが自分でも記述できるようになっていただなんて!!!夢が広がリング(そして ruby に戻ると桃源郷だなまるで、というか ruby/perl とリフレクション出来すぎて(幸せで)こまるよ…)
Last.fm
久しぶりに見たらすげーインタフェ変わってた
おなか減って死にそう
晩ご飯食べていないのを思い出してしまった。寝るか…。
そうだ!おしえて!koyachiん!
先日の Shibuya.es のときいってた指定したファイルをコンパイルした swf に含める方法があるっぽいよ!っていってたやつを教えてください><ノ
徒歩30分弱
んー。25分かなぁとおもってたら30分弱はかかるなぁ。今日は往復徒歩ってみたので合計一時間弱。双方向とも行きは下り坂帰りは登り坂なので足がパンパン。<運動しろ。
AOContainer での外部からの XML の読み込み
明日の予習(謎)をしていて。
http://www.be-interactive.org/index.php?itemid=207
flex 使って良いのなら、Embed でのデータバインディングでできますよ。サンプルだったらこんな感じ。
package
{
import org.libspark.aocontainer.AOContainer;
import org.libspark.aocontainer.AOContainerFactory;
import flash.display.Sprite;
public class DocumentRoot extends Sprite
{
[Embed(source='config.xml')]
public var Config:Class;
public function DocumentRoot()
{
// 予め、使うクラスを宣言しておかないと
// クラスがリンクされない場合があるので注意してください
HelloJapanese; HelloPrinterImpl;
// ファクトリに設定を渡してコンテナを生成
var container:AOContainer = AOContainerFactory.create(Config.data);
var helloPrinter:HelloPrinter = HelloPrinter(container.getObject('helloPrinter'));
helloPrinter.print();
}
}
}
で、config.xml に DIcon の設定。
hello
mxmlc のメタデータタグは便利だなぁ…。