微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

解析XSD以获取节点列表

如何解决解析XSD以获取节点列表

我具有一些功能,可以赋予用户编辑xml消息的权限。消息种类很多。每种都有自己的XSD
我正在寻找一种从XSD获取节点列表的方法,以使drag-n-drop的{​​{1}}节点可以从该列表转移到已编辑邮件的节点列表中。

标准的xml验证只是告诉用户消息没有某些必填元素,但不告诉他可选内容

有没有办法简单地解析XSD并获取所有节点及其类型(属性标签等)?

==============
Oracle版本19.6.1.0.0
XSD examples

解决方法

您不想为此使用源XSD文档,因为要使其正确进行非常困难:您想使用现有模式处理器提供的API。一些可能的候选人:

与之相比,Xerces API(据我所知)仅为您提供复杂类型的内容模型,如序列和选择合成器树,而Saxon接口还提供了用于验证的有限状态机。内容模型,因此原则上您可以遵循对任何复杂类型合法的元素序列。使用Xerces界面,您需要扩展内容模型以考虑扩展和替换组派生的类型,而在Saxon模型中,此扩展已经完成。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。