【发布时间】:2014-06-19 14:05:38
【问题描述】:
我正在编写一个程序,它获取 WSDL 和任何导入的文件,然后将它们保存到单个目录中。作为其中的一部分,我想要做的是展平文件结构,因此只有一个目录包含 WSDL 引用的所有文件或被其引用的文件引用的所有文件。所以我需要进入每个文件,无论哪里有导入,我都需要从名称中删除路径。这是一个例子:
<xsd:import schemaLocation="xsds/Currency.xsd" namespace="urn:example.com:enterprise:schemas:reference:currency">
</xsd:import>
所以上面的导入引用了文件xsds/Currency.xsd,我想从中提取Currency.xsd。我可以使用 XPath 表达式获取此属性的内容以匹配标记,如下所示:
//*[local-name()='import']/@schemaLocation
但是,可能还有其他类型的标记,其中 WSDL 或其引用的 xsds 可能会导入此 XPath 表达式不匹配的文件。我可能需要匹配哪些其他标签或字段名称,以免错过任何文件?
【问题讨论】:
标签: web-services xpath xsd wsdl