BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Google开放HTML5解析库Gumbo的源代码

| 作者 Abel Avram 关注 7 他的粉丝 ,译者 马德奎 关注 0 他的粉丝 发布于 2013年8月20日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Google已经开放了Gumbo的源代码,这是一个用C编写的HTML解析库。该库符合HTML解析算法标准,它通过了所有的html5lib-0.95测试,并且已经在Google索引的25亿个网页上进行过测试。

根据该项目的说明页,Google发布Gumbo的目的是为开发人员提供一个轻量级的HTML解析库,它没有外部依赖,而且大多数语言都可调用它。该库可以包含在Web页面验证器、静态分析器、模板语言和重构工具等应用中。

Google认为,Gumbo“对于不够标准的输入,它健壮而有弹性”,但是,由于ABI将来可能发生变化,所以不推荐维护指向Gumbo的一些内部数据结构的指针。不过,该API被认为相当稳定。Gumbo 1.0会在不久的将来发布,在此之前,项目团队将一直等待开发人员的意见。

下面是一些将来会增加的功能:

  • 支持最近的HTML5规范变更,以支持模板标签
  • 支持片段解析
  • 全功能的错误报告
  • 在其它语言中的绑定

在HTML5解析算法标准化之前,每个浏览器自主选择如何标记输入页面和如何渲染页面。虽然HTML 4对于有效标记有详细说明,但是却没有指出在输入无效时浏览器应该做什么,所以世界上95%的Web页面都不能通过W3C参考验证器的验证。使用像Gumbo这样的工具验证HTML页面,可以保证页面在所有主要的浏览器中得到恰当地解析和渲染。

查看英文原文:Google Open Sources Gumbo, An HTML5 Parsing Library


感谢马国耀对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

sdf by ri de wei

asdf

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT