6

E4X (Ecma-357) は、XML リテラルをファーストクラスのプリミティブとして追加する ECMAScript の拡張機能です。これは素晴らしいことですが、Mozilla と Adob​​e のサポートのみ (V8 と IE のサポートもなし) では、E4X は、最新のブラウザーを使用するユーザーをサポートしなければならない Web 開発者の観点からは事実上死んでいます。

JavaScript での XML リテラルの実装に関して、他にどのような作業が行われていますか? 誰かが取り組んでいる JavaScript の XML リテラルまたは E4X に似たものを取得する方法はありますか? フレームワーク用のプラグインでしょうか?

先日、JavaScript に似た言語で XML リテラルを実装している LunaScript (asana.com/Luna) に出くわしました。それは素晴らしいことですが、おそらく Asana で働くことはないので、LunaScript を書くことはありません。

4

3 に答える 3

2

JavaScript での XML のオープン ソース プロジェクトがあります。

http://xmljs.sourceforge.net/

XML for <SCRIPT>は、標準に準拠した強力な JavaScript XML パーサーであり、Web アプリケーション設計者が XML データのクライアント側操作を利用するクロスプラットフォーム アプリケーションを実装できるように設計されています。XML for <SCRIPT>以下を含む完全なツール スイートを提供します。

* A standards-compliant W3C DOM Level 2 processor
* An XPath processor
* A standards-compliant SAX processor
* A simple (classic) DOM processor
* Proxies for XML retrieval from any domain
* Utilities for XML and application development

XML for <SCRIPT>はフリー ソフトウェアであり、オープン ソース ライセンスである GNU Lesser General Public License (LGPL) の条項に基づいて配布されています。

于 2010-02-14T05:41:49.490 に答える
2

個人的には、XML リテラルの利点はまったくないと思います。

var el= <foo>bar<baz/></foo>;

は、次のものよりも著しく優れているわけではありません。

var el= new XML('<foo>bar<baz/></foo>');

JavaScript に正規表現リテラルを追加することには合理的な理由がありました。(個人的には生の文字列の方がよかったのですが。) バックスラッシュは XML では一般的ではないため、そのような正当な理由はないと思います。

XML の完全な (複雑な!) 構文を基本的な言語構文として追加することは、得策ではありません。実際、実際には重大なセキュリティ上の問題が発生しています。

私は E4X をなくしたいと思っています。

于 2010-02-14T10:13:04.450 に答える
1

js-xml-literalは、コードの書き換えによって、任意の Javascript エンジンで XML リテラルのサポートを追加します。

https://github.com/laverdet/js-xml-literal

構文は E4X のサブセットですが、API は DOM をより厳密に模倣しています。クライアント側では、XML リテラルを使用してブラウザの DOM と直接やり取りできます。サーバー側 (NodeJS) では、文字列にフラッシュする前に仮想 DOM を操作できます。

于 2011-01-06T21:49:02.127 に答える