Estoy generando muchas standas XMPP, y quiero validarlas con las especificaciones disponibles here en mis pruebas unitarias.Validar XML usando múltiples XSD en Ruby
Por el momento estoy usando Nokogiri para lograr esto con algo como
xml = Nokogiri::XML(xmpp_stanza)
schema = Nokogiri::XML::Schema(xmpp_schema)
assert schema.valid?(xml)
Ahora bien, esto funciona bien, excepto que se considera no válido debido a que cada esquema sólo cubre un espacio de nombres, y mis estrofas XMPP tener múltiples espacios de nombres. Por ejemplo:
Invalid XML: Element '{http://jabber.org/protocol/pubsub}pubsub': No matching global element declaration available, but demanded by the strict wildcard.
¿Cómo debo manejar varios esquemas para validar una sola estrofa? ¿Debo dividirlo primero por espacio de nombres y validar cada uno de forma aislada?