我正在从 LibXML 切换到 Nokogiri。我的代码中有一个方法来检查 xml 文档是否与 Dtd 匹配。Dtd 是从数据库中读取的(作为字符串)。
这是 irb 会话中的一个示例
require 'xml'
doc = LibXML::XML::Document.string('<foo bar="baz" />') #=> <?xml version="1.0" encoding="UTF-8"?>
dtd = LibXML::XML::Dtd.new('<!ELEMENT foo EMPTY><!ATTLIST foo bar ID #REQUIRED>') #=> #<LibXML::XML::Dtd:0x000000026f53b8>
doc.validate dtd #=> true
据我了解#validate
,Nokogiri::XML::Document
只能检查文档中的 DTD。我将如何做到这一点来存档相同的结果?