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

戻る
戻る
次へ
次へ
 

1 XML Developer's Kitコンポーネントの概要

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

Oracle XML Developer's Kitの概要

Oracle XML Developer's Kit(XDK)は、コンポーネント、ツールおよびユーティリティのセットです。これらを使用することで、XML対応アプリケーションの構築およびデプロイのタスクが容易になります。

XDKのリリース・ノートについては、/xdk/doc/readme.htmlを参照してください。

表1-1に、XDKコンポーネントがサポートする標準の概要を示します。

表1-1 XDKコンポーネントがサポートする標準

標準 Java C C++

XML 1.0(Second Edition)

フル

フル

フル

XML Namespaces 1.0

フル

フル

フル

XML Base

XSLT内のみ

サポート対象外

サポート対象外

XML Schema 1.0

フル

フル

フル

DOM 1.0

フル

フル

フル

DOM 2.0 Core

フル

フル

フル

DOM 2.0 Events

フル

フル

フル

DOM 2.0 Transversal and Range

フル

フル

フル

DOM 3.0 Load and Save(草案)

一部サポート

サポート対象外

サポート対象外

DOM 3.0 Validation(草案)

フル

サポート対象外

サポート対象外

SAX 1.0

フル

フル

フル

SAX 2.0 Core

フル

フル

フル

SAX 2.0 Extension

フル

フル

フル

XSLT 1.0

フル

フル

フル

下位互換性を保持するXSLT 2.0

一部サポート

サポート対象外

サポート対象外

XPath 1.0

フル

フル

フル

下位互換性を保持するXPath 2.0(草案)

一部サポート

サポート対象外

サポート対象外

XML Pipeline 1.0(ノート)

一部サポート

サポート対象外

サポート対象外

JAXP 1.1(JSR標準)

フル

N/A

N/A

JAXP 1.2(JSR標準)

フル

N/A

N/A

JAXB 1.0(JSR標準)

一部サポート

N/A

N/A

Class Generator(Oracle登録商標)

N/A

N/A

フル


オラクル社は、次のW3Cワーキング・グループに積極的に参加しています。

オラクル社は、次のJSR標準に積極的に参加しています。

Oracle XDKコンポーネントの概要

XDKはフル・サポート対象であり、商用再配布ライセンスを受けています。多様なデプロイ・オプションを提供するために、XDKコンポーネントはJava、CおよびC++に使用できます。表1-2に、Oracle XDKコンポーネントを示します。

表1-2 Oracle XDKコンポーネントの概要

XDKコンポーネント 説明 サポート対象言語 関連項目

XML Parser

業界標準のDOMインタフェースおよびSAXインタフェースを使用してXMLを作成および解析します。

Java、C、C++

第3章「XML Parser for Java」

第14章「XML Parser for C」

第19章「XML Parser for C++」


XSLT Processor

XMLを、HTMLなどの他のテキストベースの形式に変換またはレンダリングします。

Java、C、C++

第4章「XSLT Processor for Java」

第15章「XSLT Processor for C」

第20章「XSLT Processor for C++」


XVM


コンパイルされたスタイルシートをサポートする、高パフォーマンスのXSLT変換エンジン。

CおよびC++

「XVMプロセッサ」


XML Schema Processor

スキーマを検証します。単純および複雑なXMLデータ型を使用可能にします。

Java、C、C++

第5章「XML Schema Processor for Java」

第16章「XML Schema Processor for C」

第21章「XML Schema Processor for C++」


JAXP


Javaアプリケーションから、SAX、DOMおよびXSLTプロセッサ(または代替プロセッサ)を使用する機能を提供します。

Java

「JAXPの使用」


JAXB Class Generator

XML Schemaに基づくJavaクラスを作成します。XML Class Generator for Javaを置き換えます。

Java

第6章「JAXB Class Generatorの使用」


XML Class Generator

DTDおよびXML SchemaからC++クラスを自動生成して、WebフォームまたはアプリケーションからXMLデータを送信します。

C++

第23章「XML Class Generator for C++」


XML SQL Utility(XSU)

SQL問合せからXML文書、DTDおよびスキーマを生成し、SQL問合せの結果をXMLに(またはその逆に)マップします。

JavaおよびPL/SQL

第7章「XML SQL Utility(XSU)」

第24章「XSU for PL/SQL」


XSQLサーブレット

サーバー内のXML、SQLおよびXSLTを組み合せて、動的Webコンテンツを配信します。

Java

第8章「XSQL Pagesパブリッシング・フレームワーク」


XML Pipeline Definition Language

XML XPipe宣言ファイルに指定されたXMLプロセスのセットを適用します。

