我正在生成很多 XMPP 节,并希望根据我的单元测试中可用的规范来验证它们。
目前我正在使用 Nokogiri 来实现这一点,例如
xml = Nokogiri::XML( xmpp_stanza)
schema = Nokogiri::XML::Schema( xmpp_schema )
assert schema.valid?( xml )
现在这工作正常,只是它被报告为无效,因为每个模式只涵盖一个命名空间,而我的 XMPP 节有多个命名空间。例如:
Invalid XML: Element '{http://jabber.org/protocol/pubsub}pubsub': No matching global element declaration available, but demanded by the strict wildcard.
我如何处理多个模式来验证单个节?我是否打算首先按名称空间将其拆分并单独验证每个?