2012-03-21 61 views
1

我想自动缩进HTML5输出。我尝试使用的工具是JTidy,但问题是它不支持HTML5元素,例如它会将所有元素移动到标题中,而HTML5在正文中使用它们。漂亮的格式化HTML5输出

由于HTML不是XML,因此我无法使用典型的Java XML工具进行缩进。

+0

HTML可以是XML。你可以让你的HTML像XML一样(关闭所有的标签等),然后这些工具应该可以工作。 – 2012-03-21 16:41:38

+2

不一定如此:例如,作为HTML5中的空属性的“itemscope”在XML中无效。 – 2012-03-21 16:47:08

+0

另外两个例子。 HTML5的doctype不是有效的XML,并且有一些元素不应该被关闭,比如meta。 – 2014-10-13 20:38:18

回答

2

最强大的解决方案

这不是Java,但HTML Tidy for HTML5是由W3C和一个命令行工具,使得它非常灵活的维护。这是一个当前的分支,并按照GitHub home page for the project上的提交时间显示来积极维护。

Java解决方案

如果你不能得到支持HTML5来工作,那么XML仍然是一种选择的latest version of HTML Tidy for HTML5

HTML5肯定不是在所有的设计为XML友好的,但它确实 至少给口惠在 HTML5,其中,在这篇文章中,我会打电话给XHTML5的XML序列化的形式。 ..

有一个XML serialization of HTML5允许您使用任何标准的XML格式工具,以任何你想要的格式进行格式化。

+0

嗯,我意识到这一点,但我们想坚持HTML5。 – 2012-03-21 16:46:17

+0

我只是投票,因为HTML Tidy是一个不完整的算法,不再被主动维护。我相信有人会推荐它,因为他们对应用程序的名称非常熟悉,并且使用它的次数比他们推荐的要少,但对替代品的意识不够。 – austincheney 2012-03-29 02:12:50

+0

@austincheney然后你投票无知,阅读理解,这是HTML HTML Tidy HTML5 **这是一个分支和积极维护,如果你看看在GitHub上的提交时间,他们显示活动在*小时*和*天*,就是**积极**保持据我所知。 – 2012-03-29 12:27:30