Home    |    Concepts   |   API   |   Samples
Concepts > XML
XML Database Schema

When a user creates an XML column, ArcSDE stores corresponding XML document, index, and tag information in a series of system tables. The business table created by the user contains an integer ID in the XML column. ArcSDE uses this ID to refer to the following system tables:

Database
Schema
Diagram

 

When an XML column is added to a business table, a row is added to the XML columns table. This table occurs once in each ArcSDE database.

Name Data Null? Description
COLUMN_ID SE_INT32_TYPE NOT NULL The XML column's identifier and the table's primary key
This value is assigned by ArcSDE at the time the XML column is created.
REGISTRATION_ID SE_INT32_TYPE NOT NULL The identifier of the business table containing the XML column
A foreign key to the ArcSDE table registry
COLUMN_NAME SE_STRING_TYPE NOT NULL The name of the XML column in the business table
INDEX_ID SE_INT32_TYPE NULL The identifier of the XPath index associated with the XML column, if one exists.
A foreign key to the XML indexes table
MINIMUM_ID SE_INT32_TYPE NULL The value of the initial number used in the business table's XML column to identify individual XML documents
CONFIG_KEYWORD SE_STRING_TYPE NULL The DBTUNE configuration keyword whose parameters determine how the XML document, index tables, and text indexes created on those tables are defined in the database

XFLAGS SE_INT32_TYPE NULL A value indicating if the original documents in the XML document table are stored compressed or uncompressed
By default, documents are compressed. Compressed documents provide better performance.
This table occurs once in each ArcSDE database. It contains one row for each XML column that has an XPath index.

Name Data Null? Description
INDEX_ID SE_INT32_TYPE NOT NULL The identifier of the XPath index

The table’s primary key, also used to reference SE_XML_INDEX_TAGS table

INDEX_NAME SE_STRING_TYPE NOT NULL The name of the XPath index
OWNER SE_STRING_TYPE NOT NULL The database user who owns the XML column

For ArcIMS Metadata Services, this is the user specified in the service’s ArcXML configuration file.

INDEX_TYPE SE_INT32_TYPE NOT NULL A value indicating the type of XPath index

The value will be 2 for the index type SE_XML_INDEX_DEFINITION and 1 for the index type SE_XML_INDEX_TEMPLATE.

For XPath indexes associated with an ArcIMS Metadata Service, only the index type SE_XML_INDEX_DEFINITION is supported.

DESCRIPTION SE_STRING_TYPE NULL Text identifying the XPath index

If an index definition file was used to create the index, the index’s description may be specified at the top of the file

The definition of which elements and attributes are included in or excluded from each XPath index is recorded in this table. This table occurs once in each ArcSDE database. It contains one row for each XPath associated with an XML column’s XPath.

Name Data Null? Description
INDEX_ID SE_INT32_TYPE NOT NULL The identifier of the XPath index associated with an XML column, if one exists, and a foreign key to the XML indexes table
TAG_ID SE_INT32_TYPE NOT NULL The identifier of an XPath or tag
TAG_NAME SE_STRING_TYPE NOT NULL An absolute XPath identifying an XML element or attribute that may occur in an XML document
DATA_TYPE SE_INT32_TYPE NOT NULL Data type of tag
TAG_ALIAS SE_INT32_TYPE NULL A number that may be used to identify an XPath
DESCRIPTION SE_STRING_TYPE NULL Text identifying the content that should be contained in the XML element or attribute
IS_EXCLUDED SE_INT32_TYPE NOT NULL A value indicating if the XML element is included in or excluded from the XPath index

A zero indicates the XPath is included; a one indicates the XPath is excluded.

The ArcSDE database contains one of these tables for each XML column that has an XPath index. The number in the table name is the XML column’s identifier. This table contains one row for each XML element or attribute in each document that is included in the XPath index.

Name Data Null? Description
XML_KEY_COLUMN SE_INT32_TYPE NOT NULL The primary key for the table, Sde_xml_id (SE_INT32_TYPE), and the XML document’s identifier

A foreign key to the XML document table

SDE_XML_ID SE_INT32_TYPE NOT NULL The XML document’s identifier and a foreign key to the XML document table
TAG_ID SE_INT32_TYPE NOT NULL The identifier for the XML element or attribute that is indexed

This number corresponds to the value in the tag_id column in the XML index tags table

DOUBLE_TAG FLOAT NULL For XPaths that are indexed numerically, the number contained in the element or attribute

For ArcIMS Metadata Services, this column is used to respond to TAGVALUE requests.

STRING_TAG SE_NSTRING_TYPE NULL For BTREE indexes
TEXT_TAG CLOB (Oracle)
NTEXT (SqlServer)
NULL For XML elements or attributes that are indexed as string, the text contained in the element or attribute

A text index may optionally be built on this column and this index is used to respond to XPath queries or, for ArcIMS Metadata Services, to respond to TAGTEXT requests.

SDE_TIME_STAMP* SE_INT32_TYPE NOT NULL For SQL Server only
This column contains a time stamp that is used to support incremental updates to the text index.
The ArcSDE database contains one of these tables for each XML column. The number in the table name is the XML column’s identifier. This table contains one row for each XML document stored in the XML column.

Name Data Null? Description
SDE_XML_ID SE_INT32_TYPE NOT NULL The identifier for an XML document stored in the XML column and primary key for the table
DOC_PROPERTY SE_INT32_TYPE NULL A value indicating if any conflicts were found when adding the content of an XML document to the XPath index

One indicates a conflict was found; for example, when an element is supposed to be indexed numerically but the document contains a string in that element instead

A NULL value indicates there were no problems indexing the document

XML_DOC BLOB NOT NULL The actual XML document
XML_DOC_VAL BLOB NULL The content of the entire XML document with all XML tags removed

A text index is built on this column by default; this index is used to respond to full-text queries or, for ArcIMS Metadata Services, to respond to FULLTEXT requests

SDE_TIME_STAMP* SE_INT32_TYPE NOT NULL For SQL Server only
This column contains a time stamp that is used to support incremental updates to the text index
feedback | privacy | legal