Java

第9章「Pipeline Definition Language for Java」


XML JavaBeans:

統合開発環境(IDE)、Java Server Pages(JSP)およびアプレットの使用を簡単にする、XDKコンポーネントをBeanでカプセル化したもののセットです。

Java

第10章「XDK JavaBeans」


Oracle SOAPサーバー

Simple Object Access Protocol(SOAP)は、リクエストおよびレスポンスをインターネット経由で送受信するための軽量プロトコルです。

Java

第11章「XDKおよびSOAPの使用」


TransX Utility


XMLを使用して、変換されたシード・データおよびメッセージをデータベースにロードします。

Java

第12章「TransX Utility」


XML Compressor

XML文書をバイナリで圧縮および解凍します。

Java

「XML Compressorの概要」



XML文書に適用されるXDKの機能

XMLテクノロジを使用するには、XMLの解析、DTDまたはXML Schemaに対する妥当性の検証、スタイルシートを適用したXMLの変換、およびSQL文によってデータベースから選択したデータに基づくXML文書の生成を行うツールに精通している必要があります。コンポーネントの相互参照については、表1-2「Oracle XDKコンポーネントの概要」の「関連項目」列を参照してください。XML CompressorはJavaのみをサポートしています。図1-1に、XDKの概要を簡単に示します。

XMLパーサー

XMLパーサーは、XML文書を読み取ります。XML文書のツリー状の表現をナビゲートするにはDOM APIを使用し、メモリーの消費を少なくするにはSimple API for XML(SAX)イベントベース・インタフェースを使用します。XML Parser for JavaはJAXPをサポートします。JAXPを使用すると、XMLプロセッサの実装に関係なくDOM、SAXおよびXSLTを使用してXML文書を処理できます。XML Compressorもパーサーに統合されています。XML Compressorにより、XMLメッセージ・ペイロードのサイズが縮小されます。

図1-2に、Oracle XML Parserの機能を示します。

図1-2 XML Parser: Java、CおよびC++

図1-2の説明が続きます
「図1-2 XML Parser: Java、CおよびC++」の説明

XSL Transformation(XSLT)プロセッサ

Oracle XSLTエンジンは、XSL TransformationsのW3C勧告をフル・サポートしています。Oracle XSLTエンジンの機能は次のとおりです。

すべてのオペレーティング・システム上で、データベース内外のXML情報に対して、業界標準に準拠した変換を行います。

Oracle XML Parserには、XSLスタイルシートを使用してXMLデータを変換するためのXSL Transformation(XSLT)プロセッサが統合されています。XSLTプロセッサを使用すると、XML文書をXMLやHTMLなど、実質的にすべてのテキストベース形式の文書に変換できます。


関連資料:


JAXBおよびC++ Class Generator

JAXB Class Generatorは、入力XML Schemaに対応するXML文書を作成するJavaクラスのセットを作成します。JAXBではDTDがサポートされません。これらのクラスはJavaアプリケーションで使用されます。C++ Class Generatorは、入力DTDまたはXML Schemaに対応するXML文書を作成するC++クラスのセットを作成します。これらのクラスはC++アプリケーションで使用されます。

JAXB Class Generatorはデータ・バインディングをサポートします。XMLインスタンス・ドキュメントを入力して、実行時にDTDから生成されたクラスにインスタンス・データを直接ロードできます。これにより、DOM APIと比較して、メモリーの使用量およびパフォーマンスが改善されます。

図1-3 Oracle JAXB Class Generator

図1-3の説明が続きます
「図1-3 Oracle JAXB Class Generator」の説明

XML Schema Processor

XML Schemaは、XML文書のコンテンツおよび構造をXMLで記述するためにW3Cで作成された言語で、DTDが改善されたものです。XML Schema Processorは、XMLにデータ型の概念を導入しています。これにより、XML構文を使用してデータベース間でデータを交換できます。

XDK JavaBeans

Oracle XDK JavaBeansはビジュアルなBeanと非ビジュアルなBeanのセットであり、XML対応の様々なJavaアプリケーションまたはアプレットの作成に有用です。XDK JavaBeansは次のBeanによって構成されています。

DOMBuilder

DOMBuilder JavaBeanは非ビジュアルなBeanです。XML文書からDOMツリーを構築します。

XSLTransformer

XSLTransformer JavaBeanは非ビジュアルなBeanです。XMLファイルを受け入れ、入力XSLスタイルシートによって指定された変換を適用し、結果の出力ファイルを作成します。

DBAccess

DBAccess JavaBeanは、複数のXML文書およびテキスト・ドキュメントを含むCLOB表をメンテナンスします。

