我发现一些帖子暗示你可以使用nokogiri gem验证XHTML对其DTD的影响.虽然我已成功使用它来成功解析XHTML(寻找'a'标签等),但我正在努力验证文档.
对我来说,这个:
doc = Nokogiri::XML(Net::HTTP.get(URI.parse("http://www.w3.org")))
puts doc.validate
Run Code Online (Sandbox Code Playgroud)
导致整堆:
[
#<Nokogiri::XML::SyntaxError: No declaration for element html>,
#<Nokogiri::XML::SyntaxError: No declaration for attribute xmlns of element html>,
#<Nokogiri::XML::SyntaxError: No declaration for attribute lang of element html>,
#<Nokogiri::XML::SyntaxError: No declaration for attribute lang of element html>,
#<Nokogiri::XML::SyntaxError: No declaration for element head>,
#<Nokogiri::XML::SyntaxError: No declaration for attribute profile of element head
[repeat for every tag in the document.]
]
Run Code Online (Sandbox Code Playgroud)
所以我假设这不是正确的方法.我似乎无法找到任何好的例子 - 任何人都可以建议我做错了吗?
我在Mac OSX 10.5.8上运行ruby 1.8.6.Nokogiri告诉我:
nokogiri: 1.3.3
warnings: []
libxml:
compiled: 2.6.23 …Run Code Online (Sandbox Code Playgroud)