xml - 如何将 "expand"递归地全部包含在 XML/XSD 中?

标签 xml delphi xsd wsdl

是否有任何应用程序可以使用带有某些包含的 XML 文件(实际上是 wsdl)作为输入,并递归地浏览这些包含以生成最终的 XML(确实很大),并将目标包含合并到其中?

说明:BDS 2006 WSDL 导入程序无法处理包含内容,并且导入的 xsd 中定义的某些数据类型未导入,因此我收到编译错误。当我用所有引用的 XSD 文件递归地将所有包含替换为一个大 XML 时,WSDL 导入器工作正常,但手动执行此替换非常困难且耗时。有一些应用程序可以帮我做这件事吗?

提前致谢!

最佳答案

我认为QTAssistant至少与@Nick 在他的评论中描述的步骤相比,它做得更好(我在这里偏袒);这里假设的一件事是只有一个 XSD;如果涉及多个命名空间,则方法是单独复制每个文件,同时确保删除 schemaLocation 属性。无论如何,似乎涉及很多摆弄。

在 QTAssistant 中,“工具”选项卡下有一个按钮,内部化 XSD;它的作用是提示您输入 WSDL 文件位置以及复制结果的文件夹。

QTAssistant WSDL Internalize XSD command

填写这两个字段,按加载,然后按确定

QTAssistant WSDL Internalize XSDs prompt

然后打开重构的 WSDL 文件进行检查。

enter image description here

您还可以按验证按钮通过 WS-I BP 1.1 规则以及 XSD 架构集验证来运行它。

关于xml - 如何将 "expand"递归地全部包含在 XML/XSD 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10089974/

相关文章:

Delphi - identcache 扩展

xsd - 扩展 complexType 时是否混合继承?

xsd - 在 Spring WS 2 中公开和访问静态 XSD 模式

c# - 使用 XSD/代码生成的 XML 反序列化 - 解析错误

python - 从文件中删除 <feff>

c# - 反序列化包含简单引用实体的 xml 文件时出现异常

c# - 如何在 C# 中编辑和保存 abc.testsettings(xml) 文件

xml - 那里有用户友好的 XML 编辑器吗?找不到好的,最好是开源的

delphi - 如何根据输入的内容过滤组合框的内容?

multithreading - 如何让主(调用)线程等待子线程完成执行?