<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等檔案如法炮制即可。