ヘッダーをスキップ
Oracle XML Developer's Kitプログラマーズ・ガイド
10gリリース3(10.1.3)
B28611-01
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

17 XDK C++コンポーネントを使用する前に

この章の内容は次のとおりです。

XDK C++コンポーネントのインストール

XDK C++コンポーネントは、XML文書の読取り、操作および変換を行うための基本コンポーネントです。

Oracle XDK C++コンポーネントの構成は次のとおりです。

XDKのC++コンポーネントの取得

Oracle DatabaseまたはOracle Application Serverをインストールすると、すでにXDK C++コンポーネントがインストールされています。OTNからXDK C++コンポーネントの最新バージョンをダウンロードすることもできます。

OTNからXDKをダウンロードする場合は、次の手順を実行します。

  1. http://www.oracle.com/technology/tech/xml/に進みます。

  2. 「XML Developer's Kit」のリンクをクリックします。

  3. OTNのユーザー名とパスワードでログオンします(アカウントをお持ちでない場合、登録は無料で行えます)。

  4. ダウンロードするバージョンを選択します。

  5. ライセンス契約のすべての条件を受諾します。

  6. 該当する*.tar.gzまたは*.zipファイルをクリックします。

  7. 配布パッケージのファイルを解凍します。

    1. xdkディレクトリとサブディレクトリを置くディレクトリを選択します。

    2. そのディレクトリに移動し、次のツールを使用してXDKダウンロード・アーカイブ・ファイルを抽出します。

      UNIX: tar xvfz xdk_xxx.tar.gz
      Windows: use WinZip visual archive extraction tool
      

C++ XDK用のUNIX環境のライブラリ

XDKをインストールすると、ディレクトリ構造は次のようになります。

-$XDK_HOME
     | - bin: executable files
     | - lib: library files.
     | - nls/data: Globalization Support data files(*.nlb)
     | - xdk
          | - demo/cpp: demonstration code
          | - doc/cpp: documentation
          | - public: header files
          | - mesg: message files (*.msb)

次の表に、UNIXバージョンのXDK C++コンポーネントに付属するライブラリを示します。

表17-1 C++のXDKライブラリ(UNIX)

コンポーネント ライブラリ 説明

XML Parser、XSL Processor、XML Schema Processor

Class Generator

libxml10.a

DOM API、SAX APIおよびXSLT APIを含むXML Parser V2 for C++、XML Schema Processor for C++、Class Generator for C++


XDK C++コンポーネントは、次の表に示すOracleのCOREライブラリおよびGlobalization Supportライブラリに依存します。

表17-2 XDK C++コンポーネントの依存ライブラリ(UNIX)

コンポーネント ライブラリ 説明

COREライブラリ

libcore10.a

Oracle COREライブラリ

Globalization Supportライブラリ

libnls10.a

Oracle Globalization Support共通ライブラリ

Globalization Supportライブラリ

libunls10.a

Unicodeサポート用のOracle Globalization Supportライブラリ


C++のUNIX環境の設定

環境変数ORA_NLS10がグローバリゼーション・サポート・データ・ファイルの場所を指すように設定されているかどうかを確認します。Oracleデータベースをインストールすると、この変数を次のように設定できます。

setenv ORA_NLS10 ${ORACLE_HOME}/nls/data

Oracleデータベースをインストールしていない場合、XDKリリースに付属するグローバリゼーション・サポート・データ・ファイルを使用する必要があります。

setenv ORA_NLS10 ${XDK_HOME}/nls/data

環境変数ORA_XML_MESGmesgディレクトリへの絶対パスを指すように設定されているかどうかを確認します。Oracleデータベースをインストールすると(必須ではありません)、この変数を次のように設定できます。

setenv ORA_XML_MESG ${ORACLE_HOME}/xdk/mesg

Oracleデータベースをインストールしていない場合、XDKリリースに付属するエラー・メッセージ・ファイルのディレクトリになるようにこの変数を設定する必要があります。

setenv ORA_XML_MESG ${XDK_HOME}/xdk/mesg

