XML columns in a geodatabase in Informix
XML is an open standard for defining data elements within documents. To store XML data in an IBM Informix database, you can use ArcSDE XML columns.
You need either the Basic Text Search or Excalibur Text Search DataBlade Module installed in the database to use ArcSDE XML columns.
ArcGIS Desktop の XML 列
XML 列はジオデータベースでは完全にサポートされません。したがって、次の点に注意してください。
- ArcCatalog で、テーブル内の XML 列のコンテンツをプレビューできません。XML 列は空になるか、文字化けした状態となります。
- [テーブル プロパティ] ダイアログ ボックスの [フィールド] タブでは、XML 列のデータ タイプは表示されません。
- XML 列が含まれているテーブルをジオデータベース間でコピーして貼り付けることはできません。
- ジオプロセシング ツールを使ってテーブルをインポートまたはエクスポートする場合は、XML 列を除外する必要があります。
- XML 列を含むテーブルを、ArcCatalog を使用して、バージョン対応テーブルとして登録することはできません。
- XML 列を含むテーブルを ArcMap で開いた場合、XML 列は空になります。
- XML 列を含むテーブルを ArcMap で編集するには、バージョン非対応の編集セッションを使用します。ただし、編集できるのはテーブルの他のフィールドだけであり、XML 列自体は編集できません。
XML columns in an Informix DBMS
There are three ArcSDE geodatabase system tables used to manage XML columns: sde_xml_columns, sde_xml_index_tags, and sde_xml_index. These tables are owned by the ArcSDE administrator user. ArcSDE also creates two additional tables for each XML column that are used to store and index XML documents: the sde_xml_doc<column_id> and sde_xml_idx_<column_id> tables. These tables are owned by the user who owns the business table containing the XML column.
ArcSDE XML を使用するときに、ArcSDE は次のテーブルを作成します。これらのテーブルは、XML ドキュメントの格納およびインデックス作成に使用されます。
SQL を使用して、これらのテーブルを変更しないでください。
ビジネス テーブルに ArcSDE XML 列を追加すると、SDE_XML_COLUMNS テーブルに行が 1 つ追加されます。このテーブルは各 ArcSDE ジオデータベースに 1 つ存在します。
Field name | Field type | Description | Null? |
---|---|---|---|
column_id | serial | XML 列の ID。テーブルの主キー。 この値は ArcSDE XML 列の作成時に ArcSDE によって割り当てられます。 | NOT NULL |
registration | integer | The identifier of the business table containing the ArcSDE XML column and foreign key to the table_registry system table | NOT NULL |
column_name | varchar(32) | ビジネステーブルの ArcSDE XML 列の名前。 | NOT NULL |
index_id | integer | The identifier of the XPath index associated with the ArcSDE XML column (if one exists) and foreign key to the sde_xml_indexes table | |
minimum_id | integer | 個々の XML ドキュメントを識別するためにビジネス テーブルの ArcSDE XML 列で使用される初期値の値。 | |
config_keyword | varchar(32) | それらのテーブルで作成される XML ドキュメント、XML XPath インデックス テーブル、テキスト インデックスをデータベースで定義する方法を決定するパラメータを含む、DBTUNE コンフィグレーション キーワード。 For more information on DBTUNE keywords and their parameters, see What are DBTUNE configuration keywords and parameters? and DBTUNE configuration parameters in Informix. | |
xflags | integer | XML ドキュメント テーブルの元のドキュメントが圧縮されているかどうかを示す値。 デフォルトでは、ドキュメントは圧縮されます(圧縮されたドキュメントのほうがパフォーマンスが向上します)。 |
このテーブルは各 ArcSDE ジオデータベースに 1 つ存在します。このテーブルには、XPath インデックスが付いている ArcSDE XML 列ごとに行が 1 つ含まれます。
Field name | Field type | Description | Null? |
---|---|---|---|
index_id | serial | XPath インデックスの ID。テーブルの主キー。 | NOT NULL |
index_name | varchar(32) | XPath インデックスの名前。 ArcIMS メタデータ サービスに関連する XPath インデックスの場合、名前は「ims_xml#」になります。シャープ記号(#)はメタデータ サービス ビジネス テーブルの ArcSDE XML 列の ID を表します。 | NOT NULL |
owner | varchar(32) | ArcSDE XML 列を所有しているデータベース ユーザ。 ArcIMS メタデータ サービスの場合は、サービスの ArcXML 構成ファイルで指定されたユーザ。 | NOT NULL |
index_type | integer | XPath インデックスのタイプを示す値。 ArcSDE 9.1 以降のリリースでは、この値は SE_XML_INDEX_DEFINITION インデックス タイプで 2、SE_XML_INDEX_TEMPLATE インデックス タイプで 1 です。ArcIMS メタデータ サービスに関連する XPath インデックスの場合は、SE_XML_INDEX_DEFINITION インデックス タイプのみがサポートされます。 | NOT NULL |
description | varchar(64) | XPath インデックスを説明するテキスト。 インデックスの作成にインデックス定義ファイルが使用された場合は、インデックスの説明がファイルの先頭に指定されている場合があります。 |
ArcSDE XML 列には、必要に応じて XPath インデックスが含まれます。このインデックスにより、ユーザが各ドキュメントで特定の XML エレメントまたは属性の内容を検索できるようになります。エレメントや属性が各 XPath インデックスに含まれるかどうかの定義は、このテーブルに記録されます。
このテーブルは各 ArcSDE ジオデータベースに 1 つ存在します。このテーブルには、ArcSDE XML 列の XPath インデックスに関連付けられた XPath ごとに行が 1 つ含まれます。
Field name | Field type | Description | Null? |
---|---|---|---|
index_id | integer | The identifier of the XPath index associated with an XML column (if one exists) and foreign key to the sde_xml_indexes table. | NOT NULL |
tag_id | serial | XPath(タグ)の ID。 | NOT NULL |
tag_name | nvarchar(255) | XML ドキュメントに存在する XML エレメントまたは属性を識別する絶対 XPath。 /metadata/mdDateSt は XML エレメントを識別し、/metadata/dataIdInfo/tpCat/TopicCatCd/@value は XML 属性を識別します。 これらの XPath には、XML エレメントまたは属性のグループを参照するアスタリスク(*)が含まれていてはなりません。各エレメントまたは属性は、このテーブルに指定された XPath に基づいて正確に照合されます。有効な XML ドキュメントのエレメントに「*」という名前を付けることはできません。 | NOT NULL |
data_type | integer | XML エレメントまたは属性が数値、可変長の文字、またはテキストとしてインデックス付けされるかどうかを示す値。 1 はタグの内容がテキストとしてインデックス付けされることを示し、2 はタグの内容が数値としてインデックス付けされることを示し、3 はタグの内容が可変長の文字としてインデックス付けされることを示します。 | NOT NULL |
tag_alias | integer | XPath を識別するために使用されるコード。 たとえば、Z39.50 通信プロトコルは数値コードを使用して検索可能なコンテンツを示します。 この列は ArcIMS Z39.50 Connector によって使用されません。 | |
description | varchar(64) | XML エレメントまたは属性に含まれるべき内容を示すテキスト。 | |
is_exluded | integer | XML エレメントが XPath インデックスに含まれるかどうかを示す値。
| NOT NULL |
SDE_XML_DOC<COLUMN_ID> テーブルは、XML ドキュメントを格納し、XML ドキュメントのコンテンツに関するフルテキスト インデックスを管理します。ArcSDE データベースには、ArcSDE XML 列ごとにこれらのテーブルが 1 つ含まれます。テーブル名の番号は、ArcSDE XML 列の ID です。このテーブルには、ArcSDE XML 列に格納される XML ドキュメントごとに行が 1 つ含まれます。
Field name | Field type | Description | Null? |
---|---|---|---|
sde_xml_id | integer | ArcSDE XML 列に格納される XML ドキュメントの ID。テーブルの主キー。 | NOT NULL |
doc_property | integer | XML ドキュメントのコンテンツを XPath インデックスに追加したときに競合が検出されたかどうかを示す値。 1 = 競合が検出されました。たとえば、数値でインデックス付けされるはずのエレメントが、ドキュメントに文字列で含まれているなど。 NULL 値 = ドキュメントのインデックスの作成時に問題は検出されませんでした。 | |
xml_doc | BLOB | XML ドキュメント。 | NOT NULL |
xml_doc_val | CLOB | すべての XML タグと他のマークアップが削除された状態の XML ドキュメント全体のコンテンツ。 この列にはテキスト インデックスがデフォルトで構築されます。このインデックスはフルテキスト検索への応答に使用されます。ArcIMS メタデータ サービスでは、このインデックスは FULLTEXT リクエストへの応答に使用されます。 |
SDE_XML_IDX<COLUMN_ID> テーブルは、XPath テキスト インデックスを持つ ArcSDE XML 列に対して作成されます。このテーブルには、インデックスが作成されている XPath ごとにテキストまたは数値のコンテンツが格納されます。
テーブル名の ID 番号は、ArcSDE XML 列の内部登録番号です。
Field name | Field type | Description | Null? |
---|---|---|---|
xml_key_column | serial | インデックス付けされた値の ID。テーブルの主キー。 | NOT NULL |
sde_xml_id | integer | インデックス付けされた値が含まれている XML ドキュメントの ID。 | NOT NULL |
tag_id | integer | ArcSDE XML 列の XPath インデックスに関連付けられたタグの ID。ドキュメントのどこに値が格納されているかを識別します。 | NOT NULL |
double_tag | double precision | XPath インデックス定義においてタグが DOUBLE として定義されている場合のインデックス付けされた値。 | |
string_tag | nvarchar(255) | XPath インデックス定義においてタグが VARCHAR として定義されている場合のインデックス付けされた値。 | |
text_tag | CLOB | XPath インデックス定義においてタグが STRING として定義されている場合のインデックス付けされた値。 |
次に、ArcSDE XML 列が含まれているテーブルとそれを追跡するためのシステム テーブルの図を示します。破線はテーブル間の暗黙的なリレーションシップを示し、実線は明示的に定義されたリレーションシップを示しています。
XML ドキュメントでの XML 列
XML 列が含まれているテーブルを XML ワークスペース ドキュメントにエクスポートすることはできません。XML レコードセット ドキュメントにエクスポートすることは可能ですが、列を XML として見分ける方法はありません。