ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8

パッケージ javax.xml.validation

このパッケージは、XMLドキュメントの検証するためのAPIを提供します。

参照: 説明

パッケージjavax.xml.validationの説明

このパッケージは、XMLドキュメントの検証するためのAPIを提供します。検証とは、XMLドキュメントが指定されたXML スキーマのインスタンスであることを検証するプロセスです。XMLスキーマは、そのインスタンス・ドキュメントが表すコンテンツ・モデル(「文法」または「ボキャブラリ」とも呼ばれる)を定義します。

XMLスキーマの作成には、広く利用されている専門言語が数多く存在します。もっとも代表的な言語は次のとおりです。

以前のバージョンのJAXPは、SAXParserまたはDocumentBuilderインスタンスで表される、XMLパーサーの機能としての検証をサポートしていました。

JAXP検証APIは、XMLドキュメントの構文解析からインスタンス・ドキュメントの検証を分離します。これが役立つのは、次のような理由からです。

使用例次の例は、検証APIを使用したXMLドキュメントの検証を示しています。読みやすさを考慮して、一部の例外処理は記載されていません。

            
    // parse an XML document into a DOM tree
    DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    Document document = parser.parse(new File("instance.xml"));

    // create a SchemaFactory capable of understanding WXS schemas
    SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

    // load a WXS schema, represented by a Schema instance
    Source schemaFile = new StreamSource(new File("mySchema.xsd"));
    Schema schema = factory.newSchema(schemaFile);

    // create a Validator instance, which can be used to validate an instance document
    Validator validator = schema.newValidator();

    // validate the DOM tree
    try {
        validator.validate(new DOMSource(document));
    } catch (SAXException e) {
        // instance document is invalid!
    }

JAXP構文解析APIは、検証APIに統合されています。アプリケーションは、検証APIを使用してSchemaを作成し、これをDocumentBuilderFactory.setSchema(Schema)およびSAXParserFactory.setSchema(Schema)メソッドを使用してDocumentBuilderFactoryまたはSAXParserFactoryインスタンスに関連付けます。1つのパーサー・ファクトリでスキーマの設定とsetValidating(true)の呼出しの両方を行わないでください。前者の技術ではパーサーは新しい検証APIを使用し、後者の技術ではパーサーは自身の内部検証機能を使用します。この2つのオプションを同時に有効にすると、冗長動作またはエラーの原因となります。

ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8

バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.