繁体   English   中英

JavaScript中的XML文字?

[英]XML literals in JavaScript?

E4X(Ecma-357)是ECMAScript的扩展,它将XML文字添加为第一类基元。 这很棒,但只有Mozilla和Adobe的支持(没有V8和IE支持),从Web开发人员的角度来看,E4X几乎已经死了,它必须支持用户使用任何现代浏览器。

在JavaScript中实现XML文字还有哪些其他工作要做? 有没有办法在JavaScript中获得类似于XML文字或E4X的东西,任何人都在努力? 也许是框架的一些插件?

前几天我遇到过LunaScript(asana.com/Luna),它用类似JavaScript的语言实现了XML文字。 这很好,但我可能永远不会在Asana工作,因此永远不会写LunaScript。

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宽通用公共许可证(LGPL)(一种开源许可证)的条款进行了分类。

就个人而言,我认为XML文字根本没有任何优势。

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

并不是真的明显好于:

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

将正则表达式文字添加到JavaScript有一个合理的理由:否则反斜杠是一种超级痛苦。 (虽然我个人更喜欢原始字符串。)由于反斜杠在XML中并不常见,我认为没有任何这样的理由。

添加XML的完整(复杂!)语法作为基本语言语法并不是一个胜利。 事实上,它在实践中造成了严重的安全问题

我希望E4X不见了,而不是更多相同。

js-xml-literal通过代码重写在任何Javascript引擎中添加对XML文字的支持。

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

语法是E4X的子集,但API更密切地模仿DOM。 在客户端,您可以使用XML文字直接与浏览器的DOM交互; 在服务器端(NodeJS),您可以在刷新到字符串之前对虚拟DOM进行操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM