nokogiri gem을 사용하여 DTD에 대해 XHTML의 유효성을 검사 할 수 있다는 사실을 암시하는 몇 개의 게시물을 발견했습니다. XHTML을 성공적으로 구문 분석 ('a'태그 찾기 등)하는 데 사용했지만, 문서의 유효성을 검사하는 데 어려움을 겪고 있습니다. 나를 위해 nokogiri로 XHTML의 유효성을 검사하려면 어떻게해야합니까?
이 :의 전체 힙doc = Nokogiri::XML(Net::HTTP.get(URI.parse("http://www.w3.org")))
puts doc.validate
결과 :
[
#<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.]
]
그래서 내가 그 올바른 접근 방식이 아니다 있으리라 믿고있어. 좋은 예를 찾을 수없는 것 같습니다. 누군가 내가 잘못하고있는 것을 제안 할 수 있습니까?
Mac OSX 10.5.8에서 루비 1.8.6을 실행 중입니다. Nokogiri가 나를 알려줍니다.
nokogiri: 1.3.3
warnings: []
libxml:
compiled: 2.6.23
loaded: 2.6.23
binding: extension
- 그것은 확실히 나에게 합리적인 찾고 생산있어 결과를 (한 눈에!). 이상하게도, 유효성을 검사하는 페이지 중 일부는 "Unimplemented block at at xmlschemas.c : 27443"경고를 생성하지만 오류없이 유효하다고보고합니다. 나는이 시점에 어떤 패턴이 있는지없는 패턴의 바닥에 도달하지 못했다. – NeilS