dtd 还可以写 http://www...../*.dtd

解决方案 »

  1.   

    是不是如果一个property标为ID类型,那样这个属性的值在这个xml文件必须是惟一的,而不管它的范围?
      

  2.   

    你的xml我看不懂啊!"还有就是怎么让xml解析器找到这个dtd文件,每次我都要写全路径,有没有别的办法啊?"用相对路径(相对于xml)即可!
      

  3.   

    以下都是用JAXP解析。
    把DTD放到WEB目录下面,比如可以输入如下地址访问到该DTD:http://127.0.0.1/dtd/validator.dtd. 那么在XML里就应该是:
    <!DOCTYPE validators SYSTEM "http://127.0.0.1/dtd/validator.dtd">
    ArilChen兄的方法也很好。关于唯一性,你想得是对的。没办法实现局部唯一,只能是整个XML文件唯一。 改如下语句
    <!ATTLIST property name ID #REQUIRED >为<!ATTLIST property name NMTOKEN #REQUIRED >就OK了。
    另外,JAXP要求encoding为"GB2312".