为什么Google Wave Operational Transform需要注释?

Nak*_*ble 5 google-wave

Google Wave中使用的操作转换内容具有相当好奇的文档格式.文档基本上只是一个xml子集文档 - 字符,开始标记和结束标记.除此之外,文档具有"注释",其是与范围相关联的元数据,例如开始位置和结束位置.白皮书证明了他们的存在:

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

我当然可以看到如果选择文档中的任意范围并且例如用粗体显示会有些困难 - XML标记嵌套是严格的并且会导致打开和关闭标记插入的混乱.

但是,这实际上是一个问题吗?我的意思是,是否必须支持这样的操作,如果不是使编辑器基本上模仿多年的文字处理范例而不是结构化编辑器?将纯XML操作转换为文档结构只是简单的HTML5会是那么可怕吗?是一个性能问题,样式会在文档中作为标记吗?或者,如果操作转换模型用标记表示,它们会以某种方式在文本格式上产生令人不满意的结果吗?

另外,一个侧面问题 - 纯粹的"插入字符,删除字符,保留"操作变换模型在纯文本表示中有多好?例如,将HTML5编辑为文本 - 还是编辑维基百科文章?

jaz*_*mit 2

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

如果简单地将其视为纯文本,操作转换是否适用于结构化文档(例如 HTML)?