Платформа NetBeans получает доступ к DTD из другого модуля - PullRequest
0 голосов
/ 10 февраля 2012

Мы пишем приложение на платформе Netbeans и хотим добавить некоторые данные в виде файлов XML. Также мы хотим иметь DTD для этих файлов, и мы хотим поместить его в один из наших основных модулей, так как он должен использоваться в разных местах, а зависимые файлы XML будут в разных модулях. Теперь, как я могу указать на этот DTD из XML в других модулях?

Я буду очень благодарен за любой совет.

Также, возможно, упомянутая выше идея плохая, но это все, о чем я мог думать, поэтому критика приветствуется.

1 Ответ

1 голос
/ 20 февраля 2012

Скажем, у вас есть файловая структура модуля, подобная этой

MyModule
  com.mydomain.mypackage
    layer.xml
    main.dtd

А layer.xml содержит

<filesystem>
    <folder name="MyDTDs">
        <file name="myMainDTD" url="main.dtd"/>
    </folder> 
</filesystem>

Затем вы можете получить FileObject в файл dtd из другого модуля, выполнив

FileObject root = FileUtil.getConfigRoot();
FileObject myDTDs = root.getFileObject("MyDTDs");
if (myDTDs != null) {
    FileObject mainDTD = myDTDs.getFileObject("myMainDTD");
}

А из FileObject вы можете получить InputStream и так далее.

...