跨浏览器XML数据岛,可以包含脚本标记

jbe*_*rd4 9 html xml internet-explorer cross-browser

我有兴趣将用于描述Statecharts的XML应用程序SCXML嵌入到HTML中.Internet Explorer具有所谓的"XML数据岛",它为此问题提供了一个优雅的解决方案.或者,IE9和大多数现代非IE浏览器允许将内容作为XHTML提供,这允许混合不同的文档类型,以便使用XML命名空间创建复合文档.此外,我在Mozilla的wiki上找到了这个建议,它似乎在XML Data Islands中提供了HTML5方法(我在这里非常宽松地使用这个术语).

Mozilla方法似乎提供了在HTML页面中嵌入XML内容的最佳整体技术.问题是如果嵌入的XML内容包含"</ script>"标记(它是SCXML语法的一部分),它就不起作用.

是否有一种优雅的跨浏览器方法可以在HTML页面中嵌入任意XML内容,包括包含脚本标记的内容?

Lec*_*cki 0

我认为嵌入脚本元素仍然是最流行的选择。
如果您期望 XML 中有一个元素,您可能需要:
a) 使用对象元素作为包装器
b) 在 XML 中使用命名空间,因此它是 scxml:script
c) 使用完全不同的方法,例如传递预渲染图表也许是图像。
另一种方法是使用浏览器本身支持的 SVG,因此根据具体要求,操作应该更容易一些。
d) 在将嵌入的脚本元素包含在页面中之前将其剥离?SCXML 允许 ECMAScript,但我想知道您是否希望将它们作为解析的一部分来执行?
e) 分别处理 SCXML 和其余部分 - 应用 ID/IDREF,以便您知道 SCXML 的哪一部分适用并将其放在单独的块中。