XDKコンポーネントは、提供されるAPIを使用するための独自のプログラムを記述することで起動できます。xdk/include/サブディレクトリにあるヘッダーを使用してプログラムをコンパイルし、lib/サブディレクトリのライブラリにリンクします。プログラムを作成する方法の詳細は、xdk/demo/サブディレクトリにあるMakefileを参照してください。

コマンドラインの環境設定

パーサーは、bin/xmlを起動することによって、次のオプションを持つ実行可能ファイルとしてコールできます。


関連項目:

コマンドラインによるパーサーの使用方法については、表13-3「パーサーのコマンドライン・オプション」を参照してください。

UNIXで使用するXDKバージョンの取得の手順:

strings libxml10.a | grep -i Version

これで、Makefileを使用して、デモ・コードをコンパイルおよびリンクし、XDK C++コンポーネントでプログラムを開発できます。

C++ XDKのWindowsの環境設定

次に、XDK C++コンポーネントに付属するWindowsライブラリを示します。

表17-3 WindowsのXDK C++コンポーネント・ライブラリ

コンポーネント ライブラリ 説明

XML Parser

XSL Processor

XML Schema Processor

Class Generator

oraxml10.lib
oraxml10.dll

DOM API、SAX APIおよびXSLT APIを含むXML Parser V2 for C++

XML Schema Processor for C++

Class Generator for C++


XDK C++コンポーネント(Windows)は、次の表に示すOracleのCOREライブラリおよびGlobalization Supportライブラリに依存します。

表17-4 XDK C++コンポーネントの依存ライブラリ(Windows)

コンポーネント ライブラリ 説明

COREライブラリ

oracore10.dll

Oracle COREライブラリ

Globalization Supportライブラリ

oranls.dll

Oracle Globalization Support共通ライブラリ

Globalization Supportライブラリ

oraunls.dll

Unicodeサポート用のOracle Globalization Supportライブラリ


Windowsでコマンドラインを使用する環境

環境変数ORA_NLS10がグローバリゼーション・サポート・データ・ファイルの場所を指すように設定されているかどうかを確認します。Oracleデータベースをインストールする場合、次のようになります。

set ORA_NLS10 = %ORACLE_HOME%\nls\data

Oracleデータベースをインストールしていない場合、XDKリリースに付属するグローバリゼーション・サポート・データ・ファイルを使用する必要があります。

set ORA_NLS10 =%XDK_HOME%\nls\data

環境変数ORA_XML_MESGmesgディレクトリへの絶対パスを指すように設定されているかどうかを確認します。Oracleデータベースをインストールすると(必須ではありません)、この変数を次のように設定できます。

set ORA_XML_MESG =%ORACLE_HOME%\xdk\mesg

Oracleデータベースをインストールしていない場合、XDKリリースに付属するエラー・メッセージ・ファイルのディレクトリになるようにこの変数を設定する必要があります。

set ORA_XML_MESG =%XDK_HOME%\xdk\mesg

関連項目:

コマンドラインによるパーサーの使用方法については、表13-3「パーサーのコマンドライン・オプション」を参照してください。

C++ XDKのWindows環境の設定

コマンドラインでmake.batを使用してコードをコンパイルする必要がある場合、clコンパイラのパスを設定します。

「スタート」メニューから、「設定」→「コントロール パネル」を選択します。「コントロール パネル」のポップアップ・ウィンドウで、「システム」アイコンを選択してタブルクリックします。「システムのプロパティ」という名前のウィンドウがポップアップ表示されます。「環境」タブを選択して、図17-1に示すように、PATH変数に対してcl.exeのパスを入力します。

図17-1 clコンパイラのパスの設定

図17-1の説明が続きます
「図17-1 clコンパイラのパスの設定」の説明

ライブラリおよびヘッダー・ファイルのパスをCOMPILEコマンドおよびLINKコマンドに追加して、Make.batファイルを更新する必要があります。