XMLDiff

XMLDiff JavaBeanは、2つのXML DOMツリーを比較します。

XMLCompress

このJavaBeanは、XML圧縮機能をカプセル化したものです。

XMLDBAccess

このJavaBeanはDBAcess Beanの拡張機能であり、XML文書がOracleデータベース表に格納されるXMLType列をサポートします。

XSDValidator

このJavaBeanはoracle.xml.parser.schema.XSDValidatorクラスをカプセル化し、DOMツリーの検証機能を追加するクラス・ファイルです。

Oracle XML SQL Utility(XSU)for Java

XML SQL Utilityは、次の機能を備えた主なJavaクラス・ライブラリで構成されます。

  • 任意のSQL問合せの結果を自動的かつ動的に正規のXMLにレンダリングします。

  • XMLTypeを含む豊富な構造のユーザー定義オブジェクト型およびオブジェクト・ビューでの問合せをサポートします。

XML SQL UtilityのJavaクラスは、次のタスクに使用できます。

  • XML文書のデータを既存のデータベース・スキーマまたはビューにロードします。

  • 正規の構造を持つXMLを、既存の表、ビュー、オブジェクト表またはオブジェクト・ビューに自動的に挿入します。XSLT変換と組み合せることで、実質的にすべてのXML文書をデータベースに自動的に挿入できます。


    注意:

    XSU for PL/SQLも使用できます。Oracle XML SQL Utility(XSU)for Javaにこれらの機能があります。

図1-4に、XML文書からデータベース・スキーマまたはビューにデータをロードするOracle XML SQL Utilityの機能を示します。

図1-4 Oracle XML SQL Utilityの機能

図1-4の説明が続きます
「図1-4 Oracle XML SQL Utilityの機能」の説明

XSQL Pagesパブリッシング・フレームワーク

XSQL Pagesパブリッシング・フレームワーク(XSQLサーブレット)はサーバー・コンポーネントであり、データ・オブジェクトに対する1つ以上のSQL問合せから動的XML文書を生成します。これを行うには、特定の構造と文法を持つXMLファイルであるXSQLファイルを処理します。XSQLサーブレットはOracle XML Parserを使用してXSQLファイルを処理し、XSLT処理文を内部XSLTプロセッサに渡す一方で、タグ間のパラメータおよびSQL文をXML SQL Utilityに渡します。その後、この問合せの結果を、XML形式のテキスト、またはJDBC ResultSetオブジェクトとして受け取ります。必要に応じて、組込みのXSLTプロセッサを使用して、問合せの結果を必要な形式にさらに変換することもできます。

TransX Utility

Oracle TransX Utilityはデータ転送ユーティリティであり、データベースに多言語のデータを移入できます。このユーティリティはXMLを使用してデータを指定するため、XMLからデータベースに簡単に転送できます。また、開発者と翻訳者の両方が直感的に使用できる単純なデータ形式、および以前の方法よりエラーの発生が軽減される検証機能を使用します。

SOAPサービス

Oracle SOAPサービスは、Webを介して発行、検索および実行されます。SOAPは、プロトコルやオペレーティング・システムに依存しない転送プロトコルです。SOAPサービスは、すべてのアプリケーションで標準のXMLメッセージ形式を提供します。SOAPサービスでは、XML標準を使用してメッセージング、RPCおよびWebサービス・アプリケーションを構築できます。

XDKがサポートする言語を使用したXML文書の生成

XML文書の生成には、各言語コンポーネントが使用されます。

XSU for Javaを使用したXML文書の生成

XSUは任意のSQL問合せの結果を正規のXMLにレンダリングできます。

問合せ結果からのXMLの生成

図1-5に、XML SQL UtilityによるSQL問合せの処理と、XML文書で戻される結果を示します。

図1-5 XML SQL UtilityによるSQL問合せの処理とXML文書で戻される結果

図1-5の説明が続きます
「図1-5 XML SQL UtilityによるSQL問合せの処理とXML文書で戻される結果」の説明

XML文書の構造: 列の要素へのマップ

結果のXML文書の構造には、次の属性があります。

  • 列は、最上位の要素にマップします。

  • スカラー値は、内容がテキストのみの要素にマップします。

  • オブジェクト型は要素にマップされ、オブジェクト型の属性はサブ要素を構成します。

  • コレクション型は、要素のリストにマップします。

XSUによる文字列またはDOM要素ツリーとしてのXML文書の生成

