タグ

E4Xに関するsugawaramasayaのブックマーク (5)

  • e4x の落とし穴|_level0.CUPPY

    AS3 になって XML に e4x でアクセスできるのが便利だったのですが、ちょっとした問題に遭遇しました。 node 名に catch (他にしらべたところ if、for、try なども) というパスが含まれる場合、ドットシンタックスでアクセスしようとするとコンパイルエラーになるというものです。namespace などを設定しても上手く動作せず、さらにリストでアクセスしても上手くアクセスできないという非常事態。 最終的には namespace を使用する場合はパスに直接 namespace を含めるとリストでアクセスできることが分かったのですが、ちょっと不便ですね。。 商品情報検索 API などでキャッチコピーなど catch というタグに格納されていることが多いと思うのですが、そのような XML を発見したら要注意です。 以下にまとめてみました。 // catch というノードが存在

  • akihiro kamijo: E4X

    E4X (ECMAScript for XML) は ECMAScript3 の拡張として開発された XML データを扱うための仕様です。2nd Edition が昨年末に公開されています(こちら)。AS3 では新しく E4X のクラスがサポートされ、従来よりもずっと簡単に XML データを扱うことができるようになりました。 AS3 でも AS2 で使われていた XML クラスは XMLDocument と名前を変えて他の関連クラス (XMLNode 等) と共に flash.xml パッケージに含まれています。しかし、これは過去に開発したコードのサポートが主目的で、今後の使用を推奨するものではありません。 さて、まず手始めに E4X の簡単な例を見てみましょう。以下のような XML 文書があるとします。 <order> <book id="1"> <title>learning

  • ECMAScript for XML (E4X) 仕様邦訳

    この文書は ECMA-357 ECMAScript for XML (E4X) Specification 2nd edition を訳者 (nanto_vi) が私的に訳したものであり、Ecma International またはその他の関連団体・個人とは一切関係ありません。 この文書は正規の仕様ではありません。正規の仕様に関しては Ecma International から PDF で公開されています。 翻訳の内容については保障しません。この文書の利用によって発生したいかなる損害についても訳者は責任を負いません。 翻訳上の誤りなどがあれば訳者 (ブログまたはメール <nanto (at) moon.email.ne.jp>) までご連絡ください。 Standard ECMA-357 2nd Edition / December 2005 序文 2002 年 6 月 13 日、BEA S

  • E4X の変数展開 深追い (1) - てっく煮ブログ

    javascript, asE4X の変数展開が E4Xで変数展開、テンプレート - 素人がプログラミングを勉強するブログ で取り上げられていた。 var foo=123; <>変数fooは{foo}です。.toString(); // "変数fooは123です。" ほー。仕様書ではE4XのリテラルXMLでの式評価 - 0x廃棄階層 - 統治局 によると、仕様書には次のようなコードがあるらしい。 var tagname = "name"; var attributename = "id"; var attributevalue = 5; var content = "Fred"; var x = {tagname} {attributename}={attributevalue}>{content}{tagname}>; // Fred タグ名にも属性名にも属性の値にもタグの中身にも使える

  • E4Xで変数展開、テンプレート - 素人がプログラミングを勉強していたブログ

    var foo=123; <>変数fooは{foo}です。</>.toString();//"変数fooは123です。" {や}という文字を入れたい場合は、実体参照にするか、CDATAセクションに入れる必要がある。{}内には、変数だけじゃなくて式とかも入れられる。 文字列を数値文字参照にするブックマークレット: javascript:void prompt('コピーしてください',Array.map(prompt(),function(c)'&#'+c.charCodeAt(0)+';').join('')); 数値文字参照を文字列にするブックマークレット: javascript:void prompt('コピーしてください',prompt().replace(/&#(\d+?);/g,function(i,str)String.fromCharCode(str))); 速度について。 c

    E4Xで変数展開、テンプレート - 素人がプログラミングを勉強していたブログ
  • 1