【发布时间】:2011-11-11 21:33:31
【问题描述】:
背景
我已决定将我的网站作为application/xhtml+xml 提供给任何愿意接受它的人。我明白会有后果,我愿意接受这些后果。
问题
我正在尝试在 PHP 中验证 XHTML5。这样,如果验证失败,我可以将文件作为text/html 提供(嘿,没有人是完美的)。不过,即使在我的情况之外,我的问题也是有价值的。
那么我有哪些选择来验证 XHTML5?
我做了什么:
我已经在我的源代码中使用 PHP 的 DOMDocument 作为模板形式,所以我希望能够使用 DOMDocument::relaxNGValidate 或 DOMDocument::schemaValidate。我既找不到.xsd 也找不到.rng 使用。不过,我想我已经找到了一个directory to make an rng grammar 了。在今天之前,我什至从未听说过 Relax NG。对这个方向有帮助吗?
【问题讨论】:
-
事后看来,我很仓促,您将其退回是正确的。很抱歉给您带来麻烦。
-
看看w3c验证器源代码validator.w3.org/source怎么样,不知道有没有帮助。
-
至少你应该知道,你生产了什么,所以在我看来,这样的验证过程只对测试感兴趣(在发布之前等)。
-
@KingCrunch 如果我生成的代码破坏了 XML,那么当我发送
application/xhtml+xml时,客户端只会破坏它。那不是很好。为他们服务text/html标签汤要好得多。因此自动验证。我们确实有一些(非常少)用户提交的内容,这主要影响本节。 -
在我看来,您只需要确保 XML 是有效的 XML,如果不是,您可以将其发送为
text/html。这是一个正确的假设吗?
标签: php domdocument xml-validation relaxng html