XML SQL Utility(XSU)はSAXイベント・ストリームをサポートします。また、次のいずれかの方法でXML文書を生成します。

  • XML文書の文字列表現。XML文書をリクエスタに戻す場合、この表現を使用してください。

  • メモリー内の要素のXML DOMツリー。プログラムでXMLを操作する場合、この表現を使用してください。たとえば、なんらかの方法でDOMメソッドによってXMLを検索または変更するXSLTプロセッサを使用してXMLを変換する場合などです。

  • 一連のSAXイベント。XML(特にサイズの大きな文書や結果セット)を取得する場合に使用できます。

XSUによる問合せ対象の表のスキーマに基づくDTDの生成

XML SQL Utility(XSU)を使用すると、問合せ対象の基礎となる表またはビューのスキーマに基づいて、DTDまたはXML Schemaを生成できます。生成されたDTDを、JAXB Class Generator for JavaまたはC++ Class Generator用の入力として使用できます。これで、DTD要素に基づくクラスのセットが生成されます。その後、これらのクラスを使用するコードを作成し、Webベースのフォームのインフラストラクチャを生成します。

このインフラストラクチャに基づいて、Webフォームではユーザー・データが取得され、データベース・スキーマと互換性のあるXML文書が作成されます。このデータは、追加の処理を行わずに、対応するデータベース表またはオブジェクト・ビューに直接書き込むことができます。


注意:

XMLデータが基礎となる表構造と一致していないデータベース表にXML文書を書き込む場合、書込みの前にXML文書を変換します。この方法については、第7章「XML SQL Utility(XSU)」を参照してください。

Oracle XDK Javaコンポーネントを使用したXML文書の生成

図1-6に、Oracle XDK Javaコンポーネントと、コンポーネントを使用したXML文書の生成方法を示します。表1-2「Oracle XDKコンポーネントの概要」に、XDK Javaコンポーネントの相互参照を示します。

Java環境では、SQL問合せを送信する場合、Oracle XDKコンポーネントを使用した次の方法で問合せを処理できます。

  • XSQLサーブレットによる処理(XSUとXML Parser for Javaの使用を含む)

  • XSUによる直接処理(XML Parser for Javaの使用を含む)

  • XML ParserにアクセスするJDBCによる直接処理

格納されたXMLデータがどのようにデータベースから生成されたかにかかわらず、XML Parser for Javaから出力された結果のXML文書は追加処理されます。つまり、スタイルシートを適用してフォーマットおよびカスタマイズされ、XSLTによって処理されます。

図1-6 XDK Javaコンポーネントを使用したXML文書の生成

図1-6の説明が続きます
「図1-6 XDK Javaコンポーネントを使用したXML文書の生成」の説明

Oracle XDK Cコンポーネントを使用したXML文書の生成

図1-7に、XML文書の生成に使用するOracle XDK C言語コンポーネントを示します。表1-2「Oracle XDKコンポーネントの概要」に、使用可能なXDK Cコンポーネントを示します。

Oracle Call Interface(OCI)またはPro*C/C++プリコンパイラによって、SQL問合せをデータベースに送信できます。

次の方法で結果のXMLデータを処理できます。

  • XMLパーサーによる処理

  • XML文書としてCLOBからの処理

このXMLデータは、オプションでXSLTプロセッサによって変換されるか、XML対応ブラウザで直接表示されます。あるいは、追加処理するためにアプリケーションに送信されます。

図1-7 XDK Cコンポーネントを使用したXML文書の生成

図1-7の説明が続きます
「図1-7 XDK Cコンポーネントを使用したXML文書の生成」の説明

Oracle XDK C++コンポーネントを使用したXML文書の生成

図1-8に、XML文書の生成に使用するOracle XDK C++コンポーネントを示します。表1-2「Oracle XDKコンポーネントの概要」に、使用可能なXDK C++コンポーネントを示します。

C++環境では、ユーザー、クライアントまたはアプリケーションからSQL問合せを送信する場合、XDK C++コンポーネントを使用した次の2つの方法で問合せを処理できます。

  • XMLパーサーにアクセスするJDBCによる直接処理

  • Oracle C++ Call Interface(OCCI)またはPro*C/C++プリコンパイラを介した処理

図1-8 XDK C++コンポーネントを使用したXML文書の生成

図1-8の説明が続きます
「図1-8 XDK C++コンポーネントを使用したXML文書の生成」の説明

XDKおよびアプリケーションの開発ツール

図1-9に、Oracle XMLコンポーネントによるE-Businessソリューションの開発の概要を示します。

