Создание XML-файлов, которые наследуются от других XML-файлов - PullRequest
1 голос
/ 07 марта 2012

Мне нужно настроить приложение по-разному. Конфигурация в XML. Разные конфигурации в основном будут иметь общие части.Например, разница между двумя конфигурациями будет отличаться от адреса электронной почты.

Поэтому вместо дублирования общих частей я подумал, что есть способ иметь базовый XML-файл и переопределять / добавлять только частии создайте результирующий XML-файл.

Я видел эту функцию в Maven - у вас есть родительский pom, а дочерний pom наследуется от него.В конце концов, используется эффективный pom.

1) Уже есть библиотеки (для любого языка программирования, но предпочтительно для Java), которые это делают?

2) Если нет, что было бы хорошим подходом для реализации этого? Я не очень знаком с технологиями XML, такими как XSD и XSLT.Так что очевидный путь может быть не таким очевидным для меня.

Любая помощь очень ценится.

1 Ответ

1 голос
/ 08 марта 2012

Я бы, вероятно, использовал XInclude . Кажется, что в Java есть некоторая поддержка, поэтому я хотел бы найти «xinclude для java» с квалификатором для вашего конкретного стека.

xerces хорошо справляется с этим ; по умолчанию, если выключен, поэтому вы должны включить функцию 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, эта статья показывает концепцию в действии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...