Tôi đang tạo ra nhiều đoạn mã XMPP và muốn xác thực chúng theo các thông số kỹ thuật có sẵn here trong các thử nghiệm đơn vị của tôi.Xác nhận hợp lệ XML bằng cách sử dụng nhiều XSD trong Ruby
Hiện nay tôi đang sử dụng Nokogiri để đạt được điều này với một cái gì đó giống như
xml = Nokogiri::XML(xmpp_stanza)
schema = Nokogiri::XML::Schema(xmpp_schema)
assert schema.valid?(xml)
Bây giờ làm việc này tốt, ngoại trừ nó được báo cáo là không hợp lệ vì mỗi giản đồ chỉ bao gồm một không gian tên, và các khổ thơ XMPP tôi có nhiều không gian tên. Ví dụ:
Invalid XML: Element '{http://jabber.org/protocol/pubsub}pubsub': No matching global element declaration available, but demanded by the strict wildcard.
Tôi có ý định xử lý nhiều lược đồ để xác thực một đoạn đơn? Tôi có nghĩa là để đầu tiên chia nó ra bởi không gian tên và xác nhận mỗi một trong sự cô lập?