|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のパッケージ 次のパッケージ | フレームあり フレームなし | |||||||||
参照先:
説明
| クラスの概要 | |
|---|---|
| Schema | 文法の不変のメモリー内表現。 |
| SchemaFactory | Schema オブジェクトを作成するためのファクトリです。 |
| SchemaFactoryLoader | SchemaFactory を作成するファクトリです。 |
| TypeInfoProvider | このクラスは ValidatorHandler によって判定された型情報にアクセスします。 |
| Validator | Schema と照合して XML ドキュメントをチェックするプロセッサです。 |
| ValidatorHandler | SAX ストリームに有効なストリーミングバリデータ。 |
このパッケージは、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 を使用し、setValidating(true)を呼び出すと、パーサーは自身の内部検証機能を使用します。この 2つのオプションを同時に有効にすると、冗長動作またはエラーの原因となります。
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のパッケージ 次のパッケージ | フレームあり フレームなし | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。