Sample code:
import java.io.*; import java.util.*; import org.teldap.core.xmlvalidator.unionCatalog.DACatalogXMLParser; /** * Copyright 2009 數位典藏與數位學習國家型科技計畫(TELDAP) 數位核心平台計畫 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * @author 徐慈妍、洪崇熙、洪國翔 * @version 1.0 */ public class sample { /* * 檢查單一個DACatalog XML */ public void validateDACatalogXML(File xmlfile){ DACatalogXMLParser XMLParser = new DACatalogXMLParser(xmlfile.getAbsolutePath()); XMLParser.xmlValidate(xmlfile); //執行DACatalog XML規則檢查,包含全部的檢查程序 TreeMap errors=new TreeMap(XMLParser.getInvalidateMsg()); //取得檢查後的錯誤訊息 Iterator iterator=errors.keySet().iterator(); //取得錯誤訊息代碼 while(iterator.hasNext()){ Integer errCode=(Integer)iterator.next(); System.out.println("\n錯誤訊息代碼:"+errCode); ArrayList detail=(ArrayList)errors.get(errCode); for(int i=0;detail!=null && i<detail.size();i++){ //列出更詳細的錯誤說明訊息 System.out.println((String)detail.get(i)); } } } /* * 程式執行進入點 */ public static void main(String[] strs){ sample sample=new sample(); sample.validateDACatalogXML(new File("resources/test.xml")); } } |
使用步驟:Command Line檢查單一個DACatalog XML文件
- 確定已安裝Java SE Development Kit (JDK)
- 請下載sample_code.zip
- CMD編譯(CMD路徑切換到sample_code資料夾內):
...\sample_code> javac -classpath jar/jdom.jar;jar/DACatalogXMLValidator.jar sample.java
附註:編譯跟執行sample.java時,需要特地附加的jar檔,皆包含在sample_code/jar資料夾內。測試使用的XML檔則包含在sample_code/resources資料夾內。 - 編譯後會產生sample.class檔,再用CMD執行(CMD路徑切換到sample_code資料夾內):
...\sample_code> java -classpath jar/jdom.jar;jar/DACatalogXMLValidator.jar sample - 輸出結果(錯誤訊息代碼說明請參照: error_code_description.html)
錯誤訊息代碼:301
/DACatalog/AdminDesc/Project[@Creator]
/DACatalog/AdminDesc/Project[@GenDate]
錯誤訊息代碼:4021
錯誤訊息代碼:4023
錯誤訊息代碼:4032
http://210.241.17.253/hakkaculfront/search/image_view.jsp?fileName=1MLHM-5040121.135-0001-i.jpg
錯誤訊息代碼:40321
http://210.241.17.253/hakkaculfront/search/image_view.jsp?fileName=1MLHM-5040121.135-0001-i.jpg