加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Ruby中的多个XSD验证XML

发布时间:2020-12-16 19:07:00 所属栏目:百科 来源:网络整理
导读:我正在生成大量的XMPP节,并希望根据我的单元测试中可用的规格来验证它们. 目前我正在使用Nokogiri来实现这一目标 xml = Nokogiri::XML( xmpp_stanza)schema = Nokogiri::XML::Schema( xmpp_schema )assert schema.valid?( xml ) 现在这个工作正常,除了它被报
我正在生成大量的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.

我是如何处理多个模式来验证单个节的?我是不是首先将它拆分为命名空间并单独验证每一个?

解决方法

我能够通过 importing将一个模式实现到另一个模式中.

例如

<xs:import namespace="http://base.google.com/ns/1.0" schemaLocation="public/xsd/google_base.xsd"/>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读