我有一个包含大约 300 个相互依赖的 XML 模式的文件夹。我有一个高级架构,我想知道它依赖的所有子架构文件。
有什么简单的方法可以得到这个列表。
谢谢, 哈里什
也许像 Altova 的 SchemaAgent 这样的工具会有所帮助。
或者在 XSLT 中编写您自己的依赖分析器。就像是:
<xsl:variable name="docs" select="collection('.?select=*.xsd')"/>
<xsl:function name="f:uses" as="document-node()*"/>
<xsl:param name="schema" as="document-node()"/>
<xsl:sequence select="for $h in $schema/*/(xs:include/xs:import/xs:redefine)
return doc(@href)"/>
</xsl:function>
它给你直接使用的文件,然后这个函数的递归应用会给你间接使用的文件。