The*_*rus 8 ruby xml xsd nokogiri
我产生了很多XMPP节的,想要验证它们对现有的规格在这里在我的单元测试.
目前我正在使用Nokogiri来实现这一目标
xml = Nokogiri::XML( xmpp_stanza)
schema = Nokogiri::XML::Schema( xmpp_schema )
assert schema.valid?( xml )
Run Code Online (Sandbox Code Playgroud)
现在这个工作正常,除非它被报告为无效,因为每个模式只覆盖一个命名空间,而我的XMPP节有多个命名空间.例如:
Invalid XML: Element '{http://jabber.org/protocol/pubsub}pubsub': No matching global element declaration available, but demanded by the strict wildcard.
Run Code Online (Sandbox Code Playgroud)
我是如何处理多个模式来验证单个节的?我是不是首先将它拆分为命名空间并单独验证每一个?
我能够通过将一个模式导入另一个模式来实现这一目标。
例如
<xs:import namespace="http://base.google.com/ns/1.0" schemaLocation="public/xsd/google_base.xsd"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1994 次 |
| 最近记录: |