我们正在编写一个Netbeans平台应用程序,我们希望将一些数据添加为XML文件。此外,我们希望为这些文件提供一个DTD,并将其放在我们的一个主要模块中,因为它应该在不同的地方使用,而依赖的XML文件将在不同的模块中。现在,我如何从另一个模块中的XML中指出DTD?
我将非常感谢你的建议。
也可能上面提到的想法是不好的,但这是我所能想到的,所以批评是受欢迎的。
假设您有一个类似的模块文件结构
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
,依此类推。