[1] [DFN[E4X]] ([DFN[ECMAScript for XML]]) は [[XML]] の native support を追加した [[ECMAScript]] を拡張した言語です。 [2] 仕様書: - [[ECMA‐357]] [CITE[ECMAScript for XML (E4X) Specification]] 1[SUP[st]] Edition (June 2004) -- [CITE[Standard ECMA-357]] ([[名無しさん]]) [3] [CITE[mozilla/js/rhino/examples/E4X/e4x_example.js]] ([[名無しさん]]) [4] なんかしらないけど [[E4X]] が微妙に流行ってる? ([[名無しさん]] [WEAK[2005-09-23 17:11:21 +00:00]]) [5] [CITE[E4X - MDC]] ([[名無しさん]]) [6] [[E4X]] は [[JavaScript 1.6]] [WEAK[([[Gecko 1.8]] / [[Firefox 1.5]] 以降で対応)]] に取り込まれました。 ([[名無しさん]]) [7] [[E4X]] を [[HTML]] に埋め込む時は、 [PRE(HTML example code)[ ]PRE] のようにします。 [[JavaScript 1.6]] な環境では [CODE(MIME)@en[[[e4x]]=1]] 引数が無くても [[E4X]] が有効になるようですが、 後方互換性のためには明記しておいた方が良いでしょう。 ;; 特に [[HTML]] の[[注釈宣言]] [WEAK[(のようなもの)]] の取り扱いで予期せぬ誤りのもとになります。 ([[名無しさん]] [WEAK[2005-11-19 01:24:16 +00:00]]) [8] [CITE[Kazuho@Cybozu Labs: E4X-XSS 脆弱性について]] ([CODE[2007-01-11 09:01:03 +09:00]] 版) ([[名無しさん]] [WEAK[2007-01-11 00:11:46 +00:00]]) [9] [CITE[Collection & Copy - ヒアドキュメント、E4X]] ([CODE[2007-04-23 08:44:54 +09:00]] 版) ([[名無しさん]]) [10] [CITE[Latest topics - outsider reflex]] ([[Piro(SHIMODA Hiroshi)]] 著, [CODE[2007-04-23 09:22:51 +09:00]] 版) ([[名無しさん]] [WEAK[2007-04-23 00:25:25 +00:00]]) [11] [CITE@ja[E4X in Firefox 発表資料: Days on the Moon]] ([CODE[2007-04-23 09:52:13 +09:00]] 版) ([[名無しさん]] [WEAK[2007-04-23 00:52:32 +00:00]]) [12] [CITE@ja[Mar 25 2007 :: Shibuya.js Shibuya.es / nulog, NULL::something : out of the washer]] ([CODE[2007-04-23 10:01:42 +09:00]] 版) ([[名無しさん]] [WEAK[2007-04-23 01:04:54 +00:00]]) [13] [CITE[Hatena::agenda]] ([CODE[2007-06-04 13:05:55 +09:00]] 版) ([[名無しさん]] [WEAK[2007-06-04 10:55:36 +00:00]]) [14] [PRE[ [URL=http://apbidprr.com]mmzrhfnn[/URL] fkkcvxrf eavgyqpf http://fzrvhpkf.com dpfqjytc ymcdwgxz ([[awfvvazt]] [jmxvmgjx@sftnbxwi.com] [WEAK[2007-06-16 05:23:15 +00:00]]) ]PRE] [15] [CITE[Bug 311071 – treat ([[名無しさん]]) [16] [CITE[Bug 309242 – E4X should be on by default, while preserving the comment hiding hack]] ([CODE[2008-04-07 08:24:49 +09:00]] 版) ([[名無しさん]]) [17] [CITE[Bug 311157 – Comment-hiding compromise left E4X parsing/scanning inconsistent]] ([TIME[2008-04-07 08:25:31 +09:00]] 版) [18] [CITE[E4Xのデフォルトnamespaceが... - hogehoge]] ([TIME[2009-03-31 08:27:06 +09:00]] 版) [19] [CITE[E4Xは確かに便利なんだけど... - hogehoge]] ([TIME[2009-03-31 08:28:21 +09:00]] 版) [20] [CITE@ja[FirefoxのE4XはXPathより便利? - bits and bytes]] ([[Kentaro Kumagai]] 著, [TIME[2009-03-31 08:29:39 +09:00]] 版) [21] [CITE[C++ で無理矢理 E4X のような XML 埋め込みを実現してみる - muddy brown thang]] ([TIME[2009-05-05 10:35:57 +09:00]] 版) * [CODE(MIME)@en[e4x]] 引数 ([CODE(MIME)@en[text/javascript]] 媒体型) [22] [CODE(MIME)@en[[[text/javascript]]]] [[媒体型]]の [DFN[[CODE(MIME)@en[e4x]] [[引数]]]]は、[[E4X]] が完全に有効であるかを表します。 [23] :[[媒体型]]:[CODE(MIME)@en[[[text/javascript]]]] :[[引数名]]:[CODE(MIME)@en[[[e4x]]]] (「[[E4X]]」より) :値:[CODE(MIME)@en[[[1]]]] :[[既定値]]:[CODE(MIME)@en[[[version]]]] に依存 :状態:非標準 ** 値と意味 [24] [CODE(MIME)@en[[[e4x]]=[[1]]]] とすると、 [[E4X]] が完全に有効となります。 指定がない場合、 [CODE(MIME)@en[[[version]]]] が 1.5 以下では一部が無効、 1.6 以降では完全に有効となります。 ([CODE(MIME)@en[[[version]]]] の[[既定値]]は最新版のようです。) [25] [CITE@en-us[E4X - MDC]] ([TIME[2010-02-11 13:31:50 +09:00]] 版) によると、[CODE(MIME)@en[[[e4x]]]] が 1 の場合にはすべての [[E4X]] の機能が有効になりますが、 そうでない場合 (で 1.5 以下の場合) には[[注釈]]と[[CDATA区間]]が無効になるようです。 ** 実装 [26] この機能は [[JavaScript 1.6]] の一部として [[Gecko]] が最初に実装しました。 [27] [[Web Applications 1.0]] は[[スクリプト]]の処理の規定の中で [CODE(MIME)@en[[[text/javascript]]; [[e4x]]=[[1]]]] を [[JavaScript]] + [[E4X]] を意味するとしています。 ただし [[Web Applications 1.0]] 自体が [CODE(MIME)@en[[[e4x]]]] [[引数]]を規定しているわけでも、[[著者]]に対する要件を定めているわけでもないので、 この[[引数]]自体は依然標準化されていない状態が続いています。