| クラス | 説明 |
|---|---|
| Schema |
文法の不変のメモリー内表現。
|
| SchemaFactory |
Schemaオブジェクトを作成するファクトリです。 API検証のエントリ・ポイントです。 |
| SchemaFactoryLoader |
SchemaFactoryを作成するファクトリです。 |
| TypeInfoProvider |
このクラスは
ValidatorHandlerによって判定された型情報にアクセスできます。 |
| Validator |
Schemaと照合してXMLドキュメントをチェックするプロセッサです。 |
| ValidatorHandler |
SAXストリームに有効なストリーミング・バリデータ。
|
| エラー | 説明 |
|---|---|
| SchemaFactoryConfigurationError |
スキーマ・ファクトリの構成で問題が存在する場合にスローされます。
|
このパッケージは、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つのオプションを同時に有効にすると、冗長動作またはエラーの原因となります。
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。