Google Wave 中使用的操作转换材料具有一种相当奇怪的文档格式。一个文档基本上只是一个 xml 子集文档——字符、开始标签和结束标签。除此之外,文档还有“注释”,它们是与范围相关的元数据,例如开始位置和结束位置。白皮书通过以下方式证明了他们的存在:
Wave 文档操作也支持注释。注释是与项目范围相关联的一些元数据,即开始位置和结束位置。这对于描述文本格式和拼写建议特别有用,因为它不会不必要地使底层结构化文档格式复杂化。
我当然可以看到,如果选择文档中的任意范围并例如加粗 - XML 标记嵌套是严格的,这将导致打开和关闭标记插入混乱,这将是多么困难。
然而,这在实践中真的是一个问题吗?我的意思是,如果不制作一个基本上模仿多年前的文字处理范例而不是结构化编辑器的编辑器,是否必须支持这种操作?将文档结构与 HTML5 一样的纯 XML 操作转换会那么糟糕吗?样式作为标签出现在文档中是性能问题吗?或者,如果用标签表示,操作转换模型是否会以某种方式在文本格式上产生不令人满意的结果?
另外,一个附带问题 - 纯“插入字符、删除字符、保留”操作转换模型在纯文本表示上的效果如何?例如,将 HTML5 编辑为文本 - 或编辑 Wikipedia 文章?