顧客または従業員であるユーザーが、Java、CまたはC++アプリケーションのいずれかを介してOracleデータベースにSQL問合せを送信します。これらのアプリケーションと、XSQL Pagesパブリッシング・フレームワークやJDeveloperなどの開発ツールは、データベースのデータをXML文書に変換します。これらのXML文書は、この図に示すように、他のユーザーとのデータ交換、コンテンツやデータの管理およびその他の用途のためにXMLベースのビジネス・ソリューションに入力されます。

図1-9 Oracle XMLコンポーネントとE-Businessソリューション

図1-9の説明が続きます
「図1-9 Oracle XMLコンポーネントとE-Businessソリューション」の説明

この項のトピックは次のとおりです。

XMLをサポートするブラウザ

次のブラウザはXMLの表示をサポートしています。

  • Opera。XML、バージョン4.0以上。

  • Citec Doczilla。XMLおよびSGMLブラウザ。

  • Indelv。XSLを使用する場合にのみXML文書を表示します。

  • Mozilla Gecko。XML、CSS1およびDOM1をサポートします。

  • HP ChaiFarer。XMLおよびCSS1をサポートする埋込み環境。

  • ICESoft埋込みブラウザ。XML、DOM1、CSS1およびMathMLをサポートします。

  • Microsoft IE5。完全なXMLパーサーを搭載します。IE5.x以上。

  • Netscape 5.x以上。

Oracle XML Gateway

XML Gatewayの一連のサービスによって、Oracle E-Business Suiteとの統合が容易になり、ビジネス・イベントがトリガーするXMLメッセージを作成および使用できます。XML Gatewayは、Oracle Streams Advanced Queuingと統合し、メッセージをエンキューおよびデキューします。このメッセージは、任意のメッセージ転送エージェントを介して、ビジネス・パートナとの間で送受信されます。


関連資料:

  • 『Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイドおよびリファレンス』

  • 『Oracle XML DB開発者ガイド』


Oracle Data Provider for .NET

Oracle Data Provider for .NET(ODP.NET)は、Oracle Database用のデータ・プロバイダを実装しています。

ODP.NETはOracleにネイティブのAPIを使用して、すべての.NETアプリケーションからOracleのデータと機能に高速かつ確実にアクセスできるようにします。ODP.NETは、Microsoft .NET Frameworkクラス・ライブラリで使用できるクラスとインタフェースも使用および継承します。

ODP.NETでは、リレーショナル表およびオブジェクト・リレーショナル表からデータを抽出でき、Oracle XDKを使用してXML文書として表示します。データベース・サーバーへの挿入、更新および削除操作にXML文書を使用することもできます。

ODP.NETは、XML Database(Oracle XML DB)を介してデータベース内にネイティブのXMLをサポートします。

ODP.NETは、次の機能を使用してXMLをサポートします。

  • OracleにネイティブのタイプXMLTypeとして、データベース・サーバーにネイティブのXMLデータを格納します。

  • Oracleデータベース・インスタンスからMicrosoft .NET環境へのXMLデータとして、リレーショナル・データおよびオブジェクト・リレーショナル・データにアクセスし、Microsoft .NETフレームワークを使用してXMLを処理します。

  • XMLデータを使用して、変更をデータベース・サーバーに保存します。

.NETアプリケーション開発者の場合、次の機能が含まれます。

  • OracleCommandOracleConnectionおよびOracleDataReaderクラスへの拡張機能

  • XML固有のクラス:

    • OracleXmlType

    • OracleXmlStream

    • OracleXmlQueryProperties

    • OracleXmlSaveProperties


関連資料:

『Oracle Data Provider for .NET開発者ガイド』

JDeveloper

Oracle JDeveloperは、E-Businessアプリケーションの開発、デバッグおよびデプロイをエンドツーエンドでサポートするJ2EE開発環境です。JDeveloperは、業界最高速のJavaデバッガ、新しいプロファイラ、およびコードのパフォーマンスを分析および改善する画期的なCodeCoachなどの生産性の高いツールを使用して、より効率低に作業できます。

生産性がさらに向上するように、JDeveloperでは、ソース・コードの制御、モデリングおよびコーディングからデバッグ、テスト、プロファイリングおよびデプロイまでの一連の開発ライフ・サイクルをサポートする、一貫した統合ツールのセットを提供します。JDeveloperを使用すると、ウィザード、エディタ、ビジュアル設計ツール、およびアプレット、JavaBeans、Java Server Pages(JSP)、サーブレット、Enterprise JavaBeans(EJB)などの高品質な標準J2EEコンポーネントを作成するデプロイ・ツールが提供されるため、J2EEの開発が容易になります。JDeveloperは、開発環境を拡張およびカスタマイズし、外部製品とシームレスに統合するためのパブリックなAPIも提供します。

