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

Google Wave中使用的操作转换内容具有相当好奇的文档格式。文档基本上只是一个xml子集文档 - 字符,开始标记和结束标记。除此之外,该文档具有“注释”,其是与范围相关联的元数据,例如,开始位置和结束位置。白皮书证明了他们的存在:   Wave文档操作也支持注释。注释是与项目范围相关联的一些元数据,即开始位置和结束位置。这对于描述文本格式和拼写建议特别有用,因为它不会使底层结构化文档格式不必要地复杂化。 我当然可以看到如果选择文档中的任意范围并且例如用粗体显示会有些困难 - XML标记嵌套是严格的并且会导致打开和关闭标记插入的混乱。 但是,这实际上是一个问题吗?我的意思是,是否必须支持这样的操作,如果不是使编辑器基本上模仿多年的文字处理范例而不是结构化编辑器?将纯XML操作转换为文档结构只是简单的HTML5会是那么可怕吗?是一个性能问题,样式会在文档中作为标记吗?或者,如果操作转换模型用标记表示,它们会以某种方式在文本格式上产生令人不满意的结果吗? 另外,一个附带问题 - 纯粹的“插入字符,删除字符,保留”操作变换模型在纯文本表示中有多好?例如,将HTML5编辑为文本 - 还是编辑维基百科文章?     
已邀请:
使用OT的分层标记语言存在基本问题。请参阅下面的工作示例: 如果简单地将操作转换视为纯文本,那么操作转换是否适用于HTML等结构化文档     
这个选择对我来说是有意义的,可以作为几个方面的优化: 基础文档仍然尽可能具有人类可读性和可解析性 解析基础XML的算法尽可能简单(对于解析生成的文档和维护时非谷歌尝试的兼容性很有用) 经过多次编辑后,额外收集的垃圾可能导致大量性能点击 - 由于标签的数量过多和/或文档上的其他传递以尝试简化它。     

要回复问题请先登录注册