Javaを使ってXMLの妥当性検証を行う
ブログ » Javaを使ってXMLの妥当性検証を行う
13 Sep 2019 14:38公開
Java 5 には、スキーマ言語に依存せずに妥当性検証サービスを提供するインターフェースとして、javax.xml.validation パッケージが導入されています。
import java.io.*; import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.*; import org.xml.sax.SAXException; public class DocbookXSDCheck { public static void main(String[] args) throws SAXException, IOException { // 1. Lookup a factory for the W3C XML Schema language SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema"); // 2. Compile the schema. // Here the schema is loaded from a java.io.File, but you could use // a java.net.URL or a javax.xml.transform.Source instead. File schemaLocation = new File("/opt/xml/docbook/xsd/docbook.xsd"); Schema schema = factory.newSchema(schemaLocation); // 3. Get a validator from the schema. Validator validator = schema.newValidator(); // 4. Parse the document you want to check. Source source = new StreamSource(args[0]); // 5. Check the document try { validator.validate(source); System.out.println(args[0] + " is valid."); } catch (SAXException ex) { System.out.println(args[0] + " is not valid because "); System.out.println(ex.getMessage()); } } }
Refence:
https://www.ibm.com/developerworks/jp/xml/library/x-javaxmlvalidapi.html
https://www.atmarkit.co.jp/ait/articles/0502/23/news115.html
https://www.atmarkit.co.jp/ait/articles/0502/15/news110.html
https://stackoverflow.com/questions/8699620/how-to-validate-xml-with-dtd-using-java
レーティング
コメント