:COMPILE
set filename=%1
cl -c -Fo%filename%.obj %opt_flg% /DCRTAPI1=_cdecl /DCRTAPI2=_cdecl /nologo /Zl
/Gy /DWIN32 /D_WIN32 /DWIN_NT /DWIN32COMMON /D_DLL /D_MT /D_X86_=1
/Doratext=OraText -I. -I..\..\..\include -
ID:\Progra~1\Micros~1\VC98\Include %filename%.c
goto :EOF

:LINK
set filename=%1
link %link_dbg% /out:..\..\..\..\bin\%filename%.exe /libpath:%ORACLE_HOME%\lib
/libpath:D:\Progra~1\Micros~1\VC98\lib /libpath:..\..\..\..\lib %filename%.obj
oraxml10.lib oracore10.lib oranls10.lib oraunls10.lib user32.lib kernel32.lib
msvcrt.lib ADVAPI32.lib oldnames.lib winmm.lib
:EOF

ここでは次のようになります。

D:\Progra~1\Micros~1\VC98\Includeがヘッダー・ファイルのパス、D:\Progra~1\Micros~1\VC98\libがライブラリ・ファイルのパスです。

これで、XDK C++コンポーネントを使用して開発を行えます。

Visual C++でのXDK C++コンポーネントの使用

環境変数ORA_NLS10がグローバリゼーション・サポート・データ・ファイルの場所を指すように設定されているかどうかを確認します。

Visual C++で環境変数を認識するには、Windowsのシステム設定を使用して環境変数を定義する必要があります。

「スタート」メニューから、「設定」→「コントロール パネル」を選択します。「コントロール パネル」のポップアップ・ウィンドウで、「システム」アイコンを選択してタブルクリックします。「システムのプロパティ」という名前のウィンドウがポップアップ表示されます。「環境」タブを選択して、ORA_NLS10を入力します。

Visual C++で環境変数を使用するには、Windowsのシステム設定を使用して環境変数を定義する必要があります。

「スタート」メニューから、「設定」→「コントロール パネル」を選択します。「コントロール パネル」のポップアップ・ウィンドウで、「システム」アイコンを選択してタブルクリックします。「システムのプロパティ」という名前のウィンドウがポップアップ表示されます。「環境」タブを選択して、図17-2に示すように、ORA_XML_MESGを入力します。

図17-2 ORA_XML_MESG環境変数の設定

図17-2の説明が続きます
「図17-2 ORA_XML_MESG環境変数の設定」の説明

図17-3「DLLのPATHの設定」に、DLLライブラリのPATHの設定方法を示します。

図17-3 DLLのPATHの設定

図17-3の説明が続きます
「図17-3 DLLのPATHの設定」の説明

Visual C++でワークスペースをオープンして、プロジェクト用の*.cppファイルをインクルードした後、プロジェクトのパスを設定する必要があります。「Tools」メニューに移動し、「Options」を選択します。ウィンドウがポップアップ表示されます。図17-4に示すように、「Directories」タブを選択して、インクルード・パスを設定します。

図17-4 Visual C++でのインクルード・パスの設定

図17-4の説明が続きます
「図17-4 Visual C++でのインクルード・パスの設定」の説明

図17-5に示すように、ライブラリ・パスを設定します。

図17-5 Visual C++での静的ライブラリ・パスの設定

図17-5の説明が続きます
「図17-5 Visual C++での静的ライブラリ・パスの設定」の説明

%XDK_HOME%\lib内の静的ライブラリのパスを設定した後、Visual C++のコンパイル環境でライブラリ名も設定する必要があります。

メニュー・バーで「Project」メニュー→「Settings」を選択します。ウィンドウがポップアップ表示されます。図17-6に示すとおり、「Object/Library Modules」フィールドで「Link」タブを選択し、XDK C++コンポーネントのライブラリの名前を入力します。

図17-6 Visual C++プロジェクトでの静的ライブラリの設定

図17-6の説明が続きます
「図17-6 Visual C++プロジェクトでの静的ライブラリの設定」の説明

これでデモ・プログラムをコンパイルおよび実行し、XDK C++コンポーネントを使用できます。


関連項目:

XDK C++コンポーネントの詳細は、第19章「XML Parser for C++」を参照してください。