我一直不明白dtd文件是路径为什么是一个网页形式的如:<!DOCTYPE 联系人列表
SYSTEM "http://www.mydomain.com/dtds/fclml.dtd
">.
在我的程序里有两个包:com.xyc.first和com.xyc.second两个包下都有一个xml文件,并且这个xml文件都要用同一个外部的dtd作为验证.
请问我该怎么办?

解决方案 »

  1.   

    我是这样做的,先找指定的路径中是否有该 DTD(通过 systemId 截取),这样可以在网络不
    通的情况下可以工作,只要实现一下 org.xml.sax.EntityResolver 这个接口就可以了。实现这个方法:
    public InputSource resolveEntity(String publicId, String systemId)如果返回的 InputSource 不为空则使用自行加载的资源,为空时则到网络上去找。
      

  2.   

    学习,关注先前一直都未开启过DTD验证,即使验证,也在当前WEB中提供对应URL的DTD
      

  3.   

    2个包下的XML请求同一个DTD应该没什么问题啊。不用网页形式路径也可以用电脑路径形式啊。把DTD下载下来,改一下就可以了