JDeveloperに統合されたOracle XDKには、XMLを作成、処理および変換する多くの方法があります。たとえば、開発者はXSQLサーブレットを使用して、データベースの情報に対して問合せや操作を行い、XML文書を生成し、XSLTスタイルシートを使用して文書を変換し、Web上で使用できます。

JDeveloperには、XMLスキーマやXSLTスタイルシートなどのXML Schemaに基づく文書に使用できる、統合されたXMLスキーマ駆動のコード・エディタが搭載され、Tag Insight機能を使用すると、スキーマで定義されたとおりに、正しい要素や属性を簡単に入力できます。

XML文書の構造を定義するXML Schema Definitionが、XMLの検証や開発者による型付けの際にエディタで使用されます。この機能はCode Insight機能と呼ばれ、文書内のXML要素や属性に対して妥当な代替の要素や属性のリストを提供します。エディタでは、特定の言語に対してスキーマを指定するのみで、指定したマークアップ言語のドキュメントを効率的に作成できます。

Oracle JDeveloperによって、Javaアプリケーション・コードと、XMLデータおよびXML文書の同時使用が簡単になります。Oracle JDeveloperでは、XML開発モジュールをドラッグ・アンド・ドロップで使用できます。内容は次のとおりです。

  • XMLのカラー化された構文ハイライト表示。

  • XMLおよびExtensible Style Sheet Language(XSL)用の組込み構文確認。

  • XSQLページとサーブレットのサポート。開発者は、Oracle XSQL Pages(データベースに問合せを行い、フォーマットされたXMLを戻すJavaプログラム)を編集およびデバッグしたり、またはコードを記述せずにXMLをデータベースに挿入できます。統合されたサーブレット・エンジンでは、使用するプログラム・ソースと同じ環境でJavaコードによって生成されたXML出力を表示でき、迅速で反復可能な開発とテストが容易になります。

  • Oracle XML Parser for Java。

  • XSLT Processor。

  • XDK for JavaBeansの関連コンポーネント。

  • XSQL Page Wizard。

  • XSQLアクション・ハンドラ。

  • スキーマ駆動XMLエディタ。


    関連資料:


User Interface XML(UIX)

UIX(User Interface XML)は、Webアプリケーションを構築するためのフレームワークを構成するテクノロジのセットです。UIXは、主にアプリケーションのユーザー・プレゼンテーション・レイヤーを対象としたテクノロジですが、イベントおよびアプリケーション・フローの状態を管理するための追加機能もあります。UIXは、統合開発環境(IDE)などの高度な対話を必要とするフル機能のアプリケーションではなく、ページ・ベースのナビゲーションが行われるオンライン人事管理アプリケーションなどを作成するように設計されています。


関連資料:

UIX用のJDeveloperデモンストレーション・コードのサンプルについては、次の関連資料を参照してください。

XML関連の推奨書籍とWebサイト

XMLのFAQについては次のサイトも参照してください。

