2007年 02月 11日

E4X namespace

http://subtech.g.hatena.ne.jp/secondlife/20070211/1171120066

var source:String = [
'<?xml version="1.0" encoding="UTF-8"?>',
'<ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2005-10-05">',
	'<OperationRequest>',
	'</OperationRequest>',
	'<Items>',
		'<test>hoge</test>',
	'</Items>',
'</ItemLookupResponse>',
].join("");

var x:XML = new XML(source);
var aws:Namespace  = new Namespace("http://webservices.amazon.com/AWSECommerceService/2005-10-05");
trace("x.aws::Items = " + x.aws::Items);


trace("x.aws::Items.aws::test = " + x.aws::Items.aws::test)

default xml namespace = aws;
trace("default = " + x.Items);

とかいう話、では、ないの、かしら、勘違いの可能性大(寝ぼけてる)

root ノードないの忘れてた。ちょっとなおした (.. => .)

変数の型

あと変数がなんのオブジェクトのインスタンスなのかどうやって文字列として取得するのかわからないお。からストリングなのか null なのかとか trace 通すと toString() さてよくわからない><><。

http://subtech.g.hatena.ne.jp/secondlife/20070210/1171100403

http://livedocs.macromedia.com/flex/2/langref/flash/utils/package.html

getQualifiedClassName つかうと Boolean とか String とかって取得できるみたいです。

でもって trace に一段かます log 関数を作りたいのだけど、どうやってグローバルな関数定義するのかわからない!!!!あふぁ

public function log(... args):void {
	for (var i:uint = 0; i < args.length; i++) {
		var obj:Object = args[i];
		var type:String = getQualifiedClassName(obj);
		trace(<>#[{type} {String(obj)}]</>)
	}
}

可変長引数は ... args とやるらしい。function (a:type, b:type, ... args) とかもできるみたい。よくわかんないいい

http://subtech.g.hatena.ne.jp/secondlife/20070219/1171872801

flickr の geotag

"geotagged" と geo:lon={n} geo:lat={n} のタグを付けるっていうのが自動化されない。"Import EXIF location data" を設定で yes にした場合、map へのリンクは作成されるけど、geotag は付かない。なんでだ!!
そういうものなのかな。geotagged は手動専用? っていうか Yahoo! Maps つかえねー