関係データベース内のデータを管理するための方法であって、前記関係データベースでの記憶のためにXMLドキュメントをデータベースサーバで受信するステップと、前記データベースサーバが、前記関係データベース内の対応する列への、XMLドキュメント内の1つ以上のフィールドのマッピングを表すマッピング情報を、前記関係データベースに記憶するステップと、前記データベースサーバが、前記XMLドキュメントからのデータを、もともとのデータ型の1つ以上のインスタンスとして、前記関係データベース内において、前記マッピング情報に基づいて前記データベースサーバによって決定される場所に記憶するステップとを含み、前記もともとのデータ型は、前記データベースサーバに固有であり、前記データベースサーバによってサポートされるXMLデータのための複数の記憶メカニズムを含み、前記方法はさらに、前記データベースサーバが前記XMLドキュメントからのデータの要求を受信することに応答して、前記データベースサーバが、前記マッピング情報を調べて、前記XMLドキュメントからのデータにどのようにアクセスすべきかを決定するステップを含む、方法。データを記憶するステップは、前記XMLドキュメントの複数のフィールドのための値を関係表の第1の列に記憶するステップと、前記XMLドキュメントの少なくとも1つのフィールドのための値を、前記関係表の第2の列に記憶するステップとを含み、第2の列は前記第1の列とは異なる、請求項1に記載の方法。データの要求は、XMLクエリーである、請求項1に記載の方法。前記XMLクエリーおよび前記マッピング情報に基づいてデータベースクエリーを生成するステップと、前記データベースクエリーを実行して前記XMLドキュメントからのデータにアクセスするステップとをさらに含む、請求項3に記載の方法。前記データベースクエリーは、基礎をなす関係列に直接アクセスし、テキストインデックスであるインデックスを用いる、請求項4に記載の方法。前記XMLドキュメントの構造は、構造化データの1つ以上のフィールドを含むようにユーザによって定義されており、構造化データは、前記関係データベース内の既存の関係データオブジェクト型に対応する型であるデータである、請求項1に記載の方法。XMLドキュメントの構造は、非構造化データの1つ以上のフィールドを含むようにユーザによって定義されており、非構造化データは、前記関係データベースでの記憶のために前記XMLドキュメントの処理中に前記関係データベース内のLOBデータ型にマッピングされるデータである、請求項1に記載の方法。前記マッピング情報は、ユーザによって定義される、請求項1に記載の方法。一組の操作が、前記もともとのデータ型のために、前記データベースサーバによって定義される、請求項1に記載の方法。前記マッピング情報は、前記XMLドキュメントのフィールドを関係表の複数の列にマッピングし、前記XMLドキュメントからのデータを記憶するステップは、前記XMLドキュメントの前記フィールドを解析して複数の値を識別するステップと、前記複数の値の各々を前記関係表の前記複数の列のうちの異なる1つ1つに記憶するステップとを含む、請求項1に記載の方法。前記要求は、前記XMLドキュメントのフィールドのための基準を特定し、前記方法は、以下のステップを行なうことによって前記基準が満たされているかを判断するステップを含み、前記以下のステップは、前記マッピング情報に基づいて、前記フィールドが、ある特定の列にマッピングされる複数のフィールドのうちの1つであることを判断するステップと、前記特定の列内のデータを解析して前記XMLドキュメントのための前記フィールドの値の位置を特定するステップと、前記値が基準を満たすかを判断するステップとを含む、請求項1に記載の方法。前記関係データベース内の1つ以上のフィールドは、前記関係データベース内の1つ以上のフィールドを2つ以上含む、請求項1に記載の方法。1つ以上のプロセッサによって実行されると1つ以上のプロセッサに請求項1~12のいずれかに記載の方法を実行させる1つ以上の命令シーケンスを格納している、コンピュータ読み取り可能な記録媒体。ユーザがXMLフォーマットで関係データベースからのデータを見ることと取出すこととを可能にするための技術が提供される。1このようなデータへのURI参照を提供することによって、ワールドワイドウェブを通してユーザがこのデータにアクセスするための、2データベース内のこれらのURI参照上で動作を記憶し、実行するための、技術が提供される。データを関係データベースと交換するときにXML構文を用いるための技術も提供される。ユーザは、XPath表記を用いてデータベースのこれらのビジュアライズされた部分をナビゲートし得る。関係データベース内のメタデータおよびデータをXMLデータにマッピングするための技術が提供される。この発明の特定の実施例に従うと、オブジェクト関係データをXMLデータに標準的にマッピングし、さらにはオブジェクト関係スキーマをXMLスキーマに標準的にマッピングすることによって、ユーザがデータベースクエリを用いてXMLドキュメントの形で関係データベースからデータを取出すことを可能にするためのメカニズムが提供される。異なるデータベーススキーマ内のデータベースメタデータオブジェクトを異なるXMLネーム空間にマッピングすることによって、XMLネーム空間を用いてスキーマ情報を増加させる。関係データベースシステム内で抽象データ型を用いてXMLデータをモデル化するための技術が提供される。ユーザがXMLクエリーをサブミットして、関係データベースに記憶されるXMLドキュメント内のデータにアクセスする時に、XMLクエリーおよびマッピング情報に基づいてデータベースクエリーを生成するためのメカニズムが提供される。このプロセスは、XMLデータの基礎をなす記憶表現をより良く活用する他のクエリーへと、ユーザクエリーおよび他のデータ操作動作を再び書込むことを含む。この発明は、同じ参照番号が同様の要素を指す添付の図内で、限定としてではなく、例として例示される。XML構文を用いて関係データベース内のデータにアクセスするための技術、関係データベースからのデータおよびメタデータをXMLにマッピングするための技術、関係データベースシステム内で抽象データ型を用いてXMLデータをモデル化するための技術、多数の記憶表現のための技術、一様なクエリーインターフェイスのための技術、およびクエリー再書込を用いた最適な処理のための技術が提供される。以下の説明では、説明上、この発明の完全な理解を提供するために、多くの具体的な詳細事項が示される。しかし、これらの具体的な詳細事項なしに、この発明が実施され得ることは、当業者には明らかであろう。他の例では、この発明を不必要に曖昧なものにしないために、周知の構造および装置がブロック図の形で示される。機能的な概要ここで説明される技術を用いると、現在のユーザとここで呼ばれる、関係データベースの特定のいずれかのユーザは、現在のユーザがアクセス特権を許可された関係データベース内のすべての表およびビューならびに関連のスキーマをXMLツリーとして見ることができる。言い換えると、ユーザは、表およびビューの形でデータベースデータを見る代わりに、データは、XMLドキュメントの形でユーザに対して提供され、XMLドキュメントの典型的な構造はツリーである。データベースの、いくつかの並行な現在のユーザが存在し得る。しかし、説明を簡素化するために、ここで説明される技術は、単一の現在のユーザを指す。XMLツリーは、以下、ビジュアライズされたXMLドキュメントと呼ばれる。ビジュアライズされたXMLドキュメントは、表およびビューならびに関連のスキーマのXML表現を含む。XMLドキュメントは、ユーザのアクセス権に基づくため、XMLドキュメントは、各ユーザのアクセス権に基づいてユーザごとに異なり得る。したがって、ここで説明されるようなビジュアライズされたXMLドキュメントは、現在のユーザに関連する。URLまたはURIによって識別され、かつ関係データベース内でアクセスされるべきデータ項目は、ここで目標データと呼ばれる。目標データは、実現例ごとに異なり得る。目標データは、関係データベーススキーマオブジェクト、関係データ、および制御ファイル等の多くの種類のデータのいずれであってもよい。この発明は、特定のいずれかの種類の目標データに限定されない。目標データがXMLデータであるかのように、現在のユーザが関係データベース内の目標データにアクセスし、それを操作するために、以下のためのメカニズムが提供される。すなわち、1現在のユーザが関係データベース内でアクセス特権を有するすべてのデータを含む、現在のユーザのためのいずれかの関係データベースのデフォルトバーチャルビジュアライゼーションであって、デフォルトバーチャルビジュアライゼーションは標準的なXMLドキュメントとして定義される、デフォルトバーチャルビジュアライゼーションを定義するためのメカニズム、2標準的なユニフォームリソースインディケータURIを提供するためのメカニズムであって、これは、データベース内で局所的に定義され、さらには、これによって、ビジュアライズされたXMLドキュメント上でのXPath表記としてURIを定義することにより、ビジュアライズされたXMLドキュメントの1つ以上のフラグメントがアクセスされ得る、標準的なユニフォームリソースインディケータURIを提供するためのメカニズム、3ビジュアライズされたXMLドキュメント上でのXpath表記としてURLを定義することによって関係データベースに記憶されるデータにアクセスするために関係データベースの外のウェブブラウザと共に用いられ得るメカニズムとして標準的なユニフォームリソースロケータURLを提供するためのメカニズム、4URIおよびURLを記憶するために用いられ得る新しいデータ型および新しいオブジェクト型を関係データベース内で提供するためのメカニズム、5ここで説明されるような標準的なURIおよびURLを用いて、ビジュアライズされたドキュメントを通して関係データベース内のデータを修正、生成、追加、または削除するためのメカニズムを提供するためのメカニズムが提供される。XPath表記は、XMLドキュメントをナビゲートするためのW3cの標準的なやり方である。XPath表記は、ビジュアライズされたXMLドキュメント関係データベースのXMLビジュアライゼーション上での走査および挿入/削除/更新を可能にする。XPath表記は、関係データベース内でSQLデータ定義言語DDLおよびデータベース操作言語DMLへと変換され得る。1関係データベースのXMLビジュアライゼーションと、2XPath表記を用いてビジュアライズされたXMLドキュメントをナビゲートするためのメカニズムとの組合せによって、ユーザが関係データベース内のいずれかのデータを指し示すことが可能となる。たとえば、SCOTTEMPROW[EMPNO2100]等のXPath表記は、EMPNO=21によって識別される行内のデータ値を指し示す。ここでの行は、EMPと呼ばれる関係データベース表内にあり、これは、スコットと呼ばれる関係データベーススキーマのスキーマオブジェクトである。関係データベースのXMLビジュアライゼーションは、ここでより詳細に説明される。データベースクエリーの結果は、ここで、SQL結果セットと呼ばれる。SQL結果セットが1つ以上のXMLドキュメントに変換されると、変換された結果セットは、ここでXML結果セットと呼ばれる。関係データベース内のデータは、ここでオブジェクト関係データと呼ばれ、オブジェクト関係データに関連したメタデータが、ここで関係データベーススキーマと呼ばれる。関係データベーススキーマは、オブジェクトの集合であり、ここでスキーマオブジェクトと呼ばれる。スキーマオブジェクトは、関係データベース内のデータを直接指す論理構造である。したがって、スキーマオブジェクトは、表、ビュー、クラスタ、およびインデックス等の構造を含む。ユーザが関係データベースクエリー言語を用いてクエリーをサブミットし、さらにはXMLドキュメントの形の結果セットを受取り得るために、以下のためのメカニズムが提供される。すなわち、1関係データベースからXMLの形へとオブジェクト関係データをマッピングするための、2関係データベーススキーマをXMLの形にマッピングするための、3オブジェクト関係データおよび関係データベーススキーマからXMLドキュメントを生成するための、メカニズムが提供される。オブジェクト関係データおよび関係データベーススキーマから結果セットしてXMLドキュメントを生成するためのメカニズムは、関係データベースに記憶されるルールセットに基づく。データベースクエリーの処理中に、予め定義されるか、または動的に定義されるいずれかであるオブジェクト関係データは、ルールセットに基づいて対応のXMLデータにマッピングされる。このようなマッピングは、ここでXMLの形へのオブジェクト関係データの標準的なマッピングと呼ばれる。同様に、関係データベーススキーマは、関係データベーススキーマをそれらの対応のXMLスキーマにマッピングすることによって、XMLの形にマッピングされる。このようなマッピングは、XMLスキーマへの関係データベーススキーマの標準的なマッピングとここで呼ばれるルールセットに基づく。XMLスキーマへの関係データベーススキーマの標準的なマッピングは、ここでより詳細に説明される。さらに、XML結果セットの生成、つまり、SQL結果セットからのXMLドキュメントの生成は、ここでより詳細に説明されるようなルールセットに基づく。XMLデータおよびSQLデータの処理を関係データベース内で一体化するために、関係データベース内でXML型のデータ型をサポートして表の列および行内にXMLドキュメントを記憶するためのメカニズムが提供される。記憶表現は、実現例ごとに異なり得る。この発明は、特定のいずれの記憶表現にも限定されない。この発明の特定の実施例では、ユーザは、関係データベース内での記憶のためにXMLドキュメントをサブミットし得る。XMLドキュメントの各フィールドからのデータは、記憶に関連した種々の既存のインデックス付けメカニズムを活用する様態で、関係データベースに自動的に記憶される。たとえば、XMLドキュメントが、関係データベース内での記憶のためにサブミットされると、XMLドキュメントの各フィールドを記憶するために、関係データベース内で対応の記憶列を決定するためのメカニズムが提供される。したがって、XMLドキュメントの各フィールドは、関係データベース内のある列にマッピングされ、このマッピング情報は、関係データベースに記憶される。データの型に応じて、データフィールドのいくつかがまとめられて単一のオブジェクト関係列に記憶され得、他のフィールドは、別個のオブジェクト関係列として記憶され得る。XMLドキュメントの各フィールドからのデータには、適切なインデックス付け方式を用いて、インデックスが付けられ得る。たとえば、Bツリーインデックスが、関係型データを含む列のために用いられ得、インターメディアテキスト等のテキストインデックスが、大きなテキストデータを含む列のために用いられ得る。特定の実施例では、ユーザは、マッピング情報を特定し得る。マッピング情報を特定することによって、ユーザは、マッピングの細分性を制御し得る。したがって、以下のような技術が提供される。すなわち、1XMLデータおよびSQLデータの一様な処理のための技術、2明確に定義されたXML動作セットのための一様なクエリーインターフェイスのための技術であって、動作セットは、関係データベース内のXMLデータのための基礎をなす記憶メカニズムから分離されている、技術、3関係データベース内での基礎をなす記憶メカニズムのデータアクセスおよびデータ操作能力を活用する形へのクエリー再書込のための技術が提供される。関係データベースおよびXPathのバーチャルXMLビジュアライゼーション特定の実施例によると、現在のユーザは、ユーザがアクセス特権を許可された関係データベース内のすべてのデータを、ビジュアライズされたXMLドキュメントとして見ることができる。ビジュアライズされたXMLドキュメントは、表およびビューを備えたスキーマセットおよびデータベースタグを含む。たとえば、データベースがoradbと呼ばれるならば、XMLドキュメントは、データベースタグで始まり、データベースタグで終了する。現在のユーザは、ビジュアライズされたXMLドキュメントからのエレメントの読出、挿入、更新、および削除を許可される。したがって、現在のユーザは、関係データベース内でのデータの記憶またはアクセスの実際の性質を認識していない。現在のユーザは、ビジュアライズされたXMLドキュメントをナビゲートするためにXPath表記を用いるのみである。たとえば、関係データベースの現在のユーザがスコットであると仮定する。関係データベースの現在のユーザの各々に関連しているのは、同じ名前によるスキーマである。スキーマは、表、ビュークラスタ、および機能等の関係データベースオブジェクトの論理集合である。図1Aは、関係データベース内のスキーマおよびスキーマオブジェクトを例示するブロック図である。図1Aの列102は、スキーマオブジェクトのリストを含む。説明のために、2つのスキーマ、SCOTTおよびJONESのみが示される。列104は、各スキーマ内の関係データベースオブジェクトを含む。説明のために、2つの表、EMPおよびDEPTのみが示される。スキーマSCOTTは表EMPを含み、スキーマJONESは表DEPTを含む。図1Bは、関係データベースに記憶される表を例示したブロック図である。関係データベース110は、表EMPおよびDEPTを含む。表EMPは、3つの列、EMPNO、ENAME、およびSALARYを有する。EMPの各列は、値の行を含む。表DEPTは、2つの列、DEPTNOおよびDNAMEを有する。DEPTの各列は、値の行を含む。現在のユーザ、スコットは、関係データベース内のスキーマSCOTTおよびJONESにアクセスする特権を有し、さらにはSCOTTおよびJONESに関連するデータにアクセスする特権を有すると仮定する。この技術の特定の実施例に従うと、現在のユーザ、スコットは、全ビジュアライゼーションではないが以下のような関係データベースのデフォルトバーチャルビジュアライゼーションを見ることができる。上のデフォルトバーチャルビジュアライゼーションは、デフォルトバーチャルビジュアライゼーションの1つの実現例にすぎない。デフォルトバーチャルビジュアライゼーションは、実現例ごとに異なり得る。この発明は、ある特定のビジュアライゼーションモデルに限定されない。この技術の特定の実施例に従うと、URLおよびURIをビジュアライズされたXMLドキュメント上のXPath表記として定義することによって、いずれかのデータベースに記憶されたデータにアクセスするための標準的なURLおよびURIメカニズムも提供される。この発明の1つの実施例に従うと、URLは、もともとのURI処理メカニズムを用いてURLが指し示すデータにアクセスするサーブレットを用いることによって、処理され得る。この発明の特定の実施例に従うと、データベースタグoradbは、処理コンテキスト内に暗黙的に結びつけられ得、URL内で明示的に特定される必要はない。関係データベースへのローカルアクセスを有さない現在のユーザは、ブラウザを用いてURLを用いることによりインターネット上の関係データベース内のデータにアクセスし得る。たとえば、現在のユーザはスコットであり、スコットはブラウザを用いて、EMP表がスキーマSCOTT内にあり、従業員番号が2100である行の、EMP表の従業員名列にアクセスしたいと仮定する。スコットが用いるであろうURLは、以下のように示され得る。上のURLでは、データベースタグoradbは暗黙的に結びつけられ、したがって、ユーザはURL内でデータベースタグを特定する必要はない。URLまたはURIにアクセスした結果は、以下で示されるようなeネーム変数を含むビジュアライズされたXMLドキュメントのフラグメントであり得る。現在のユーザは、コンテント型でURLまたはURIを増補して多目的インターネットメール拡張MIMEタイプの出力を特定し得る。たとえば、URLが、イメージを記憶しているBLOBバイナリラージオブジェクト列を指し示し、イメージが目標データならば、コンテント型は、gifに設定され得る。したがって、URLを用いることに応答して、現在のユーザは、たとえば、大きな16進法ファイルではなくイメージを得る。別の例として、現在のユーザは、URLを増補して、URLが指し示す列のテキスト値を目標データとして要求し得る。たとえば、現在のユーザ、スコットが、従業員番号が2100である行の、EMP表の従業員名列にアクセスするために以下のURLを用いると仮定する。textは、テキストノードを識別するためのXPath規格である。上のURL内でtextを用いることによって、従業員番号が2100である行の、EMP表の従業員名列内でテキスト値のみを含む結果が生み出されるであろう。従業員番号が2100である行の、EMP表の従業員名列内のテキスト値は、ジョンである。したがって、textを用いて上のURLにアクセスする結果は、ジョンである。対照的に、例の従業員名列にアクセスするためにtextがURL内で用いられない場合、ジョンは、以下のようにビジュアライズされたXMLドキュメントのフラグメント内にインラインされる。Johnこの発明の別の実施例では、URLとともに、またはユーザ書込機能を通して記憶され得る他の補助情報に基づいて、MIME情報がデータベースによって自動的に引出され得る。関係データベースのバーチャルXMLビジュアライゼーションを定義するためのマッピングルールデータベースのデフォルトバーチャルビジュアライゼーションを標準的なXMLドキュメントとして定義するための技術が提供される。1つの実施例に従うと、デフォルトバーチャルビジュアライゼーションを定義するためのルールは、以下のとおりである。1目標データを含む関係データベースを識別する擬似トップレベル囲みタグが存在する。目標データを含む関係データベースを識別する囲みタグのペアの例は、であり、oradbは、以下で示されるように、目標データを含む関係データベースの名前であるビジュアライゼーション内のすべてのエレメントが示されているわけではない。2現在のユーザがアクセス特権を許可された関係データベース内の各スキーマは、ビジュアライズされたXMLドキュメント内の1つのエレメントに対応する。エレメントの名前は、エレメントが対応するスキーマの名前と同じである。ここで示される例では、関係データベースoradb内のスキーマSCOTTは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。同様に、スキーマJONESは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。以下のビジュアライズされたXMLドキュメントは、スキーマエレメントレベルでの関係データベースのビジュアライゼーションである。例示の目的のために、スキーマSCOTTおよびJONESに対応するエレメントのみが示される。3現在のユーザがアクセス特権を許可された関係データベース内の各表またはビューは、ビジュアライズされたXMLドキュメント内の1つの要素に対応する。エレメントの名前は、エレメントが対応する表またはビューの名前と同じである。ここで示される例では、関係データベースoradb内の表EMPは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。同様に、表DEPTは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。以下のビジュアライズされたXMLドキュメントは、表エレメントレベルでの関係データベースのビジュアライゼーションである。例示のために、表EMPおよびDEPTに対応するエレメントのみが示される。4現在のユーザがアクセス特権を許可された関係データベース内の各表またはビューの各行は、ビジュアライズされたXMLドキュメント内の1つのエレメントに対応する。以下のビジュアライズされたXMLドキュメントは、行エレメントレベルでの関係データベースのビジュアライゼーションである。例示のために、表EMPおよびDEPTの行に対応するエレメントのみが示される。5現在のユーザがアクセス特権を許可された関係データベース内の各表またはビューの各列は、ビジュアライズされたXMLドキュメント内の1つのエレメントに対応する。エレメントの名前は、エレメントが対応する列の名前と同じである。ここで示される例では、表EMP内の列EMPNOは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。同様に、列ENAMEは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。以下のビジュアライズされたXMLドキュメントは、列エレメントレベルでの関係データベースのビジュアライゼーションである。例示のために、表EMP内の列EMPNOおよびENAMEに対応するエレメントのみが示される。XPath表記を関係データベースクエリーに変換するためのルールこの発明の1つの実施例に従うと、XMLビジュアライゼーション上でのXpathクエリーは、関係データベースクエリーおよびXML内でフォーマットされる結果へと変換され得る。XPath表記を関係データベースクエリーに変換するための技術が提供される。説明のために、クエリーに変換されるべきXPath表記が関係データベースoradbのコンテキスト内にあると仮定する。したがって、典型的なXPath表記のフォーマットはoradbのコンテキストであり、以下のように生成され得る。SchemaTableRowColumnAttributefurtherattributes上のXPath表記の各エレメントは、任意で述語を有し得る。述語は、形[]をとる。たとえば、エレメント、Rowは、以下のような述語を有し得る。SchemaTableRow[Column12100]Column2XPath表記を関係データベースクエリーに変換するためのルールは、XPath表記のための上の一般的なフォーマットを指し、以下のとおりである。1形SchemaTableのXPath表記は、以下のSQLステートメント等の対応する関係データベースクエリーに変換される。SelectFromSchemaTable上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいかなる構文にも限定されない。SQLステートメントの結果は、次に、ビジュアライズされたXMLドキュメントの対応するフラグメントに変換され得る。2形SchemaTableRowColumnのXPath表記は、以下のSQLステートメント等の対応する関係データベースクエリーに変換される。SelectColumnFromSchemaTable上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいかなる構文にも限定されない。SQLステートメントの結果は、次に、ビジュアライズされたXMLドキュメントの対応するフラグメントに変換され得る。3形SchemaTableRow[Empno2100]ColumnのXPath表記は、以下のSQLステートメント等の対応する関係データベースクエリーに変換される。SelectColumn2FromSchemaTableWhereColumn12100上のステートメントで用いられる構文は、単なる例示にすぎない。クエリー言語ステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。クエリー言語ステートメントの結果は、次に、ビジュアライズされたXMLドキュメントの対応するフラグメントに変換され得る。URI型特定の実施例に従うと、特別なデータ型が関係データベース内で提供されて関係データベース内でURIおよびURLが記憶される。このようなデータ型は、ここでUritypeと呼ばれる。URIおよびURLは、URIおよびURLをUritypeデータとして定義することによって、関係データベース表内の列に記憶され得る。図2Aは、Uritypeの階層を例示するブロック図である。図2Aは、サブタイプを含む一般的なUritype210を示す。特定の実施例に従うと、サブタイプは、DBUritype212、HTTPUritype214、およびFTPUritype216である。HTTPUritypeは、HTTPハイパーテキスト転送プロトコルURLを記憶し、HTTPプロトコルを用いてURLによって指し示されるデータをフェッチする。FTPUritypeは、FTPファイル転送プロトコルURLを記憶し、FTPを用いてデータをフェッチする。DBUritypeは、ここで説明されるXpathメカニズムを用いてイントラデータベース参照を記憶する。DBUritypeは、前に定義されたXpath変換メカニズムを用いて、または他のメカニズムを通して、URLに関連したデータをフェッチし得る。ユーザは、Uritypeのサブタイプまたは他のサブタイプのいずれかを定義し得、そのURLによって指し示されるデータを得るための実現例を提供し得る。URIおよびURLを記憶できることとは別に、Uritypeデータ型に関連した一般的な機能は、URIおよびURLの取出と、関係データベース内でLOBとして、たとえば、CLOBおよびBLOBとして記憶されるXMLドキュメントの取出とを含む。現在のユーザが、URLによって指し示される目標データを関係データベースから取り出したい場合、現在のユーザのXPath表記は、適切なクエリー言語ステートメントに自動的に変換される。このようなステートメントの実際の構文は、関係データベース内で用いられるクエリー言語に依存し、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。Uritypeデータ型の関係データベース機能は、以下のステートメントによって要約され得る。getURLgetBLOBgetCLOBgetXML上のステートメントは、単に機能を例示するにすぎない。このようなステートメントは、必ずしもクエリー言語ステートメントではない。この発明は、ある特定のセットのクエリー言語ステートメントに限定されない。図2Bは、Uritypeデータを記憶する関係データベース表を例示するブロック図である。関係データベース表200は、パーチェスオーダ表である。表200は、2つの列、パーチェスオーダ番号列250とパーチェスオーダリンク列260とを有する。両列250および260は、3つのデータ行、つまり、行271、行272、および行273を含む。パーチェスオーダリンク列は、型UriTypeのデータを記憶し得る。行271の列260は、型HTTPUritypeのデータを記憶する。行272の列260は、型FTPUritypeのデータを記憶する。最後に、行273の列260は、型DBUritypeのデータを記憶する。DBUritype、HTTPUritype等は、UriType型のサブタイプとして定義されたため、これらの型のインスタンスをパーチェスオーダリンク列に記憶できることが注目される。現在のユーザは、表200内で記憶されるUritypeデータによって指し示されるデータのいずれかを引出し得る。データベースは、適切なメカニズムを用いてデータを自動的にフェッチする。たとえば、以下で示されるクエリーは、パーチェスオーダリンク列によって指し示されるパーチェスオーダデータを取出す。データベースは、第1の行に対してはHTTPを通してパーチェスオーダをフェッチし、第2の行に対してはFTPを用い、最後の行に対してはDBUritype処理メカニズムを用いる。上のステートメントで用いられる構文は、単なる例示にすぎない。実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。適切なクエリーへの変換は、現在のユーザには見えない。したがって、現在のユーザが目標データの型を認識する必要はない。URITYPE機能を用いての関係データの修正特定の実施例に従うと、ここで説明されるような標準的なURIおよびURLを用いて関係データベースに記憶されるXMLデータを修正、追加、または削除するためのメカニズムが提供される。たとえば、現在のユーザ、スコットは、全ビジュアライゼーションではないが以下のような関係データベースのデフォルトバーチャルビジュアライゼーションを見ることができると仮定する。現在のユーザ、スコットが、従業員番号が2100である行の、EMP表の従業員名列のデータを更新したがっているとさらに仮定する。更新は、名前ジョンをメアリに変更することを含む。特定の実施例に従うと、現在のユーザ、スコットが関係データベースへの直接のアクセスを有するならば、スコットは、以下を行ない得る。すなわち、1XMLデータの更新のための更新動作を選択し、2以下のXPath表記を用いる。XPath表記SCOTTEMPROW[EMPNO2100]ENAMEは、更新されるべき目標データの行および列を示す。XPath表記Maryは、更新されるべき目標データの新しい値を示す。上のXPath表記は、以下のようなクエリー言語ステートメントに変換される。UPDATESCOTTEMPSETENAMEMaryWhereEMPNO2100現在のユーザ、スコットがウェブブラウザを用いて関係データベース内の目標データにアクセスする場合、特定の実施例に従うと、汎用サーブレットが提供されて現在のユーザが、標準的なURIおよびURLを用いて関係データベース内に記憶されるXMLデータを修正、追加、または削除することが可能となり得る。名前ジョンをメアリに更新する上の例を用いると、スコットが以下を行なうことを可能にする汎用サーブレットが提供される。すなわち、1XMLデータを更新するために更新動作を選択し、2以下のXPath表記の形で更新情報をサーブレットにポストする。SCOTTEMPROW[EMPNO2100]ENAMEMary他の特定の実施例に従うと、特別なサーブレットが各データベース動作のために提供され得る。言い換えると、INSERT動作のために挿入-サーブレットが存在し得、DELETE動作のために削除-サーブレットが存在し得、UPDATE動作のために更新-サーブレットが存在し得る。名前ジョンをメアリーに更新する上の例を用いて、スコットが以下を行なうことを可能にするInsert_servletが提供される。すなわち、1XMLデータを更新するために更新動作を選択し、2以下のXPath表記の形で更新情報をサーブレットに対してポストする。同じメカニズムを用いてメタデータを修正、追加、または削除する。たとえば、現在のユーザ、スコットがスキーマSCOTTを削除したい場合、スコットは、以下を行ない得る。すなわち、1関係データベース内のXMLデータを削除するために削除動作を選択し、2ビジュアライズされたXMLドキュメント内のどのレベルが削除されるべきかを示す以下のXPath表記を用いる。図3Aは、関係データベースに記憶される表を例示したブロック図である。表EMPは、3つの列、EMPNO、ENAME、およびSALARYを有する。EMPの各列は、表EMPの複数行の各々の値を含む。しかし、簡素化のために、図3Aは、2つの行、つまり、行302および行304のみを示す。列EMPNOでは、行302は値2100を含み、行304は値2200を含む。同様に、列ENAMEでは、行302は値JOHNを含み、行304は値MARYを含む。列SALARYでは、行302は値55Kを含み、行304は値65Kを含む。例として、ユーザが関係データベースクエリーをサブミットして列のうちの2つからの値、つまり、表EMPからのEMPNOおよびENAMEを取出すことを仮定する。関係データベースクエリーの一例は、以下のSQLステートメント、SELECTempnoenameFROMempである。上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。図3Bは、enameFROMemp、SELECTempno、およびSQLステートメントのSQL結果セットを含むビューを例示したブロック図である。SQL結果セットは、表EMPの2つの列のみを含む。したがって、図3Bは、列EMPNOおよびENAMEのみを示す。たとえSQL結果セットが列EMPNOおよびENAME内のすべての値の行を含むとしても、簡素化のために、それぞれ行302および304からの値を含む行310および312のみが図3Bで示される。図3BのSQL結果セットは、この発明の特定の実施例に従うと、以下のルールに基づいて対応するXML結果セットに変換され得る。1XML結果セットは、ROWSETタグで始まるXMLドキュメントの形にある。ROWSETタグは、XMLドキュメントが行エレメントのセットを含むことを示す。2SQL結果セットの各行は、XMLドキュメント内の対応のROWエレメントに変換され、ROWエレメントはROWタグのペアによって示される。3SQL結果セットのある所与の行内の各列は、SQL結果セットの所与の行に対応する取囲むROWエレメント内に埋込まれる対応するCOLUMNエレメントに変換される。COLUMNタグの名前は、SQL結果セット内の対応する列の名前である。ROWSET、およびROWタグは、この発明の異なる実現例で異なった名前を有し得る。この発明は、このようなタグに関して特定のいかなる名前にも限定されない。COLUMNタグに関しては、1つの実施例に従うと、COLUMNタグの名前を変更するために、エイリアスメカニズムが提供される。例示のために、上の例のXML結果セットは、以下のように現われ得る。オブジェクト関係データのマッピングXMLの形へのオブジェクト関係データの標準的なマッピングの例は、以下のとおりである。aXMLエレメントへのオブジェクト関係列のマッピングたとえば、図3Aを参照して、単一の行302におけるEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットは、以下のように現われ得る。オブジェクト関係列EMPNOおよびENAMEは、XML結果セット内の対応するCOLUMNエレメントにマッピングされる。EMPNOおよびENAMEは、取囲むROWエレメント内に埋込まれる。bオブジェクト型の属性を含むネストにされたサブエレメントを有するXMLエレメントへのオブジェクト関係オブジェクト型のマッピング説明のために、Address_tと呼ばれる、ユーザによって定義される型は、あらかじめ関係データベース内で生成されると仮定する。Address_tは、3つのスカラ属性、つまり、CITY、STATE、およびZIPを含む複雑なオブジェクト型である。関係データベース内にはEmployee_tableと呼ばれる表が存在すると仮定する。Employee_tableは、2つの列ENAMEおよびADDRESSを有する。ENAMEは、ストリングの型であり、ADDRESSは、ユーザによって定義される型Address_tである。列ENAMEおよびADDRESSは、各々、値の単一の行のみを、つまり、従業員名ジョンおよびジョンのアドレスをそれぞれ含むことをさらに仮定する。SELECTFROMEmployee_table等のSQLクエリーは、この発明の特定の実施例に従うと、以下のXML結果セットにマッピングするSQL結果セットを生成し得る。オブジェクト関係列ADDRESSは、XML結果セット内の同じタグ名を有するエレメントにマッピングする。address_t型であるエレメントADDRESSは、属性CITY、STATE、およびZIPを有し、これらはエレメントADDRESSのサブエレメントにマッピングされる。各サブエレメントは、XML結果セット内のその対応するタグ名としての属性の名前を有する。cXMLリストへのオブジェクト関係集合型のマッピング説明のために、Lineitems_tと呼ばれる、ユーザによって定義される型が、あらかじめ関係データベース内で生成されることを仮定する。Lineitems_tは、複数の集合項目を含む集合オブジェクト型である。各集合項目は、集合内の項目の位置上の値を定義するID属性を有する。たとえば、関係データベース内にはPurchaseOrder_tableと呼ばれる表が存在することを仮定する。PurchaseOrder_tableは、2つの列、パーチェスオーダ番号のためのPONOと、ライン項目リストのためのLINEITEMSとを有する。PONOは、番号の型であり、LINEITEMSは、Lineitems_tの型である。列PONOおよびLINEITEMSは、各々、値の単一の行、つまり、パーチェスオーダ番号101と、パーチェスオーダ番号101に関連したライン項目の集合とを含むとさらに仮定する。ライン項目の集合内には、1項目、つまり、ブックが存在すると仮定する。SELECTFROMPurchaseOrder_table等のSQLクエリーは、以下のXML結果セットにマッピングするSQL結果セットを生成する。オブジェクト関係列LINEITEMSは、XML結果セット内の同じタグ名を有するエレメントにマッピングする。LINEITEMS内の各集合項目は、LINEITEMSエレメント内に埋込まれるサブエレメントにマッピングされる。各集合項目は、タグ名としての集合型名、つまり、LINEITEM_Tを有する。各集合項目は、エレメントLINEITEM_T内に埋込まれるサブエレメントにマッピングされる属性LINEITEMNAMEおよびCOSTを有する。各サブエレメントは、その対応するタグ名としての属性名、たとえば、<LINEITEMNAME>、および<COST>を有する。dURI参照へのオブジェクト関係REF型のマッピングオブジェクト関係REF列は、いずれかのオブジェクト関係表内に含まれる行オブジェクトへのオブジェクト参照を記憶するための列である。説明のために、関係データベースは、Employee_tableと呼ばれる表を有すると仮定する。Employee_tableは、列EMPTNO、ENAME、およびDEPTREFを有する。EMPNOは、番号の型であり、EMPNOは値15の1つの行のみを有すると仮定する。ENAMEは、ストリングの型であり、ENAMEは値ジョンの1つの行のみを有すると仮定する。DEPTREFは、REFの型であり、DEPTREFは値の1つの行のみを有し、これは、Department_tableと呼ばれる別の表内のDEPTNO=1001に対応する値の行への参照であることを仮定する。Department_tableは、スキーマSCOTT内にあり、値1001を備えた列DEPTNOと値SPORTSを備えた列DEPTNAMEとを有すると仮定する。SELECTEMPNODEPTREFFROMEmployeetable等のSQLクエリーは、以下のXML結果セットにマッピングするSQL結果セットを生成する。この発明の特定の実施例に従うと、オブジェクト関係REF値を、16進法HEXでエンコードされるバイナリ値に変換することによって、DEPTREF列内のREF値は、XML結果セットのためのXMLの形に変換される。したがって、上のXML結果セットでは、0344855FF4ABBCC3333が、エンコードされたHEXである。この発明の他の特定の実施例に従うと、REF値をデータベースユニフォームリソースインディケータDBURI参照へと変換することによって、DEPTREF列内のREF値は、XMLの形に変換される。DBURI参照は、発明者としてムラリダールクリシュナプラサド、ビスワナサンクリシュナマーシー、ラビマーシーを挙げるデータベースデータおよびメタデータに対する関係データベースおよびユニバーサルリソース識別子のXMLビジュアライゼーションのための方法および装置と題された米国特許出願第号、代理人事件整理番号50277‐1564で詳細に説明される。上の同じ例を用いると、DBURI参照は、SCOTTDEPARTMENT_TABLEROW[DEPTNO1001]として現われ得、Deptnoは、主要なキー情報である。したがって、XML結果セットは、以下として現われ得る。この発明のさらなる他の実施例に従うと、REF列に記憶されるオブジェクトを独自に識別するオブジェクト識別子は、DBURI参照を生成するときに用いられ得る。上の同じ例を用いて、DBURI参照は、以下として現われ得る。したがって、XML結果セットは、以下のように現われ得る。この発明の実施例に従うと、LOB値もDBUri参照に変換され得る。たとえば、DEPT_PHOTOと呼ばれる部門表内に列が存在し、これがBLOB列ならば、DBUri参照が用いられて、XMLドキュメント内でBLOBデータをインラインする代わりに、BLOBデータが参照され得る。XML結果は、DEPT_PHOTO列に対して以下のように現われ得る。この発明は、LOBおよびREFへのDBUri参照を生成することに限定されない。DBUri参照は、ビジュアライズされたドキュメント内でインラインされなくてもよいデータベースデータのいずれかの部分を参照するために生成され得る。たとえば、ネストにされた表、LONG、および他のデータ型は、ビジュアライズされたドキュメント内で全データをインラインする代わりに、DBUri参照に変換され得る。DBUri参照は、Xpath表記の述語内で行のROWIDまたは主要なキー情報を用いることによって、生成され得る。関係データベーススキーマのマッピング関係データベーススキーマは、関係データベーススキーマをそれらの対応するXMLスキーマにマッピングすることによって、XMLの形にマッピングされる。たとえば、図3Aを参照して、単一の行302でEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットを生成するために、XMLスキーマが生成される。XMLスキーマは、XML結果セットの構造を定義し、これは、XMLドキュメントの形である。したがって、単一の行302でEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットに対応するXMLスキーマは、この発明の特定の実施例に従うと、以下のとおりである。上の例からわかるように、XML結果セットXMLドキュメントの構造を定義することに加えて、XMLスキーマはまた、もしあれば、データ上の制約およびデータの型を定義する。たとえば、上のサンプルXMLスキーマは、特に、以下を示す。すなわち、1すべてのXMLスキーマに適用される規格を定義するネーム空間のためのURL、つまり、httpwwww3org200010XMLSchema、2エレメントROWSETが、複合体型であり、ROWエレメントを含むこと、3ROWエレメントが、複合体型であり、XMLドキュメント内で任意の回数だけ起こり得ること、3ROWエレメント内に埋込まれるエレメントEMPNOは整数型であること、4ROWエレメント内に埋込まれるエレメントENAMEは、ストリング型であること、を示す。空白許可nullable属性は、エレメント値がNULLであり得るか否かを示す。MinOccursは、結果として得られるドキュメント内でのこのエレメントの発生の最小の回数を示す。代替的には、XMLスキーマは、その対応するXML結果セットXMLドキュメント内でインラインされ得る。たとえば、図3Aを参照して、単一の行302でEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットは、この発明の特定の実施例に従うと、以下のようにXML結果セット内でその対応のXMLスキーマをインラインし得た。XMLネーム空間ある所与の関係データベーススキーマに関連したオブジェクト関係データ型定義は、対応のXMLネーム空間に結合され得る。XMLネーム空間は、XMLドキュメント内でエレメント型および属性名として用いられる名前の集合である。XMLネーム空間は、URLによって定義され得る。たとえば、ここで説明されるように、関係データベースはユーザによって定義される型Address_tを有し、これは、3つのスカラ属性、つまり、CITY、STATE、およびZIPを含む複雑なオブジェクト型であると仮定する。説明のために、複雑なオブジェクト型Address_tは関係データベーススキーマSCOTT内で定義されると仮定する。したがって、Address_tは、たとえば、URLhttporacomSCOTTによって定義されるXMLネーム空間に結合され得る。XMLスキーマは、異なるXMLネーム空間からのオブジェクト関係型を含み得る。例示のために、関係データベーススキーマFOOおよび関係データベーススキーマPEEが生成されると仮定する。さらに、関係データベーススキーマFOOは、AddressTypeと呼ばれる、ユーザによって定義される型を含み、関係データベーススキーマPEEは、NameTypeと呼ばれる、ユーザによって定義される型を含むことが仮定される。AddressTypeは、3つのスカラ属性、つまり、CITY、STATE、およびZIPを含む。NameTypeは、2つのスカラ属性、つまり、FIRSTNAMEおよびLASTNAMEを含む。オブジェクト関係表EMP2が生成されることが仮定される。EMP2は、2つの列、つまり、ENAMEおよびEADDRを有する。ENAMEは、従業員名ジェームスボンドを含み、NameTypeの型である。EADDRは、ジェームスボンドのアドレスを含み、AddressTypeの型である。以下のSQLステートメントは、関係データベース内のEMP2、NameType、AddressType、データベーススキーマPEE、およびデータベーススキーマFOOの生成を例示する。上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。表EMP2では、列ENAMEは、関係データベーススキーマPEEのために定義されるNameTypeを用い、列EADDRは、関係データベーススキーマFOOのために定義されるアドレス型を用いる。したがって、SELECTFROMEMP2等のSQLクエリーのXML結果セットに対応するXMLスキーマは、FOOおよびPEEのためのXMLネーム空間を定義する別個のURLを含む。FOOのためのXMLネーム空間は、AddressTypeのための定義を含む。PEEのためのXMLネーム空間は、NameTypeのための定義を含む。SELECTFROMEMP2等のSQLクエリーのXML結果セットに対応するXMLスキーマは、この発明の特定の実施例に従うと、以下のとおりである。代替的には、XMLスキーマは、目標データ、つまり、EMP2内の従業員のアドレスおよび名前を含むその対応するXML結果セット内でインラインされ得る。この発明の特定の実施例に従うと、XML結果セットは、インラインされるその対応するXMLスキーマを示す。XMLデータおよびSQLデータの一様な処理典型的には、関係データベース内には、予め定義された関係データ型が存在する。典型的な予め定義された関係データ型の例は、数、日付、およびストリング等である。オブジェクト関係データベースはまた、ユーザによって定義されるオブジェクト型を含み得る。しかし、XMLデータおよびSQLデータの一様な処理を提供するために、XMLTypeと呼ばれるデータ型が、関係データベースシステム内でもともと定義される。XMLTypeデータ型は、構造化XMLデータであっても、非構造化XMLデータであっても、いずれの型のXMLデータも記憶するために用いられ得る。図4は、XMLType記憶アーキテクチャを例示したブロック図である。ブロック402は、ブロック406で示されるXMLTypeを用いて記憶されるべきXMLデータである。XMLTypeは、XMLデータのための基礎をなす記憶メカニズムを含む。記憶メカニズムのうちのいくつかが、記憶層414で示される。記憶層414では、LOB記憶メカニズム408、オブジェクト関係記憶メカニズム410、および他の記憶メカニズム412が示される。他の記憶メカニズム412は、XMLデータのためのいずれかの適切な記憶メカニズムであり得る。したがって、記憶層414内の記憶メカニズムは、XMLデータのための記憶メカニズムの、余すところのないセットを含むわけではない。XMLTypeは、基礎をなす記憶メカニズムを含むため、XMLデータのユーザは、XMLTypeを見るのみであり、XMLデータの基礎をなす記憶メカニズムの実際の詳細は、ユーザから隠れている。典型的には、関係データベースシステムの管理者は、記憶されるべきXMLデータのための基礎をなす記憶メカニズムを選択する。管理者は、記憶メカニズムの性能詳細事項に基づいて、基礎をなす記憶メカニズムのタイプを選択する。記憶を示すために、ある所与のXMLドキュメントのフィールドのうちのいくつかは、構造化データを含み得る。構造化データは、関係データベース内の関係列にマッピングされ得るデータである。別の例では、XMLドキュメントは、全ブックのテキストコンテントを含むと仮定する。XMLドキュメントのあらゆるエレメントまたはフィールドを関係列にマッピングすることによってこのようなXMLドキュメントを広げるのではなく、ユーザが照会しそうなデータを含むフィールドのみが、ストリング、番号等の予め定義された関係型にマッピングされ、残りのデータは、まとめられ、キャラクタラージオブジェクトCLOBのための1つの列にマッピングされる。ユーザは、ユーザ自身のテンプレートを生成してどのフィールドが関係列にマッピングされるべきか、およびどのフィールドがCLOBにマッピングされるべきかを特定し得る。図5は、XMLType列の構造を例示したブロック図である。列504は、構造化データを含むXMLドキュメントを含んだXMLType列である。構造化データのフィールドは、隠し列506にマッピングされる。たとえば、XMLドキュメントのPONOエレメントは、NUMBER列にマッピングされ、PNAMEはストリング列にマッピングされる。図5では、網掛けされたエリアは、列がユーザからは見えないように隠されていることを示す。ユーザは、単一のXMLType列を見るのみである。一様なクエリーインターフェイスこの発明の特定の実施例に従うと、関連データベース内に記憶されるXMLTypeデータ上の動作のコアセットを定義するために、一様なクエリーインターフェイスが提供される。このような動作は、基礎をなす記憶フォーマットからは独立している。この発明の特定の実施例に従うと、XMLTypeデータ上の動作は、以下のように機能的に要約される。1ある所与のXMLドキュメントのフラグメントの抽出2XMLドキュメント内の特定の構造の存在のテスト3XMLドキュメント内の特定のデータ値の抽出4ある所与のXMLドキュメントの変換上の動作リストは、XMLTypeデータのための余すところのない動作リストというわけではない。動作のいくつかを例示するために、Xと呼ばれるXMLドキュメントがパーチェスオーダデータを含むと仮定する。パーチェスオーダデータは、値21を備えたパーチェスオーダ番号PONO、値JOHNを備えたパーチェスオーダネームPNAME、およびライン項目の集合を含み、以下のように現われる。したがって、この発明の特定の実施例に従うと、XMLドキュメントXのフラグメントを抽出するための動作の例は、以下のとおりである。EXTRACT上の動作は、ドキュメントXのフラグメントを抽出し、フラグメントは、LINEITEM下のすべてのブランチから構成されるサブツリーである。XMLドキュメントX内の特定のデータ値を抽出するための動作の例は、以下のとおりである。EXTRACTVALUE上の動作は、PNAME内のスカラ値、つまり、JOHNを抽出する。XMLドキュメントX内での特定のエレメントの存在のテストのための動作例は、以下のとおりである。EXISTSNODE上の動作は、値が21であるPONOと呼ばれる子を有する、POと呼ばれるエレメントをXMLドキュメントXが有するかをテストする。XSLスタイルシートを用いてXMLドキュメントを変換するための動作例は、以下のとおりである。TRANSFORM上の動作は、XMLドキュメントの基礎をなす記憶フォーマットに関して、全く寛容である。クエリー再書込この発明の特定の実施例に従うと、関係データベース内の基礎をなす記憶メカニズムのデータアクセスおよびデータ操作能力を活用する形へとユーザクエリーを再書込みするためのメカニズムが提供される。ある所与のXMLドキュメントの構造化データのフィールドは、フィールド内のデータがユーザによって頻繁に照会されるようであれば、別個の関係列にマッピングされ得る。たとえば、XMLドキュメントのフィールドのうちの1つが従業員名を含み、ユーザが従業員名の値をもとにしてXMLドキュメントを頻繁に照会することが予想されると仮定する。これらの条件下では、従業員名は、XMLドキュメントそれ自体を記憶する列とは別のENAMEと呼ばれる関係列に記憶され得る。XMLユーザが、ある特定の従業員の名前に基づいてクエリーをサブミットしてXMLドキュメントにアクセスすると、XMLユーザのクエリーは、自動的に再書込みされてENAME列のみにアクセスする。対照的に、クエリー再書込メカニズムが提供されず、従業員名が別個の列に記憶されないならば、XMLユーザがある特定の従業員の名前に基づいてクエリーをサブミットしてXMLドキュメントにアクセスする場合、XMLドキュメントをパーズすることによって、ドキュメントオブジェクトモデルDOMが各XMLドキュメントに対して生成される。次に、適切なXPATH表記を適用することによって、DOM上で従業員名に対して探索が行なわれる。DOMを生成し、次にDOM上で探索を行なうことは、明らかに、より効率性に欠ける。別の例では、関係データベースの既存のインデックス付け能力を用いてXMLユーザのクエリーを満足させる。データが頻繁に照会されることが予想されるならば、データは、別個の関係列に記憶され得、Bツリーインデックスが、その列上で構築され得る。次に、XMLユーザクエリーがサブミットされて、たとえば、PONO=21である行が選択されるならば、PONO列上のBツリーインデックスを用いて、PONO列内で値21を有するXMLドキュメントを含む行が識別され得る。同様に、XMLドキュメントがLOBとして記憶されるならば、テキストインデックスを用いてLOB列上での探索が最適化され得る。関係データベース内のXMLドキュメントの記憶に関連したマッピング情報およびユーザのXMLクエリーに基づいて、データベースクエリー、たとえば、SQLクエリーを生成するためのメカニズムがデータベース内で提供される。図5を参照して、図5の表はPO‐TABLEと呼ばれ、Bツリーインデックスは関係列PONO上で生成されると仮定する。XMLユーザが以下のクエリーをサブミットすると仮定する。SELECTFromPOTABLEWhereEXISTNODEこの発明の特定の実施例に従うと、上のXMLユーザのクエリーは、以下へと変換される。SELECTFromPOTABLEWherePOXMLPONO21したがって、インデックス探索は、PONOの述語に対して行われ得る。ハードウェア図6は、この発明の実施例が実現され得るコンピュータシステム600を例示したブロック図である。コンピュータシステム600は、情報の通信を行なうためのバス602または他の通信メカニズム、および、情報を処理するための、バス602に結合されるプロセッサ604を含む。コンピュータシステム600はまた、プロセッサ604によって実行されるべき情報および命令の記憶のための、バス602に結合されるランダムアクセスメモリRAMまたは他の動的記憶装置等のメインメモリ606を含む。メインメモリ606はまた、プロセッサ604によって実行されるべき命令の実行中に一時変数または他の中間情報を記憶するために用いられ得る。コンピュータシステム600はさらに、プロセッサ604のための命令および静的情報を記憶するための、バス602に結合される読出専用メモリROM608または他の静的記憶装置を含む。磁気ディスクまたは光学ディスク等の記憶装置610が、設けられ、情報および命令を記憶するためにバス602に結合される。コンピュータシステム600は、コンピュータユーザに情報を表示するための、陰極線管CRT等のディスプレイ612にバス602を介して結合され得る。英数字および他のキーを含む入力装置614がバス602に結合されて、情報およびコマンド選択をプロセッサ604に伝達する。別の種類のユーザ入力装置は、方向情報およびコマンド選択をプロセッサ604に伝達し、さらにはディスプレイ612上でのカーソルの動きを制御するための、マウス、トラックボール、またはカーソル方向キー等のカーソル制御616である。この入力装置は、典型的には、2つの軸、第1の軸たとえば、xと第2の軸たとえば、yとにおいて2自由度を有し、これによって、装置が平面で位置を特定することが可能となる。この発明は、ここで説明される技術を実現するためのコンピュータシステム600の用途に関連する。この発明の1つの実施例に従うと、これらの技術は、メインメモリ606内に含まれる1つ以上の命令の1つ以上のシーケンスをプロセッサ604が実行することに応答して、コンピュータシステム600によって実現される。このような命令は、記憶装置610等の別のコンピュータ読出可能な媒体からメインメモリ606へと読出され得る。メインメモリ606内に含まれる命令シーケンスの実行によって、プロセッサ604がここで説明されるプロセスステップを実行させられる。多重処理構成における1つ以上のプロセッサを用いてメインメモリ606内に含まれる命令シーケンスを実行することもできる。代替的な実施例では、ソフトウェア命令の代わりに、またはソフトウェア命令と組合せてハードワイヤード回路を用いてこの発明を実現することもできる。したがって、この発明の実施例は、ハードウェア回路とソフトウェアとの特定のいずれかの組合せに限定されない。ここで用いられるような用語コンピュータ読出可能な媒体は、実行のために命令をプロセッサ604に提供するいずれかの媒体を指す。このような媒体は、不揮発性媒体、揮発性媒体、および送信媒体を含むがそれらに限定されない多くの形をとり得る。不揮発性媒体は、たとえば、記憶装置610等の光学ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ606等のダイナミックメモリを含む。送信媒体は、バス602を含むワイヤを含んだ、同軸ケーブル、銅ワイヤ、および光ファイバを含む。送信媒体はまた、電波および赤外線データ通信中に生成されるような音波または光波の形をとり得る。コンピュータ読出可能な媒体の一般的な形は、たとえば、フロッピー登録商標ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他のいずれかの磁気媒体、CD-ROM、他のいずれかの光学媒体、パンチカード、ペーパーテープ、ホールパターンを備えた他のいずれかの物理的な媒体、RAM、PROM、EPROM、フラッシュEPROM、他のいずれかのメモリチップまたはカートリッジ、以下で説明されるような搬送波、またはコンピュータが読出可能な他のいずれかの媒体を含む。種々の形のコンピュータ読出可能な媒体は、実行のために1つ以上の命令の1つ以上のシーケンスをプロセッサ604に搬送することに関与し得る。たとえば、命令は、最初リモートコンピュータの磁気ディスク上で搬送され得る。リモートコンピュータは、命令をそのダイナミックメモリにロードし、モデムを用いて電話線上で命令を送信し得る。コンピュータシステム600にとってローカルなモデムは、電話線上のデータを受信し、赤外線トランスミッタを用いてデータを赤外線信号に変換し得る。バス602に結合される赤外検出器が、赤外線信号で搬送されたデータを受信し、データをバス602上に置き得る。バス602は、データをメインメモリ606へと搬送し、ここから、プロセッサ604は命令を取出し、実行する。メインメモリ606が受取る命令は、任意で、プロセッサ604による実行の前に、またはその後に、記憶装置610上に記憶され得る。コンピュータシステム600はまた、バス602に結合される通信インターフェイス618を含む。通信インターフェイス618は、ローカルネットワーク622に接続されるネットワークリンク620に結合される双方向データ通信を提供する。たとえば、通信インターフェイス618は、統合サービスデジタル通信網ISDNカードまたはモデムであってデータ通信接続を対応する種類の電話線に提供し得る。別の例として、通信インターフェイス618は、ローカルエリアネットワークLANカードであってデータ通信接続を適合したLANに提供し得る。ワイヤレスリンクも実現され得る。このようないずれの実現例でも、通信インターフェイス618は、種々の種類の情報を表わすデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送受信する。ネットワークリンク620は、典型的には、1つ以上のネットワークを通して他のデータ装置にデータ通信を提供する。たとえば、ネットワークリンク620は、ローカルネットワーク622を通してホストコンピュータ624へと、またはインターネットサービスプロバイダISP626によって動作されるデータ装置へと、接続を提供し得る。ISP626は、次に、現在インターネット628と通例呼ばれるワールドワイドパケットデータ通信ネットワークを通してデータ通信サービスを提供する。ローカルネットワーク622およびインターネット628の両方は、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を用いる。コンピュータシステム600へと、およびコンピュータシステム600からデジタルデータを搬送する、ネットワークリンク620上にあり通信インターフェイス618を通る信号および種々のネットワークを通る信号は、情報を運ぶ搬送波の例示的な形である。コンピュータシステム600は、ネットワーク、ネットワークリンク620、および通信インターフェイス618を通して、プログラムコードを含むメッセージを送信し、プログラムコードを含むデータを受信し得る。インターネットの例では、サーバ630は、インターネット628、ISP626、ローカルネットワーク622、および通信インターフェイス618を通して、アプリケーションプログラムのための要求されたコードを送り得る。この発明に従うと、アプリケーションをダウンロードしたものが、ここで説明される技術を実現する。受信されたコードは、それが受信される時にプロセッサ604によって実行され得、および/または、後の実行のために記憶装置610に、または他の不揮発性記憶装置に記憶され得る。この様態で、コンピュータシステム600は、搬送波の形のアプリケーションコードを得ることができる。上の明細書では、この発明は、その具体的な実施例を参照しながら説明された。しかし、この発明のより広い思想および範囲から逸脱することなく、この発明に対して種々の変形および変更が可能であることは明らかであろう。したがって、明細書および図は、限定的な意味ではなく例示的な意味で理解されるべきである。