この章の内容は次のとおりです。
注意: 新規のXDKおよびOracle XML DBアプリケーションには、新規の統合C APIを使用してください。以前のC関数は使用できず、下位互換性のみを目的としてサポートされていますが、今後は拡張されません。これは、将来のリリースでは削除される予定です。新しいC APIについては、第14章「XML Parser for C」を参照してください。 |
XML Schema Processor for Cは、XML Parser for Cとともに動作するコンポーネントです。XML Schema Processor for Cを使用すると、XMLアプリケーションで単純なデータ型および複雑なデータ型をサポートできます。
XML Schema Processor for Cは、W3CのXML Schema勧告をサポートしています。このため、XML文書を処理するカスタム・アプリケーションを簡単に作成できます。また、Oracleが移植されたすべてのオペレーティング・システムには、標準に準拠したXML SchemaプロセッサがXDKの一部として搭載されています。
XML Schema Processor for Cには、次の特徴があります。
単純型および複合型をサポートします。
XML Parser for Cに統合されています。
W3CのXML Schema勧告をサポートします。
関連資料:
|
XML Schema Processor for Cは、次の標準に準拠しています。
W3CのXML 1.0勧告
W3CのDOMレベル1.0勧告
W3CのXML Namespace勧告
W3CのXML Schema勧告
表16-1に、今回のリリースで提供されるファイルおよびディレクトリを示します。
表16-1 XML Schema Processor for C: 提供されるファイル
ディレクトリおよびファイル | 説明 |
---|---|
|
スキーマ・プロセッサが実行可能な |
|
XML/XSL/Schemaおよびサポート・ライブラリ |
|
グローバリゼーション・サポート・データ・ファイル |
|
スキーマ・プロセッサの使用例 |
|
ヘッダー・ファイル |
|
エラー・メッセージ・ファイル |
|
概要ファイル |
表16-2に、含まれるライブラリを示します。
XML Schema Processor for Cは、インストール場所のbin/schema
をコールすることによって、実行可能ファイルとしてコールされます。これは次の2つの引数を取ります。
XMLインスタンス・ドキュメント
デフォルト・スキーマ(オプション)
XML Schema Processor for Cは、提供されたAPIを使用するコードを記述して起動することもできます。このコードは、include
サブディレクトリにあるヘッダーを使用してコンパイルし、lib
サブディレクトリにあるライブラリにリンクする必要があります。プログラムを構築する方法の詳細は、xdk/demo/c/schema
サブディレクトリにあるMakefile
を参照してください。
異なる言語のエラー・メッセージ・ファイルは、mesg/
サブディレクトリにあります。
図16-1に、次に示すXML Schema Processor for Cのコール順序を示します。
プロセッサのコール順序は、初期化、ロード、検証、検証、...、検証、終了となります。
初期化コールが、セッションの開始時に一度コールされ、セッションで使用されるスキーマ・コンテキストを戻します。
セッションで使用されるスキーマ・ドキュメントは事前にロードされます。
検証するインスタンス・ドキュメントが、まずXMLパーサーによって解析されます。
次に、このインスタンスのXML要素サブツリーの最上位がスキーマ検証関数に渡されます。
インスタンス・ドキュメントにスキーマが明示的に定義されていない場合は、任意の事前ロード済のスキーマが使用されます。
同じスキーマ・コンテキストを使用して、複数のドキュメントを検証できます。
セッションが終了すると、スキーマ・メモリー解放関数がコールされます。これによって、ロードされたスキーマに対して割り当てられていたすべてのメモリーが解放されます。
ディレクトリxdk/demo/c/schema
には、Oracle XML Schema ProcessorとそのAPIの使用方法を示すサンプルXML Schemaアプリケーションがあります。表16-3に、提供されるサンプル・ファイルを示します。
表16-3 XML Schema for Cのサンプル・ファイル
サンプル・ファイル | 説明 |
---|---|
|
サンプル・プログラムを作成および実行し、適切な出力を確認するMakeファイル |
|
XML Schema for CのAPIをコールするプログラム |
|
|
|
|
|
|
サンプル・プログラムを作成するには、make
コマンドを実行します。
プログラムを作成および実行し、実際の出力と予想される出力を比較するには、次を実行します。
make sure