次に、XMLに関する書籍やWebサイトを示します。URLは変更になることが多いため、紹介するURLの一部のリンクはアクティブではない場合があります。

  • WROX出版社からは多くの有用な書籍が出版されています。そのうちの1冊がXML、XSLおよび開発について説明する『XML Design and Implementation』(Paul Spencer著)です。

  • 『Building Oracle XML Applications』(Steve Muench著、O'Reilly出版)http://www.oreilly.com/catalog/orxmlapp/を参照してください。

  • 『XML Bible』。http://www.ibiblio.org/xml/books/biblegold/を参照してください。

  • 『Oracle9i XML Handbook』(Oracle XML Product Development Team著)http://www.osborne.com/oracle/

  • 『XML, Java, and the Future of the Web』(Jon Bosak著、Sun社)http://metalab.unc.edu/pub/sun-info/standards/xml/why/xml apps.htm

  • 『XML for the Absolute Beginner』(Mark Johnson著、JavaWorld)http://www.javaworld.com/jw-04-1999/jw-04-xml_p.html

  • 『XML And Databases』(Ronald Bourret著、ダルムシュタット工科大学)http://www.informatik.tu-darmstadt.de/DVS1/staff/bourret/ XML/

  • XMLAndDatabases.htmおよびXML仕様(World Wide Web Consortium: W3C)http://www.w3.org/XML/

  • XML.com(XMLリソースおよびコメントの広範囲なコレクション)http://www.xml.com/

  • 『Annotated XML Specification』(Tim Bray著、XML.comhttp://www.xml.com/axml/testaxml.htm

  • XML FAQのサイト(W3C XML Special Interest Group: 企業がXMLデータを交換できる、XML DTDの業界情報公開機関)http://www.ucc.ie/xml/

  • http://xml.org/

  • xDev(DataChannel XML開発者のページ)http://xdev.datachannel.com/

Oracle XML対応テクノロジの使用

この項では、Oracle XML対応テクノロジに関する一般情報について説明します。内容は次のとおりです。

XDKを使用するための情報

XDKの使用に関するトピックは次のとおりです。

Oracle9i Application ServerにかわるApache Webサーバーの使用

Apache Webサーバーを使用して、JDBCまたはその他の方法でOracleとやりとりする必要があります。XSQLサーブレットを使用できます。これはすべてのサーブレット対応Webサーバーで実行可能なサーブレットです。このサーブレットはApacheで実行され、Java Database Connectivity(JDBC)ドライバを介してOracleデータベースに接続します。

すべてのXMLがプログラムで作成された場合のXMLパーサーの必要性

すべてのXMLがプログラムで作成された場合、XMLパーサーが必要になるかどうかは、生成されたXMLの用途によって異なります。実行するタスクがXMLを生成して送信するのみであれば、XMLパーサーは必要ありません。ただし、XML DOMツリーを生成する場合はXMLパーサーが必要です。また、受信したXML文書を分析および格納する場合も必要です。この問題のヘルプについては、XML SQLユーティリティを参照してください。

XML文書でのSQL*Loaderとネスト

次のシナリオがあるとします。

...
     <something>
        <price>10.00</price>
     </something>
...
   ...
      ...
          <somethingelse>
            <price>55.00</price>
          </somethingelse>

2つの<price>要素を一意に識別する方法はあるでしょうか。

回答: 方法はありません。制御ファイルのフィールドの記述はネストできます。これは、オブジェクト・リレーショナル列のサポートの一部です。もちろん、この記述がマップするデータ・レコードはフラットですが、SQL*Loaderのすべてのデータ・フィールド記述機能を使用すると、多くのタスクを実行できます。次に例を示します。

sample.xml

<resultset>
    <emp>
        <first>...</first>
        <last>...</last>
        <middle>....</middle>
    </emp>
    <friend>
        <first>...</first>
        <last>...</last>
        <middle>....</middle>
    </friend>
</resultset>

sample.ctl -- SQL Loader制御ファイルのフィールド定義部分

field list ....
(
 emp  COLUMN OBJECT ....
   (
        first      char(30)   enclosed by "<first>" and "</first>",
        last       char(30)   enclosed by "<last>" and "</last>",
        middle     char(30)   enclosed by "<middle>" and "</middle>"
   )
    friend COLUMN OBJECT ....
  (
        first      char(30)   enclosed by "<first>" and "</first>",
        last       char(30)   enclosed by "<last>" and "</last>",
        middle     char(30)   enclosed by "<middle>" and "</middle>"
  )

COLUMN OBJECTのフィールド名がデータベースのオブジェクト列と一致する必要があることに注意してください。カスタムのレコード終了記号を使用する必要があります。使用しない場合は、デフォルトでnewlineに設定されます(newlineによって完全なデータベース・レコード用のデータが区切られます)。

使用するXMLがより複雑で選択フィールドのみを抽出しようとする場合、FILLERフィールドを使用して、スキャン・カーソルを再配置できます。スキャン・カーソルは、スキャンが中断した場所から(最初のフィールドの場合はレコードの先頭から)レコードの最後までスキャンします。

SQL*Loaderには非常に強力なテキスト・パーサーがあります。このパーサーは、文書のサイズが特に大きい場合のXMLのロードに使用できます。

以前のOracleリリースに関する情報

次の項では、以前のOracleリリースに関する情報を示します。

Oracle Databaseバージョン7とXMLの使用

Oracleデータベース・バージョン7はほとんどの処理に対応可能です。唯一の問題は、サーバー内でJavaプログラムを実行できないことです。つまり、すべてのXMLツールをサーバーにロードできません。ただし、Oracleデータベース・バージョン7用のOracle JDBCユーティリティをダウンロードすることでデータベースに接続して、クライアント側のユーティリティとしてすべてのプログラムを実行できます。

XMLを使用した、Oracleリリース7.3.4から他のベンダーへのデータの転送

質問: 当社ではOracleリリース7.3.4を使用しています。当グループでは、当社とベンダー間のデータ転送の一部にXMLの使用を検討しています。これを実行するには、Oracle8i以上への移行が必要になると思われます。Oracleリリース7を使用してXMLを使用する方法はありますか。

回答: Oracleリリース7.3.4に適切なJDBC 1.1ドライバがあれば、XML SQL Utilityを使用してXMLでデータを抽出できます。

JDBCドライバの場合、Oracleデータベース・バージョン7のJDBC OCIおよびJDBCシン・ドライバについては、次のWebサイトを参照してください。

http://www.oracle.com/technology/tech/java/

Oracle8i以前のバージョンとOracle XMLツールの使用

Oracle8i以前のバージョンを使用している場合、Oracle XMLツールを使用してXMLベースのアプリケーションを作成できますか。作成できる場合、ライセンス条件はどのようになりますか。

Oracle XDK for Java、Oracle XDK for CおよびOracle XDK for C++(XML SQL UtilityやXSQL Pagesフレームワークを含む)は、データベースの外部で機能できます。ライセンスは同じです(フリーのランタイムを含む)。最新のライセンスの詳細は、Oracle Technology Network(OTN)を参照してください。

OracleがサポートするXML標準

OracleがサポートするXML標準について説明します。

OracleがサポートするB2B標準と開発ツール

OracleはどのB2B用のXML標準(ebXML、cxmlおよびBizTalkなど)をサポートしますか。オラクル社が提供するB2B取引用のツールはどのようなものがありますか。

オラクル社は次のB2Bの標準化機関に参加しています。

  • OBI(Open Buying on the Internet)

  • ebXML(Electronic Business XML)

  • RosettaNet(IT業界におけるサプライ・チェーンのためのE-Commerce)

  • OFX(Open Financial Exchange for Electronic Bill Presentment and Payment)

オラクル社は、顧客ニーズによって異なる、次のB2B取引用のオプションを用意しています。

  • 電子マーケットプレースを実装するための独自のソリューションを提供するOracle Exchange

  • B2Bおよび機能を備えたOracleAS Process Connect

  • データ・レベルでの情報交換のためのOracle Gateway

  • E-Business SuiteからXMLベースのメッセージを転送するためのOracle XML Gateway。

Oracleのインターネット・サポートは、B2Bによる取引のための統合された強固なプラットフォームを提供します。

XMLに関するオラクル社の方針

オラクル社のXML戦略は、これまでに蓄積したOracleテクノロジを最大限に生かしてXMLを使用することです。現在、ユーザーはOracle XMLコンポーネントとOracleデータベースやOracle Streamsを組み合せて、競合を解決したり、トランザクションを検証したりすることができます。オラクル社は、これらの機能や、分散2フェーズ・コミット・トランザクションなどの機能が将来のリリースでよりシームレスになるように取り組んでいます。

XMLTypeデータ型は、表またはビューの列へのXMLの格納に使用されます。


関連資料:

『Oracle XML DB開発者ガイド』

XMLデータはオブジェクト・リレーショナル表またはビューのいずれかに、またはCLOBとして格納されます。XMLトランザクションはこれらのデータ型のいずれかを持つトランザクションで、ロールバック・セグメント、ロックおよびロギングなどのOracle標準メカニズムを使用して処理されます。

Oracle9i以上から、OracleはStreamsを使用したXMLペイロードの送信をサポートしています。このサポートにより、SQLからXMLへの問合せが可能です。

オラクル社は、特定のXMLスキーマを開発および登録するために、すべてのXML標準化機関(W3C XMLワーキング・グループ、Java Extensions for XML、Open Applications Group、のXML.org)に積極的に参加しています。

XML Queryに関するオラクル社の計画

オラクル社はXML QueryのW3Cワーキング・グループに参加しています。また、XSQLの提案などにあるような、XMLデータへの問合せを可能にする言語の実装を計画中です。XSLTは静的XML変換機能を提供しますが、問合せ言語は、SQLがリレーショナル・データの柔軟性を高めるように、データ問合せの柔軟性を高めます。

オラクル社は、XMLおよびXSLに関連するXML Schema、XML Query、XSL、XLink/XPointer、XML Infoset、DOMおよびXML CoreのW3Cワーキング・グループに積極的に参加しています。

XMLファイルの最大サイズ

XMLファイルの最大サイズについて説明します。

XMLファイルのサイズの制限

オペレーティング・システムによる制限を除き、XMLファイル・サイズの制限はありません。

データベースから生成されたXML文書サイズの制限

Oracleでは、オブジェクト・ビューや基礎となる表構造による制限以外は認識しません。

PL/SQL用のXML文書の最大サイズ

CLOBを使用しない場合、表全体にPL/SQL(またはSQL)用のデータを指定するためのXML文書の最大サイズはありますか。PL/SQL(またはSQL)用のデータを複数の表に指定するXML文書のサイズ制限は、1つのオブジェクト・ビューに挿入できるサイズです。