5

Google Wave 中使用的操作转换材料具有一种相当奇怪的文档格式。一个文档基本上只是一个 xml 子集文档——字符、开始标签和结束标签。除此之外,文档还有“注释”,它们是与范围相关的元数据,例如开始位置和结束位置。白皮书通过以下方式证明了他们的存在:

Wave 文档操作也支持注释。注释是与项目范围相关联的一些元数据,即开始位置和结束位置。这对于描述文本格式和拼写建议特别有用,因为它不会不必要地使底层结构化文档格式复杂化。

我当然可以看到,如果选择文档中的任意范围并例如加粗 - XML 标记嵌套是严格的,这将导致打开和关闭标记插入混乱,这将是多么困难。

然而,这在实践中真的是一个问题吗?我的意思是,如果不制作一个基本上模仿多年前的文字处理范例而不是结构化编辑器的编辑器,是否必须支持这种操作?将文档结构与 HTML5 一样的纯 XML 操作转换会那么糟糕吗?样式作为标签出现在文档中是性能问题吗?或者,如果用标签表示,操作转换模型是否会以某种方式在文本格式上产生不令人满意的结果?

另外,一个附带问题 - 纯“插入字符、删除字符、保留”操作转换模型在纯文本表示上的效果如何?例如,将 HTML5 编辑为文本 - 或编辑 Wikipedia 文章?

4

2 回答 2

2

在 OT 中使用分层标记语言存在一些基本问题。请参阅下面的工作示例:

如果仅将其视为纯文本,操作转换是否适用于 HTML 等结构化文档?

于 2012-09-16T08:31:37.633 回答
2

这个选择对我来说是有意义的几个方面的优化:

  • 底层文档尽可能保持人类可读和可解析
  • 解析底层 XML 的算法保持尽可能简单(有助于与非 google 尝试解析结果文档的兼容性以及维护)
  • 在多次编辑后,额外收集的垃圾可能会导致很大的性能损失 - 由于标签的数量和/或文档上的额外传递试图简化它。
于 2010-12-11T05:51:09.863 回答