Столбцы XML в базе геоданных в Informix
XML - это открытый стандарт для определения элементов данных в документах. Чтобы хранить данные в формате XML в базе данных IBM Informix, вы можете использовать столбцы ArcSDE XML.
Чтобы использовать столбцы ArcSDE XML, необходимо установить в базе данных модули Basic Text Search или Excalibur Text Search DataBlade.
XML-столбцы в ArcGIS for Desktop
В базы геоданных XML-столбцы поддерживаются не полностью. Поэтому верно следующее:
- Вы не можете выполнять просмотр содержимого XML-столбца таблицы в ArcCatalog. Столбец будет пустым или будет содержать нечитаемые символы.
- В закладке Поля (Fields) диалогового окна Свойства (Properties) для XML-столбца тип данных не отображается.
- Вы не можете копировать и вставить таблицу, содержащую XML-столбец из одной базы геоданных в другую.
- Если вы импортируете или экспортируете таблицу с использованием инструментов геообработки, то XML-столбец необходимо исключить.
- Вы не можете зарегистрировать таблицу с XML-столбцом как версионную с использованием ArcCatalog.
- Если вы откроете таблицу, содержащую XML-столбец в ArcMap, то он будет пустым.
- Для редактирования таблицы с XML-столбцом в ArcMap вы можете использовать неверсионный сеанс редактирования. Однако вы не можете редактировать сам XML-столбец, только другие поля таблицы.
Столбцы XML в СУБД Informix
В ArcSDE XML, для управления столбцами XML используются три системные таблицы базы геоданных: sde_xml_columns, sde_xml_index_tags и sde_xml_index. Эти таблицы принадлежат администратору ArcSDE. ArcSDE создает также для каждого столбца XML две дополнительные таблицы, используемые для хранения и индексирования XML-документов: sde_xml_doc<column_id> и sde_xml_idx_<column_id>. Эти таблицы принадлежат пользователю - владельцу бизнес-таблицы, содержащей столбец XML.
Следующие таблицы создаются при использовании ArcSDE XML. Эти таблицы используются для хранения и индексирования XML-документа.

