我需要以不同的方式配置应用程序。配置是XML格式。不同的配置主要有共同的部分。例如,两种配置之间的差异将是电子邮件地址的差异。
因此,不是复制我想到的公共部分,而是有一种方法可以获得基本XML文件,只覆盖/添加部分文件并生成结果XML文件。
我在Maven中看到过这个功能 - 你有一个父pom,而pom继承了它。最终使用的是有效的pom。
1)是否已经存在库(对于任何编程语言,但最好是Java)?
2)如果不是一个很好的方法来实现它?我不熟悉XSD和XSLT等XML技术。所以显而易见的方式对我来说可能并不那么明显。
非常感谢任何帮助。
答案 0 :(得分:1)
我可能会使用XInclude。在Java中似乎有一些支持,所以我会用特定堆栈的限定符搜索“xinclude for java”。
xerces copes well with it;默认情况下,如果关闭,则必须打开feature http://apache.org/xml/features/xinclude。
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
try {
dbf.setFeature("http://apache.org/xml/features/xinclude", true);
}
catch (ParserConfigurationException e) {
System.err.println("could not set parser feature");
}
对于XInclude的一般性阅读,this article显示了这个概念在起作用。