> http://www.waveprotocol.org/faq#TOC-What-s-the-XML-schema-for-waves-Why
解决方法 我在这里假设你了解OT的基础知识。将HTML作为纯文本做OT的主要问题是合并HTML标签。作为一个简单的例子,说我们有一个文件如下:Hello world
爱丽丝然后决定世界应该是粗体:
Hello <b>world</b>
这可以通过OT中的双重插入 *** 作来表示:示意性地:
Edit A: Keep 6 : Insert "<b>" : Keep 5 : Insert "</b>"
如果鲍勃决定在看到爱丽丝的编辑之前,“世界”应该是斜体,那么他会添加这个 *** 作
Edit B: Keep 6 : Insert "<i>" : Keep 5 : Insert "</i>"
如果服务器在Alice之后接收到Bob的编辑,则需要将B转换为A变为B’。
通过转换,Keep语句不变,但插入“”可以变为“插入”“插入”或“插入”“保留3”。通常,服务器将被配置为在第一次编辑后放置后续编辑。
Edit B': Keep 6 : Keep 3 : Insert "<i>" : Keep 5 : Keep 3 : Insert "</i>"
这里的问题变得很明显。应用A然后B’到原始字符串给无效的HTML:
Hello <b><i>world</b></i>
从理论上讲,这可以通过改变前置和后置插入来解决,但是对于更复杂的例子,这将会变得毛茸茸,可能涉及到每次转换的完整文档扫描。
正如另一个答案指出的,这个混乱可以避免使用带外注释纯文本。在学术论文中我迄今为止看到的另一种方法是将XML结构视为具有OT *** 作的树,用于节点添加,删除,例如:
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.74
总结以上是内存溢出为你收集整理的实时 – 如果简单地将其视为纯文本,是否可以对结构化文档(如HTML)进行 *** 作转换?全部内容,希望文章能够帮你解决实时 – 如果简单地将其视为纯文本,是否可以对结构化文档(如HTML)进行 *** 作转换?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)