Не изменяйте ни одну из указанных таблиц с использованием SQL.
При добавлении XML-столбца ArcSDE в бизнес-таблицу в таблицу SDE_XML_COLUMNS добавляется строка. Данная таблица используется один раз для каждой базы данных ArcSDE.
Имя поля | Тип поля | Описание | Null? |
---|---|---|---|
column_id | серийный | Идентификатор XML-столбца и первичного ключа для таблицы Данное значение присваивается ArcSDE при каждом создании XML-столбца ArcSDE. | NOT NULL |
registration_id | integer | Идентификатор бизнес-таблицы, содержащей столбец XML и внешний ключ системной таблицы table_registry | NOT NULL |
column_name | varchar(32) | Имя XML-столбца ArcSDE в бизнес-таблице. | NOT NULL |
index_id | integer | Идентификатор индекса XPath, связанного со столбцом ArcSDE XML (если есть) и внешним ключом таблицы sde_xml_indexes | |
minimum_id | integer | Значение исходного номера, используемое в XML-столбце ArcSDE бизнес-таблицы, для идентификации отдельных XML-документов. | |
config_keyword | varchar(32) | Ключевое слово конфигурации DBTUNE, для которого параметры определяет способ создания XML-документа, таблиц индекса XML XPath, а также текстовых индексов таблиц в базе данных Для дополнительной информации о ключевых словах DBTUNE и их параметрах см. Что представляют собой ключевые слова конфигурации DBTUNE и их параметры? (What are DBTUNE configuration keywords and parameters?) и Параметры конфигурации DBTUNE в Informix (DBTUNE configuration parameters in Informix.) | |
xflags | integer | Значение, указывающее на то, как сохранены исходные документы в таблице XML-документе: в сжатом или несжатом виде По умолчанию документы сжимаются; сжатые документы обеспечивают лучшую производительность. |
Данная таблица используется один раз для каждой базы геоданных. Она содержит одну строку для каждого XML-столбца ArcSDE, имеющего индекс XPath.
Имя поля | Тип поля | Описание | Null? |
---|---|---|---|
index_id | серийный | Идентификатор индекса XPath и первичного ключа для таблицы | NOT NULL |
index_name | varchar(32) | Имя индекса XPath | NOT NULL |
владелец | varchar(32) | Пользователь базы данных, владеющий XML-столбцом ArcSDE | NOT NULL |
index_type | integer | Значение, указывающее на тип индекса XPath Для ArcSDE версии 9.1 и позднее значение равно 2 для типа индекса SE_XML_INDEX_DEFINITION и 1 для типа индекса SE_XML_INDEX_TEMPLATE. | NOT NULL |
description | varchar(64) | Текст, идентифицирующий индекс XPath Если для создания индекса использовался файл определения индекса, то описание индекса может быть указано в верхней части файла. |
XML-столбец ArcSDE может иметь дополнительный индекс XPath, который позволяет вам выполнять поиск содержимого отдельно XML-элемента или атрибута в каждом документе. Определение элементов и атрибутов, которые включены в каждый индекс XPath или исключены из него приведены в данной таблице.
Данная таблица используется один раз для каждой базы геоданных. Она содержит одну строку для каждого XPath, связанного с индексом XPath XML-столбца ArcSDE.
Имя поля | Тип поля | Описание | Null? |
---|---|---|---|
index_id | integer | Идентификатор индекса XPath, связанного со столбцом XML (если есть) и внешним ключом таблицы sde_xml_indexes. | NOT NULL |
tag_id | серийный | Идентификатор XPath или тега | NOT NULL |
tag_name | nvarchar(255) | Абсолютное значение XPath, определяющее XML-элемент или атрибут, содержащийся в XML-документе Например, /metadata/mdDateSt определяют XML-элемент, а /metadata/dataIdInfo/tpCat/TopicCatCd/@value определяют XML-атрибут. Данные XPath не должны содержать символа звездочка (*) для ссылки на группу XML-элементов или атрибутов — каждый элемент определяется точно с использованием XPath, указанных в данной таблице. Элементы не могут иметь имя * в корректном XML-документе. | NOT NULL |
Тип данных (data_type) | integer | Значение, указывающее на то, имеет ли XML-элемент или атрибут индекс числа, varchar или текста Значение 1 указывает на то, что содержимое тега проиндексировано как тест; значение 2 указывает на то, что содержимое тега проиндексировано как число; значение 3 указывает на то, что содержимое тега проиндексировано как varchar. | NOT NULL |
tag_alias | integer | Число, которое может быть использовано для идентификации XPath Например, протокол связи Z39.50 использует числовые коды для ссылки на содержимое, по которому может выполнятся поиск. | |
description | varchar(64) | Текст, определяющий содержимое, которое должно содержаться в XML-элементе или атрибуте | |
is_excluded | integer | Значение, указывающее на то, включен ли XML-элемент в индекс XPath или исключен из него
| NOT NULL |
В таблице SDE_XML_DOC<COLUMN_ID> хранится XML-документ и поддерживается полнотекстовый индекс содержимого XML-документа. База геоданных содержит одну из этих таблиц для каждого XML-столбца ArcSDE. Число в имени таблицы является идентификатором XML-столбца ArcSDE. Данная таблица содержит одну строку для каждого XML-документа, сохраненного в XML-столбце ArcSDE.
Имя поля | Тип поля | Описание | Null? |
---|---|---|---|
sde_xml_id | integer | Идентификатор XML-документа, хранящегося в XML-столбце ArcSDE и первичного ключа для таблицы | NOT NULL |
doc_property | integer | Значение, указывающее на наличие конфликтов при добавлении содержимого XML-документа в индекс XPath 1 = найден конфликт, например, когда предполагалось, что элемент имеет цифровое индексирование, а документ содержит строку в данном элементе. Значение NULL = при индексации документа проблемы не обнаружены. | |
xml_doc | BLOB | XML-документ | NOT NULL |
xml_doc_val | CLOB | Содержимое полного XML-документа со всеми XML-тегами и другие пометки удалены По умолчанию на данном столбце построен текстовый индекс; данный индекс используется для ответа на полнотекстовые запросы. |
Таблица SDE_XML_IDX<COLUMN_ID> создается для XML-столбцов ArcSDE и имеет текстовый индекс XPath. В данной таблице хранится текстовое или числовое содержимое для каждого индексированного XPath.
ID в имени таблицы является внутренним регистрационным номером XML-столбца ArcSDE.
Имя поля | Тип поля | Описание | Null? |
---|---|---|---|
xml_key_column | серийный | Идентификатор для индексированного значения и первичного ключа для таблицы | NOT NULL |
sde_xml_id | integer | Идентификатор XML-документа, содержащего индексированное значение | NOT NULL |
tag_id | integer | Идентификатор для тега, связанного с индексом XPath XML-столбца ArcSDE, который определяет место хранения значения в документе. | NOT NULL |
double_tag | double precision | Индексированное значение, когда тег определяется как DOUBLE в определении индекса XPath | |
string_tag | nvarchar(255) | Индексированное значение, когда тег определяется как VARCHAR в определении индекса XPath | |
text_tag | CLOB | Индексированное значение, когда тег определяется как STRING в определении индекса XPath |
Далее приведена схема таблицы с XML-столбцом ArcSDE и системные таблицы, используемые для слежения за ней. Пунктирные линии указывают на неявные отношения; сплошные линии указывают на явные отношения между таблицами.

XML-столбцы в XML-документе
Вы не можете выполнить экспорт таблицы, содержащей XML-столбец, в рабочую область XML-документа. Вы можете выполнить его экспорт в документ набора записей XML, но в документе нет ничего, отличающего столбец как XML-столбец.