iteye_3834 2009-07-19 13:48
浏览 327
已采纳

请问关于Schema的类型匹配问题,以及WSDL解析问题

请问目前有什么工具可以解析出Schema中定义的数据类型,并验证类型A是否和类型B匹配吗?

另问:解析WSDL中的标签中的Schema,用什么方法最好?我现在用WSDL4j,取出中间的Schema,再用castor解析,可是这样会有个问题,就是wsdl中根节点中的namespace的信息就被丢弃了,如果schema中引用了该namespace的话就会报错。请问有什么解决方法嘛?
[b]问题补充:[/b]
可以,还有个问题就是,怎么判断两个schema定义的类型是否匹配?因为复杂类型有sequence、all等修饰,和restrictions
[b]问题补充:[/b]
我觉得自己实现的话肯定是相当复杂的,XSD定义的facet里有相当强的数据定义/限定能力,如下一个例子定义了带有一个限定的名为 "choice 的元素。可接受的值是字母 x, y 或 z 中的一个:

xs:simpleType


/xs:restriction
/xs:simpleType

/xs:element

这种匹配不仅要看是string的类型,还要看是否在可接受的值之内......

如果是给定一个实例,验证是否匹配schema的话,是由valid方法的,但是给定两个schema,验证是否匹配的话不知道怎么弄,xmlshema没有重载equals方法

  • 写回答

2条回答 默认 最新

  • wanghaolovezlq 2009-07-20 15:15
    关注

    这个我没深入去研究过,建议你自己去查下api看是否有这样的方法,

    比如得到两个schema定义的类型,用equals比较下两个类型对象,看是否相等,看能否得到预期的比较结果,不行的话,可以自己实现一个equals方法来处理,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分