|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
参照先:
説明
クラスの概要 | |
---|---|
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 2 Platform Standard Ed. 5.0 |
|||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。