【发布时间】:2017-10-29 17:43:16
【问题描述】:
有人知道 ECMAScript for XML(E4X;ECMA-357 2º 版)并阅读其规范吗?已弃用,我知道。要开始我的问题,请让我先指出一些事情:
E4X 允许 <x/> 之类的表达式,因此可以使用 XMLInitialiser | XMLListInitialiser 产生式扩展 PrimaryExpression。
但是,他们说:
XML 初始化器的句法文法处理由词法文法目标符号 InputElementXMLTag 和 InputElementXMLContent 产生的输入元素。这些输入元素在第 8.3 节中描述。
(对于 XML 列表也是如此。)
那么,XMLInitialiser 不应该也处理 InputElementRegExp 吗?规范试图拒绝这一点。请检查以下定义:
XMLInitialiser:
XMLMarkupXMLElement
XMLElement:
-
XMLTagContentXMLWhitespaceopt/>
还有,
InputElementXMLContent ::
- 还有更多...
它们都使 可用,但是如何解析需要 InputElementRegExp 的其他表达式?
【问题讨论】:
-
鉴于自 2014 年以来一直是 obsolete and deprecated,为什么有人想在 2017 年底深入研究 ECMAScript for XML (E4X)?
-
@kjhughes 因为任何想要实现 ActionScript 3 编译器的人都需要为 XML 实现 ECMAScript,对吧?因为 ActionScript 3.0 扩展了 ECMA-262(3º 版;ECMAScript 3.0)和 ECMA-357(2º 版)。
-
我不会问为什么有人想在 2017 年实现 ActionScript 3 编译器。
-
IIRC,在 Mozilla 试验 E4X 的时候,他们也在尝试重新编写 JavaScript 语法,以便根据最后一个决定
/启动除法运算符或正则表达式令牌。参见Wayback machine archive of JS2.0 syntax,尤其是“句法再同步”部分。
标签: javascript xml specifications e4x