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 列はジオデータベースでは完全にサポートされません。したがって、次の点に注意してください。

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 を使用して、これらのテーブルを変更しないでください。

sde_xml_columns

ビジネス テーブルに 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 ドキュメント テーブルの元のドキュメントが圧縮されているかどうかを示す値。

デフォルトでは、ドキュメントは圧縮されます(圧縮されたドキュメントのほうがパフォーマンスが向上します)。

sde_xml_indexes

このテーブルは各 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 インデックスを説明するテキスト。

インデックスの作成にインデックス定義ファイルが使用された場合は、インデックスの説明がファイルの先頭に指定されている場合があります。

sde_xml_index_tags

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 インデックスに含まれるかどうかを示す値。

  • 0 = 含まれます。
  • 1 = 含まれません。

NOT NULL

sde_xml_doc<colimn_id>

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>

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 列が含まれているテーブルとそれを追跡するためのシステム テーブルの図を示します。破線はテーブル間の暗黙的なリレーションシップを示し、実線は明示的に定義されたリレーションシップを示しています。

ArcSDE XML column system tables in Informix

XML ドキュメントでの XML 列

XML 列が含まれているテーブルを XML ワークスペース ドキュメントにエクスポートすることはできません。XML レコードセット ドキュメントにエクスポートすることは可能ですが、列を XML として見分ける方法はありません。


3/6/2012