#dom #testing #html5ever #parser #node #html #html5

markup5ever_rcdom

为 html5ever/xml5ever 中的测试提供的基本、不支持的 DOM 结构。

4 个版本 (破坏性更新)

0.4.0-unofficial2024年8月10日
0.3.0 2024年3月23日
0.2.0 2022年8月18日
0.1.0 2019年12月19日

#243 in 网页编程

Download history 12993/week @ 2024-05-02 12162/week @ 2024-05-09 19686/week @ 2024-05-16 19530/week @ 2024-05-23 15855/week @ 2024-05-30 22817/week @ 2024-06-06 17202/week @ 2024-06-13 16988/week @ 2024-06-20 21820/week @ 2024-06-27 19304/week @ 2024-07-04 16885/week @ 2024-07-11 13884/week @ 2024-07-18 13701/week @ 2024-07-25 16316/week @ 2024-08-01 21559/week @ 2024-08-08 18807/week @ 2024-08-15

72,783 每月下载量
用于 220 个 crates (37 直接使用)

MIT/Apache

740KB
12K SLoC

markup5ever_rcdom

此 crate 专为为 html5everxml5ever 编写自动化测试而构建。它不是旨在作为生产质量的 DOM 实现,并且未对任意、恶意或非平凡输入进行模糊测试或测试。不会为这些问题提供维护或支持。如果您在生产、面向用户的应用程序中使用此 DOM 实现,您将自行承担风险。


lib.rs:

一个简单的引用计数 DOM。

这足以作为静态解析树,但不要用它来构建网络浏览器。 :)

DOM 是一个具有有序子节点的 树结构,可以用类似 XML 的格式表示。例如,以下图表

div
 +- "text node"
 +- span

在 HTML 中将序列化为

<div>text node<span></span></div>

有关更多信息,请参阅维基百科上的 文档对象模型文章

此实现将每个节点关联的信息存储一次,然后分配给子节点。节点本身是引用计数的,以避免复制 - 您可以创建一个新的引用,然后节点将比文档存活得更久。节点拥有自己的子节点,但只有对父节点的弱引用。

依赖项

~0.8–5.5MB
~23K SLoC