假设我有两个项目,A和B. Java项目,如果这很重要的话.
项目A包含一堆代表核心类型和元素的XSD文件.它们都放在一个名为"定义"的包中.这内置了project-a.jar.
项目B代表一个扩展项目,允许定义自己的类型和元素.我创建了一个新模式并将其放在"definition.extension"包中.这内置了project-b.jar.
现在,对于项目B中的XSD,我究竟应该把它作为schemaLocation一个include什么?
schemaLocation="../core-types.xsd"没有用(我知道,它需要一个URI),但究竟什么是正确的或标准的方法呢?谷歌发现我有更多的人问这个问题,那就是处理这个问题的正确方法的明确标准方法.
它不能是我schemaLocation在运行期间以编程方式调整...或者我需要一个动态替换schemaLocation编译期间的构建步骤/脚本......对吗?
我不是在寻找像"把它们放在共享位置"这样的答案.我正在寻找更多的开发环境,使用相对引用而不是硬编码引用.
仅供参考,我正在使用IntelliJ IDEA,以防有特定于IDE的方法.
如果您只是希望 IntelliJ 停止以红色显示您的包含内容,您可以在包含内容中使用一些自定义 URI。然后,您可以转到“项目设置”->“架构和 DTD”,您可以在其中将此 URI 映射到本地文件。
如果您需要在运行时进行架构验证,那就是另一回事了。您可能需要使用 XML 目录。如果您使用 JAXB,您应该看看这个问题:jaxb - how to map xsd files to URL to find those
| 归档时间: |
|
| 查看次数: |
3354 次 |
| 最近记录: |