eclipse 配置xml catalog
XML Catalog 提供了一種重新定位資源的機制,可以將xml 引用的 artifacts,包括 URI 地址以及 namespace 名重新定位到另一個地址。通常這種機制被用來將遠端的引用資源重定位到本地或者 web。XML catalog 就是一個描述外部實體引用和本地快取的相同實體的對映的檔案。
在實際的開發生產中,xml 檔案經常會引用外部的檔案,這些檔案通常通過 URI 表示,其中以 URL 應用最廣。但是如果是絕對的 URL, 那麼只有當你的網路能夠訪問它時才能起作用,如果網路出現問題,那麼將不能訪問。當是相對 URL 時,例如"../../xml/dtd/docbookx.xml",只有當你的檔案系統和定義者一致的時候才能起作用。
一種解決辦法就是通過實體解析器(Entity Resolver)或者是 URI 解析器 (URI Resolver ),解析器可以通過檢查資源的 URI 來定位資源。 使用者通過配置 xml catalog, 手動的指定 xml 檔案引用的 xsd 檔案的本地地址,URI 解析器通過 xml catalog 裡面的對映,找到對應的 xsd, 最後 xml catalog 處理器通過解析器找到的 xsd 對 xml 進行校驗。
通俗點說,XML catalog 通過名稱空間將 xml 檔案及其對應的 xsd 檔案聯絡起來,並通過解析器定位xsd 檔案的位置,最後通過處理器進行校驗。
與 javax.xml.validation 通過 xsd 對 xml 進行校驗的方法不同,xml catalog 可以通過Namespace 來校驗所有引用這個 xsd 的 xml 檔案,從而達到批量校驗的效果。例如,a.xml,b.xml,c.xml 都是由 d.xsd 校驗,那麼只要將 d.xsd的名稱空間配置好,通過該名稱空間就可以校驗以上三個檔案了。