实时 – 如果简单地将其视为纯文本,是否可以对结构化文档(如HTML)进行 *** 作转换?

实时 – 如果简单地将其视为纯文本,是否可以对结构化文档(如HTML)进行 *** 作转换?,第1张

概述Google Wave Protocol的常见问题解答说,[HTML]“没有理想的属性”,“HTML使得OT( *** 作变换)难以实现,甚至不可能”[1]。为什么这样呢如果HTML被简单地视为文本,然后再应用OT,会出现什么问题? > http://www.waveprotocol.org/faq#TOC-What-s-the-XML-schema-for-waves-Why 我在这里假设你了解OT的 Google Wave Protocol的常见问题解答说,[HTML]“没有理想的属性”,“HTML使得OT( *** 作变换)难以实现,甚至不可能”[1]。为什么这样呢如果HTML被简单地视为纯文本,然后再应用OT,会出现什么问题?

> 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)进行 *** 作转换?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存