SophiaFramework UNIVERSE 5.3 |
DTD と XMLスキーマは、XML 文書を解析するときに、 その文書が正しい形式で構成されているかどうかをチェックするための文法です。 SophiaFramework UNIVERSE は、DTD と XMLスキーマをサポートしています。
DTD ではデータ型を定義できません。また、文法も XML で記述されていません。
XMLスキーマは XML 形式で記述され、データ型の定義など DTD には無い機能があります。
DTD または XMLスキーマを使用して XML 文書を解析するとき、 XML 文書が DTD または XMLスキーマの文法に従って記述されていなければエラーを返します。
注意 | |
---|---|
現バージョンの SophiaFramework UNIVERSE では、DTD / XMLスキーマによる完全な XML 文書の検証をサポートしていません。 部分的な検証のみサポートしています(あるケースでは、文法的な誤りが有ってもエラーにならない場合があります)。 |
DTD 付き XML 文書は SFXXMLDOMParser クラス、 または SFXXMLSAXParser クラスで定義される関数を使用して DTD の処理を行います。
SetGrammar 関数で SFXXMLGrammar::GRAMMAR_DTD に設定し、 必要に応じて SetValidationDTD 関数で DTD 検証フラグを ON にします。 外部 DTD ファイルの場合は、SetLoadExternalDTD 関数で 外部 DTD ファイルをロードする設定にする必要があります。
表 19.16. DTD 付き XML 文書を処理するための関数
使用目的 | SFXXMLDOMParser クラス | SFXXMLSAXParser クラス |
---|---|---|
文法(言語)の設定 | SFXXMLDOMParser::SetGrammar 関数 | SFXXMLSAXParser::SetGrammar 関数 |
DTD 検証の設定 | SFXXMLDOMParser::SetValidationDTD 関数 | SFXXMLSAXParser::SetValidationDTD 関数 |
外部 DTD ファイルのロード設定 | SFXXMLDOMParser::SetLoadExternalDTD 関数 | SFXXMLSAXParser::SetLoadExternalDTD 関数 |
外部 DTD ファイルをロードする方法 | |
---|---|
DTD が XML 文書とは別のローカルファイル(外部 DTD ファイル)として定義される場合は、 SetLoadExternalDTD 関数の引数に true に指定します。 ※ SophiaFramework UNIVERSE の仕様上の制限から、別のサーバーにある外部 DTD ファイルはロードできません。 ロード可能なのは同じ移動機にあるローカルファイルだけです。 |
クラスの DTD 操作関数 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
SFXXMLDocumentType オブジェクトに対して、以下の DTD 操作が可能です。
|
XMLスキーマ付き XML 文書は SFXXMLDOMParser クラス、 または SFXXMLSAXParser クラスの以下の関数で定義される関数を使用して XMLスキーマの処理を行います。
SetGrammar 関数で SFXXMLGrammar::GRAMMAR_SCHEMA に設定し、 SetDoSchema 関数でスキーマを処理する設定にし、 必要に応じて SetValidationSchema 関数でスキーマ検証フラグを ON にします。 XSD ファイルを指定する場合は、SetSchemaLocation 関数を使用します。
表 19.17. XMLスキーマ付き XML 文書を処理するための関数
使用目的 | SFXXMLDOMParser クラス | SFXXMLSAXParser クラス |
---|---|---|
文法(言語)の設定 | SFXXMLDOMParser::SetGrammar 関数 | SFXXMLSAXParser::SetGrammar 関数 |
スキーマ処理の設定 | SFXXMLDOMParser::SetDoSchema 関数 | SFXXMLSAXParser::SetDoSchema 関数 |
スキーマ検証の設定 | SFXXMLDOMParser::SetValidationSchema 関数 | SFXXMLSAXParser::SetValidationSchema 関数 |
XSD ファイルの指定 | SFXXMLDOMParser::SetSchemaLocation 関数 | SFXXMLSAXParser::SetSchemaLocation 関数 |
XSD ファイルをロードする方法 | |
---|---|
XSD ファイルをロードするには、 SetSchemaLocation 関数の引数に XSD ファイルのパス名を指定します。 ※ SophiaFramework UNIVERSE の仕様上の制限から、別のサーバーにある XSD ファイルはロードできません。 ロード可能なのは同じ移動機にあるローカルファイルだけです。 |
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |