표준입력 (stdin)
실행옵션 (runtime option)
코드:
실행 »
표준입력/실행옵션
import java.io.File; import java.io.IOException; import javax.xml.XMLConstants; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.SchemaFactory; import javax.xml.validation.Schema; import org.xml.sax.SAXException; public class prog { public static void main(String[] args) { String valid = "적합한"; try { // XML 파일과 XSD 파일을 인수로 전달받아 해당 XML 파일이 XSD 스키마에 대하여 적합한지를 검사함. validate("../tcpsk/examples/media/xsd05_bad.xml", "../tcpsk/examples/media/xsd05.xsd"); } catch (IOException e) { valid = "적합하지 않은"; System.out.println(e.getMessage()); } catch (SAXException e) { valid = "적합하지 않은"; System.out.println(e.getMessage()); } System.out.println("이 문서는 전달받은 XSD 스키마에 " + valid + " XML 문서입니다."); } public static void validate(String xmlFile, String xsdFile) throws SAXException, IOException { SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = schemaFactory.newSchema(new File(xsdFile)); // XSD 스키마 생성함. StreamSource stream = new StreamSource(new File(xmlFile)); // XML 파일을 스트림으로 생성함. (schema.newValidator()).validate(stream); // 생성된 스트림을 XSD 스키마로 검사함. } }