<a href="http://yulimin.javaeye.com/blog/24495">http://yulimin.javaeye.com/blog/24495</a>
关键字: xml dtd xsd 校验
xmlspy编辑工具中如何设置xml的dtd/xsd校验指向本地,而不要直接指向网络去?
前提:在不修改xml的条件下,修改xml的,不要这个,这个变态的谁都会。。。
其它的工具及另外的方法如下,但是想获取到类似xmlbuddy的cache一样的功能。何办?
xmlbuddy
由于打开xml文件时会根据xml文件里定义的dtd去网上查找相应的dtd文件,这样导至打开的时候会相当慢,特别是如果你的机器上不了外网的话,就更慢了。
解决的办法有两个:
一、在本机开启web服务(如tomcat等等),并设置端口为80,然后根据dtd 的目录结构建立相应的结构,并把dtd文件放进去。然后在hosts文件里把本机的地址映射到相应的dtd指定的网站去,如:
代码
127.0.0.1 www.springframework.org
这样打开xml文件时就会在本机寻找dtd文件进行验证,速度就快很多了
二、打开xmlbuddy插件的安装目录,并找到其中的cache目录,比如:%eclipse_home%/pluginsnew/xmlbuddy/eclipse/plugins/com.objfac.xmleditor_2.0.72/.cache
打开meta.xml文件,一看就知道怎么处理了吧,如法炮制,选把dtd文件拷贝到这个cache目录里,再增加内容到meta.xml里来,比如:
<file>
<pub>-//spring//dtd bean//en</pub>
<abs>http://www.springframework.org/dtd/spring-beans.dtd</abs>
<rel>spring-beans.dtd</rel>
</file>
要增加其它的dtd文件方法类似,不断地增加说明与dtd文件即可。
于是在编辑xml文件时就会有相关的提示及错误提示信息,可以减少一些书写xml文件时发生的低级错误了。
在xmlspy里一直没有找到这个相应的功能,有谁知道吗?
问题得到解决,方法总结如下:
安装主目录假定为%xmlspy_home%
1、在%xmlspy_home%/下有个maincatalog.xml,修改属性为可写,并打开,就知道如何象xmlbuddy炮制了。
2、将你的dtd如spring-beans.dtd拷贝%xmlspy_home%/schemas/java/目录下;
3、在maincatalog.xml的
<!--java section-->
下增加一行
<public publicid="-//spring//dtd bean//en" uri="schemas/java/spring-beans.dtd"/>
保存,重新打个xmlspy即可进行验证了。
其它的dtd/xsd等文件如法炮制即可。