ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

XMLとORACLEについて

概要

 米ORACLE社では、Oracle 8iをXML対応するための開発キットとして、Oracle XDKを提供しています。 Oracle 8.1.6では、標準で組み込まれています。
 このXDKは、JDBCやServletAPIに準拠して作成されているため、Oracle7と接続したり、Apacheから起動したりすることもできます。
 以下に、そのシステム構成やソフトウェア構成について説明します。

システム構成図

 Oracle SDKを利用すると、ブラウザから、XSQL言語でデータベースにアクセスできます。 XSQL言語を利用すると、データをXMLデータとして取得できるます。 XMLデータは、階層構造や繰り返し構造を含んだデータとなるため、処理が簡単になります。
 Webサーバ上のJava ServletのXMLパーサとXSQLプロセッサにより、XSQL言語からXSLとSQLに変換されを出力されます。 このSQLを、XML SQLユーティリティでDBアクセスすることにより、XMLデータが出力されます。 これらのXMLデータとXSLデータを、XSLプロセッサにより、ブラウザに表示されます。 XSLプロセッサでは、XMLに対応していないブラウザ用に、HTMLデータとして表示することもできます。

ソフトウェア構成

 OracleをXML対応するためには、以下のソフトウェアが必要です。 ORACLEのXML関連モジュールは、http://technet.oracle.com/tech/xml/ からダウンロードすることができます。
 これらのソフトウェアを利用するためには、あらかじめOracle8iと、JDK1.2をインストールしておく必要があります。

パッケージ名ファイル名
XML Parsers and XSL Processors for Java xmlparser_v2_0_2_6.tar.gz
XML Transviewer Beans transview_v1_0_2.tar.gz
XML Class Generators for Java xmlclassgen_v1_0_1.tar.gz
XML SQL Utility for Java XSU12.zip
XSQL Servlet xsqlservlet_v0_9_8_6.tar.gz

 XSQL Servletをダウンロードして展開すると、XML Parserや、XML SQL Utilityなどが入っています。 ですから、XSQL Servletのみダウンロードしても使えます。 使い方は、中に入っている英語版のリリースノートを参照してください。

XML Parser for Java

機能概要

 XML Parser for Javaは、Java言語で記述された、XMLパーサです。 XML Parser for Javaを利用すると、Oracle8iを使ったXMLアプリケーションの開発が簡単になり、標準化できます。
 XML Parser for Javaは、XML文書を解析し、その内容をメモリに展開します。 展開されたメモリの内容に対しては、DOMやSAXによるAPIでアクセスすることができます。 また、スタイルシートも搭載しているため、XMLデータにXSLスタイルシートを反映させて表示できます。
 XML Parser for Javaは、XSQLサーブレットに入っています。

XML Parser for Javaの特徴

  1. W3C XML 1.0 正式勧告(REC)に対応
  2. W3C XML DOM Level 1に対応
  3. SAX APIに対応
  4. W3C XML 名前空間(NameSpace) 勧告案(PR)に対応
  5. 各種文字エンコードに対応
      UTF-8, UTF-16, ISO-2022-JP, Shift_JIS, EUC-JPなど
  6. W3C XSLT 1.0, W3C XPpath 1.0 対応のXSLT機能

実行に必要なファイル

 xmlparserv2.jar

XML Transviewer Beans

機能概要

 XML Transviewer Beansは、簡単にXMLアプリケーションを開発できるようになります。 XMLデータやXSLスタイルシートを作成し、その結果を画面に表示することもできます。 また、JDevelopのなどと連動して使うこともできます。
 XML Transviewer Beansは、以下の機能があります。

  1. DOM Builder
      JavaXMLパーサをカプセル化して、非同期解析処理を可能にする
  2. XSL Transformer
      XMLデータにXSLスタイルシートを反映して表示する
  3. XML Source Viewer
      XMLデータのソースをタグの色を分けて表示する
  4. XML Tree Viewer
      XMLデータにスタイルシートを適用し、ツリー構造で表示する

実行に必要なファイル

 xmlparserv2.jar, xmlcomp.jar, jdev-rt.zip

XML Class Generators

機能概要

 XML SQL Utilityの出力したDTDから、Javaクラスを生成します。 このクラスを用いることにより、Javaプログラムでは、DTDに沿ったXML文書を処理することができます。 この機能を使うと、2つの異なるアプリケーション間で、共通のデータを扱うことができます。

実行に必要なファイル

 classgen.jar

XML SQL Utility for Java

機能概要

 SQLの検索結果をXMLデータまたは、DOMインターフェイスで返却します。
 XMLデータをORACLEの表に登録できます。
 XMLデータの他に、DTDも出力できます。 XML Class Generatorsを使って、Javaクラスも生成できます。
 XML SQL Utility for Javaは、XSQLサーブレットに入っています。

実行に必要なファイル

 oraclexmlsql.jar

XSQL Servlet

機能概要

 XSQL Servletは、ORACLE XDKの一部となります。
 ブラウザからの要求で、XML Parserと、XML SQL Utilityを呼び出し、処理結果を返却します。
 XSQL Servletには、以下の機能があります。

  1. SQLから、動的にXMLデータやHTMLデータを生成する
  2. XSLを適用して出力することができる
  3. データベースの更新もできる

実行に必要なファイル

 XSQLConfig.xml
 oraclexsql.jar, classes111.zip, oraclexmlsql.jar, xmlparserv2.jar

インストール手順

unix# vi jserv.properties
# for Oracle XML
wrapper.classpath=/usr/local/classes/oraclexsql.jar
wrapper.classpath=/usr/local/classes/classes111.zip
wrapper.classpath=/usr/local/classes/oraclexmlsql.jar
wrapper.classpath=/usr/local/classes/xmlparserv2.jar
wrapper.classpath=/usr/local/classes

unix# vi jserv.conf
ApJServAction .xsql /servlets/oracle.xml.xsql.XSQLServlet

unix# cp -pr demo /usr/local/htdocs/.
unix# apachectl restart
unix# lynx http://localhost/demo/

XSQLの設定

 XSQLを使うためには、/usr/local/classes/XSQLConfig.xml ファイルのJDBCドライバの設定が必要です。
 以下は、1521ポートで起動したNet8のリスナーを使って、オラクルSID(XMLTEST)に対して接続する例です。 JDBCを使っているため、SQL*NetV2のリスナーを使って、Oracle7に対しても接続することができます。

  <connection name="demo">
    <username>scott</username>
    <password>tiger</password>
    <dburl>jdbc:oracle:thin:@localhost:1521:XMLTEST</dburl>
    <driver>oracle.jdbc.driver.OracleDriver</driver>
  </connection>

関連リンク

 XSQLを使って、Oracleデータベースを検索するサンプルページを作成してみました。



Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp