我使用XJC,现在我想使用XMLCataloges,它引用了其他编目。问题是,在引用其他编目时,它应该能够使用相对路径而不是绝对路径。
此目录位于project1中,并应引用位于project2中的catalog.xml文件。
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<public publicId="http://company.com/test"
uri="src/main/resources/test.xsd" />
<nextCatalog catalog="../project2/catalog.xml" /></catalog>XJC调用如下所示:
<java fork="true" jar="${xjc-jar-file}">
<!-- folder where the generated files should be saved -->
<arg value="-d" />
<arg value="${target-folder}"/>
<arg value="-extension" />
<!-- catalog file -->
<arg value="-catalog" />
<arg value="${catalog-file}" />
<!-- current xsd file -->
<arg value="@{xsd-file}" />
</java>我是否在目录文件中犯了错误,或者有什么解决方法可以在XJC中使用这种目录吗?
发布于 2012-08-01 19:19:46
我对使用相对路径的web搜索不成功。
最后,我编写了一个编辑目录文件的ant任务。
详细地说,该任务编辑编录文件的xml:base属性并插入编录文件的绝对路径。然后,我将目录另存为例如catalog_temp.xml,并使用XPath获取所有nextCatalog节点,这些节点将像第一个节点一样进行递归编辑。
在执行XJC之后,我再次执行ant任务,该任务将删除所有编辑过的(catalog_temp.xml)编目。
https://stackoverflow.com/questions/11686667
复制相似问题