Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 解析XSD以获取节点列表_Xml_Oracle_Plsql_Xsd - Fatal编程技术网

Xml 解析XSD以获取节点列表

Xml 解析XSD以获取节点列表,xml,oracle,plsql,xsd,Xml,Oracle,Plsql,Xsd,我的功能为用户提供了编辑xml消息的权限。各类信息非常丰富。每种类型都有自己的XSD 我正在寻找从XSD获取节点列表的方法,以使拖放将所需的节点从该列表转移到已编辑消息的节点列表成为可能 标准的xml验证只是告诉用户消息没有一些必需的元素,但不告诉用户选项 有没有办法简单地解析XSD并获取所有节点及其类型(attr、tag等) =================== Oracle版本19.6.1.0.0 XSD您不希望为此使用源XSD文档,因为要正确使用它非常困难:您希望使用现有模式处理器提供的

我的功能为用户提供了编辑xml消息的权限。各类信息非常丰富。每种类型都有自己的
XSD

我正在寻找从
XSD
获取节点列表的方法,以使
拖放
所需的
节点从该列表转移到已编辑消息的节点列表成为可能

标准的xml验证只是告诉用户消息没有一些必需的元素,但不告诉用户选项

有没有办法简单地解析XSD并获取所有节点及其类型(attr、tag等)

===================
Oracle版本19.6.1.0.0

XSD

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

  • Xerces为Java提供了一个模式API:

  • Saxon模式处理器可以将编译后的模式模型生成为XML文件

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