ヘッダーをスキップ

Oracle Databaseプラットフォーム共通日本語README
10g リリース2(10.2)
B19227-09
  目次
目次
 

戻る
戻る
次へ
次へ
 

Oracle XML Developers Kit 10g README

原典情報: $ORACLE_HOME/xdk/readme.htm



目次

概要

XDK Javaコンポーネント

XDK C/C++コンポーネント

互換性

既知の不具合


概要

Oracle XML Developer's Kit(Oracle XDK)は、コンポーネント、ツールおよびユーティリティのセットであり、XML対応のアプリケーションの構築およびデプロイを容易にします。様々なデプロイ・オプションを提供するために、Oracle XDKコンポーネントは、Java、CおよびC++に使用できます。多くのシェアウェアやトライアル版XMLコンポーネントとは異なり、本番用Oracle XDKは完全にサポートされており、商用再配布ライセンスを受けています。Oracle XDKは、次のコンポーネントで構成されています。

ご質問、ご意見または不具合の報告は、Oracle Technology NetworkのXMLフォーラム(http://otn.oracle.com/tech/xml/xdkhome.html)までお寄せください。

XDK Javaコンポーネント

Oracle XDK Javaコンポーネントは、W3C勧告およびJava JSR標準に基づいています。 現在サポートされている標準は次のとおりです。

DOM仕様

DOM APIは、DOMレベル3 ValidationおよびDOMレベル3 Load and Saveの勧告候補をサポートしています。

Load and Save

LSParserでは、次の構成パラメータがサポートされていません。

  • "charset-overrides-xml-encoding"

LSParserでは、次の構成パラメータのオプション設定がサポートされていません。

  • "disallow-doctype (true)"
  • "ignore-unknown-character-denormalizations (false)"
  • "namespaces (false)"
  • "supported-media-types-only (true)"

LSSerializerでは、次の構成パラメータがサポートされていません。

  • "discard-default-content"

LSSerializerでは、次の構成パラメータのオプション設定がサポートされていません。

  • "canonical-form (true)"
  • "format-pretty-print (true)"
  • "ignore-unknown-character-denormalizations (false)"
  • "normalize-characters (true)"

Validation

Validationで参照されるDOM 3 Core機能の一部が実装されていますが、Core自体はサポートされていません。

  • DOM CoreのNameListおよびDOMStringListは、検証のためにサポートされています。

  • ValidationはXMLスキーマに基づいており、最初にDTDをスキーマに変換する必要があります(DTDToSchemaユーティリティを使用)。

XSL Transformation

XSLTプロセッサによって、XSLT 2.0、XPath 2.0およびXPath/XQuery共有データ・モデルの現在の草案に対するサポートが追加されます。

これらの仕様の次の機能は、現行リリースではサポートされていません。

  • スキーマ・インポートおよび静的入力機能はサポートされていませんが、XPath 2.0データ・モデルで指定されたXMLスキーマ組込み型はサポートされています。

  • schema-elementおよびschema-attributeのnodetestはサポートされていません。

  • XSLT命令xsl:numberは、XSLT 1.0のセマンティクスおよび構文を使用します。

  • use-when標準属性はサポートされていません。

  • プロセッサでは、xsl:paramのrequired属性はサポートされていません。

  • tunnelパラメータはサポートされていません。

  • XSLTでは、正規表現命令はサポートされていません。

  • XPath 2.0ファンクションのfn:tokenize、fn:matchesおよびfn:replaceはサポートされていません。

  • format-dateTime、format-dateおよびformat-timeファンクションはサポートされていません。

  • xsl:attribute、xsl:commentおよびxsl:messageのコンテンツ・モデル、およびxsl:keyとxsl:sortのキー値の計算方法は、1.0の動作のままです。

  • xsl:copyとxsl:elementの属性[xsl:]inherit-namespaces、およびリテラル結果要素はサポートされていません

JAXB Class Generator

XML Data Bindingは、2003年1月8日のJSR-31「Java Architecture for XML Binding(JAXB)Finalバージョン1.0」に基づいています。このコンポーネントを使用すると、XMLスキーマに基づいてJavaクラスを作成できます。XDK 9i Class Generatorは使用されなくなりました。ただし、XDK 9i Class Generatorランタイムは含まれており、XDK v10リリースではサポートされる予定です。

JAXB 1.0仕様では、W3CのXMLスキーマの完全サポートは必要ありません。詳細は、付録E.2を参照してください。現行リリースでは、次の機能はサポートされていません。

  • Javadocの生成はサポートされていません。

次の新機能が追加されています。

  • カスタマイズ機能
  • XMLスキーマのListおよびUnion機
  • 列挙を使用してsimpleTypeマッピングをマップするための、TypeSafe Enumクラスの生成

スキーマから導出されたJavaファイルのエンコーディング

Java言語仕様に従って、JavaプログラムはUnicodeキャラクタ・セットを使用して記述されます。特に、Javaプログラムのコメント、識別子、および文字やリテラル文字列の内容は、Unicode文字を使用して形成できます。Javaプログラムのすべての入力文字がASCII文字で表現できないかぎり(つまり、ASCII以外の文字はUnicodeエスケープに変換される)、JAXB生成のJavaファイルは特定のエンコーディングで保存する必要があります。このリリースでは、JAXB生成の全JavaファイルのエンコーディングとしてUTF-8が選択されています。このエンコーディングがプラットフォームのデフォルト・コンバータと異なる場合は、encodingオプションを指定して、javacまたはJavaプログラミング言語のコンパイラに対して、ソース・ファイルで使用するエンコーディングを指示する必要があります。

XML JavaBeans

このリリースでは、次の新規Beanが追加されています。

  • XSDValidator: oracle.xml.parser.schema.XSDValidatorクラスをカプセル化し、DOMツリーの検証機能を追加します。

  • XMLCompress: XML圧縮機能をカプセル化します。

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

このリリースでは、次のBeanは使用されなくなりました。  これらのBeanはxmlcomp.jarに含まれていません。これらはxmldemo.jarでアーカイブされています。

  • XMLSourceView
  • XMLTreeView
  • XMLTransViewer
  • DBViewer

oracle.xml.transviewer.DBAccess Beanは使用されなくなりました。かわりにoracle.xml.dbaccess.DBAccessを使用してください。

XML Pipeline Processor

Oracle XML Pipeline Processorは、2002年2月28日のW3CノートのXML Pipeline Definition Languageバージョン1.0で作成されています。このプロセッサは入力XMLパイプライン文書を取ることができ、派生した依存関係に応じてパイプライン・プロセスを実行できます。 パイプライン文書はXML文書であり、宣言方式で実行されるプロセスを指定します。Pipeline Processorに加えて、Oracleではパイプライン文書でパイプ化できる複数のパイプライン・プロセスを定義しています。

W3Cノートとこの実装の間にはいくつか違いがあります。次に相違点を示します。

  • パーサー・プロセス(DOMParserProcessおよびSAXParserProcess)はXMLパイプラインに含まれます(セクション1)。

  • XML Baseは現在サポートされていません(セクション2.1)。

  • 使用可能なパイプライン入力に関する最終ターゲット出力が最新であるかどうかを確認する場合は、最終ターゲット出力のみがチェックされます。 全プロセスの中間出力が最新であるかどうかは確認されません (セクション2.2)。

  • 選択した属性では、二重引用符("")の間にあるものはすべてリテラル文字列とみなされます。

  • 複数のプロセスで同じinfosetが作成された場合、プロセッサでエラーがスローされます(セクション2.4.2.3)。

  • 文書要素は冗長な機能とみなされるため、サポートされていません(セクション2.4.2.8)。

XSQL Servle

Oracle XSQL Servletは、サーバー内のSQL、XMLおよびXSLTの機能を組み合せて、動的Webコンテンツを配信します。XSQL Servletを使用すると、次の操作を実行できます。

  • Web上で、あらゆるクライアント・デバイスからWebベース情報のリクエストを受信できます。

  • リクエストで必要なビジネス・データの適切な論理ビューを問い合せます。

  • Web上でデータグラムをXMLでリクエスタに戻します。

  • オプションで、情報をXML、HTMLまたは必要なテキスト形式に柔軟に変換します。

XSQL Servlet Processorには、次の新機能があります。

  • 複数値のパラメータのサポート: ユーザーは、値が文字列の配列であるパラメータを使用できます。複数値のパラメータは、同じ名前を共有する入力コントロールが複数出現するHTMLフォームをユーザーが送信する場合によく使用されます。

  • xsql:if-paramを使用した条件付きのアクションの実行またはコンテンツの挿入: 新しい<xsql:if-param>アクションでは、ある条件がTrueである場合に、xsql:if-paramにネストされている要素またはアクション(あるいはその両方)を条件付きで含めることができます。

  • 暗黙的コミットを実行するアクションの新しいCommit="No"フラグ: <xsql:delete-request>、<xsql:insert-request>、<xsql:insert-request>および<xsql:insert-parameter>の各アクション要素では、アクションで暗黙的コミットを実行するかどうかを制御する新しいオプションのコミット属性を使用できます。

  • 組込みアクションでのエラー・パラメータのオプション設定: アクションの実行時に致命的でないエラーが発生したかどうかを把握しておくと便利な場合があります。

  • サーブレット・コンテナのデータソース実装の使用: XSQLConfig.xmlファイル内に名前付き接続を定義する方法の他に、サーブレット・コンテナでのJDBCデータソース実装を介して使用可能なデータソースを使用する方法があります。

  • カスタムXSQLErrorHandler実装の提供: このリリースでは新しいインタフェースoracle.xml.xsql.XSQLErrorHandlerが導入されました。このインタフェースを使用することで、開発者はエラーの通知方法をプログラムで制御し、エラーの対処方法をカスタマイズできます。
    XSQLError.getErrorCode()で戻されるエラー・コードは、NNNではなく25NNNに変更されました。また、エラー・コード形式もXML-25NNNに変更されました。

  • カスタムXSQLLogger実装の提供: このリリースでは2つの新しいインタフェースoracle.xml.xsql.XSQLLoggerFactoryおよびoracle.xml.xsql.XSQLLoggerが導入されました。これらのインタフェースを使用することで、開発者はXSQLページ・リクエストのログを記録できます。

  • XSQLConfig.xmlファイルのデフォルト名のオーバーライド: 顧客の要望により、XSQLConfig.xmlファイルのデフォルト名をオーバーライドして、テスト環境や本番環境用に別の構成ファイルを容易に指定できるようにする方法が必要でした。このリリースでは、次の2種類の方法でファイル名をオーバーライドできます。

    • Javaシステム・プロパティxsql.configを設定します。

    • サーブレット初期化パラメータxsql.configを定義します。

  • Apache FOP 0.20.3のサポート: XSQLページからPDF出力をレンダリングする必要がある場合、このリリースではApache FOP 0.20.3リリース候補での動作がサポートされます。

  • 空白保持構成オプションの設定: このリリースから、空白保持モードを使用したXSQLページ・テンプレートおよびXSLTスタイルシートを解析する際に、XSQL Page ProcessorでOracle XML Parserを使用するかどうかを制御できます。

Oracle TransX Utility

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

Oracle XML SQL Utility

XML SQL Utility(XSU)は、オブジェクト・リレーショナル・データベースの表またはビューから取得したデータをXMLに変換し、正規マッピングに基づいて、表またはビューの適切な列または属性にデータをXMLで挿入できるユーティリティです。

XDK C/C++コンポーネント

Oracle XDK C/C++コンポーネントは、W3C勧告に基づいています。現在サポートされている標準は次のとおりです。

XSLT Virtual Machine

XSLTVMパッケージでは、1999年11月16日のW3C勧告で指定されたとおりに、XSL Transformation(XSLT)を実装します。XSLT Virtual Machineは、コンパイルされたXSLTコードを実行するために設計された、CPUのソフトウェア実装です。この仮想マシンでは、XSLTスタイルシートを一連のバイトコードまたはXSLT CPUの機械命令にコンパイルするコンパイラを想定しています。バイトコード・プログラムは、プラットフォームに依存しない2バイト単位のシーケンスです。このプログラムは、異なるXSLTVM上で格納、キャッシュおよび実行することが可能です。XSLTVMでは、バイトコード・プログラムを使用してXMLインスタンス・ドキュメントを変換します。これによって、コンパイル(設計)時の計算と実行時の計算は明確に区別され、命令間でのデータ交換には決まった方法が指定されます。このパッケージには、次の2つのインタフェースが含まれています。

  • XSLTVMコンパイラ・インタフェース
  • XSLTVMインタフェース

通常、パッケージAPIは、次の手順で使用されます。

  1. XMLメタコンテキスト・オブジェクトを作成または使用します。

  2. XSLTコンパイラ・オブジェクトを作成または使用します。

  3. XSLTスタイルシートをコンパイルし、結果として戻るバイトコードを格納またはキャッシュします。

  4. (オプション) すべてのスタイルシートについて、手順1〜2を繰り返します。

  5. コンパイラ・オブジェクトを削除(後で使用する場合は保存)します。

  6. XSLTVMオブジェクトを作成または使用します。

  7. スタイルシートのバイトコードをXSLTVMオブジェクトに設定します。XMLインスタンス・ドキュメントを変換します。

  8. XMLインスタンス・ドキュメントを変換します。

  9. (オプション) 手順6または手順5〜6を必要な回数、繰り返します。

  10. XSLTVMオブジェクトを削除(後で使用する場合は保存)します。

XML Schema Validator

プロセッサは、次のサイトで公開されている仕様および「XML Schema 1.0 Specification Errata」に記載されている機能を完全にサポートしています。

  http://www.w3.org/2001/05/xmlschema-errata

互換性

この項では、このリリースにアップグレードする際の推奨事項について説明します。

XDK Javaコンポーネントのアップグレード

10g リリース1との動作の互換性を維持するために、システム・プロパティをoracle.xdkjava.compatibility.version=10.1.0に設定してください。デフォルトでは、動作は10g リリース2と互換性があります。
通常、10g リリース1と10g リリース2の間で動作に違いが発生する仕様関連の変更はすべて、互換性フラグを使用して制御できます。

XPath 2.0: 10g リリース1と10g リリース2の相違点

  1. RangeExprでは、(m to n)の動作(m > nの場合)が変更されました。以前は(n to m)として処理され、逆のシーケンスでした。2005年4月の草案に従って、空のシーケンスが戻されます。

  2. 2005年4月の草案に従って、isnot演算子は削除されました。

  3. 2005年4月の草案に従って、getEffectiveBooleanValue定義(fn:boolean)が更新されました。空の文字列値に対して、FALSEを戻すのではなく、例外(FORG006)が戻されます。getEffectiveBooleanValueで処理されない場合はすべて、例外(FORG006)が戻されます。XPath 1.0のfn:booleanに対する動作は、従来と同じです。

XSLT 2.0: 10g リリース1と10g リリース2の相違点

2004年11月の草案に従って、normalize-unicodenormalization-formに変更されました。選択可能な属性値は、"yes" | "no"から"NFC" | "NFD" | "NKFC" | "NKFD" | ……に変更されました。

既知の不具合

これ以外の既知の問題については、該当する項を参照してください。