Столбцы XML в базе геоданных, хранящейся в Oracle
XML - это открытый стандарт определения элементов данных в документах. Для хранения данных XML в базе данных Oracle, вы можете использовать собственные столбцы XML в Oracle, или столбцы ArcSDE XML.
XML-столбцы в ArcGIS for Desktop
В базы геоданных XML-столбцы поддерживаются не полностью. Поэтому верно следующее:
- Вы не можете выполнять просмотр содержимого XML-столбца таблицы в ArcCatalog. Столбец будет пустым или будет содержать нечитаемые символы.
- В закладке Поля (Fields) диалогового окна Свойства (Properties) для XML-столбца тип данных не отображается.
- Вы не можете копировать и вставить таблицу, содержащую XML-столбец из одной базы геоданных в другую.
- Если вы импортируете или экспортируете таблицу с использованием инструментов геообработки, то XML-столбец необходимо исключить.
- Вы не можете зарегистрировать таблицу с XML-столбцом как версионную с использованием ArcCatalog.
- Если вы откроете таблицу, содержащую XML-столбец в ArcMap, то он будет пустым.
- Для редактирования таблицы с XML-столбцом в ArcMap вы можете использовать неверсионный сеанс редактирования. Однако вы не можете редактировать сам XML-столбец, только другие поля таблицы.
Столбцы XML в СУБД Oracle
Существует два различных типа столбцов XML, которые вы можете использовать: ArcSDE XML или Oracle XML. Какой тип вы будете использовать в наборе данных, создаваемом в базе геоданных, задается параметром XML_COLUMN_STORAGE в таблице DBTUNE. По умолчанию, значением параметра является SDE_XML.
Обратитесь к документации по Oracle для получения более подробной информации об Oracle XML.
Столбцы ArcSDE XML
Документы ArcSDE XML хранятся в базе данных виде объектов Oracle Large Object (LOB). Параметры хранения и кэширования LOB, размеры блоков табличного пространства и конфигурация кэша буфера влияют на скорость получения данных LOB, что в свою очередь влияет на производительность при поиске.
Для ArcSDE XML существует три системные таблицы базы геоданных ArcSDE, используемые для управления XML-столбцами: SDE_XML_COLUMNS, SDE_XML_INDEX_TAGS и SDE_XML_INDEXES. Данные таблицы принадлежат администратору базы геоданных. Существует еще две дополнительные таблицы для каждого XML-столбца, используемые для хранения и индексирования XML-документов: SDE_XML_DOC<COLUMN_ID> и SDE_XML_IDX_<COLUMN_ID>. Данные таблицы принадлежат пользователю, который является владельцем бизнес-таблицы, содержащей XML-столбец.
Следующие таблицы создаются при использовании ArcSDE XML. Эти таблицы используются для хранения и индексирования XML-документа.

Не изменяйте ни одну из указанных таблиц с использованием SQL.
SDE_XML_COLUMNS
При добавлении XML-столбца ArcSDE в бизнес-таблицу в таблицу SDE_XML_COLUMNS добавляется строка. Данная таблица используется один раз для каждой базы данных ArcSDE.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
COLUMN_ID |
NUMBER |
Идентификатор XML-столбца и первичного ключа для таблицы Данное значение присваивается ArcSDE при каждом создании XML-столбца ArcSDE. |
NOT NULL |
REGISTRATION_ID |
NUMBER |
Идентификатор бизнес-таблицы, содержащий XML-столбец ArcSDE и внешний ключ для системной таблицы TABLE_REGISTRY. |
NOT NULL |
COLUMN_NAME |
NVARCHAR2(32) |
Имя XML-столбца ArcSDE в бизнес-таблице. |
NOT NULL |
INDEX_ID |
NUMBER |
Идентификатор индекса XPath, связанный с XML-столбцом ArcSDE (если имеется), и внешний ключ для таблицы SDE_XML_INDEXES. |
|
MINIMUM_ID |
NUMBER |
Значение исходного номера, используемое в XML-столбце ArcSDE бизнес-таблицы, для идентификации отдельных XML-документов. |
|
CONFIG_KEYWORD |
NVARCHAR2(32) |
Ключевое слово конфигурации DBTUNE, для которого параметры определяет способ создания XML-документа, таблиц индекса XML XPath, а также текстовых индексов таблиц в базе данных Для дополнительной информации о ключевых словах DBTUNE и их параметрах см. Что представляют собой ключевые слова конфигурации DBTUNE и их параметры? (What are DBTUNE configuration keywords and parameters?) и Параметры конфигурации DBTUNE в Oracle (DBTUNE configuration parameters in Oracle). |
|
XFLAGS |
NUMBER |
Значение, указывающее на то, как сохранены исходные документы в таблице XML-документе: в сжатом или несжатом виде По умолчанию документы сжимаются; сжатые документы обеспечивают лучшую производительность. |
SDE_XML_INDEXES
Данная таблица используется один раз для каждой базы геоданных. Она содержит одну строку для каждого XML-столбца ArcSDE, имеющего индекс XPath.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
INDEX_ID |
NUMBER |
Идентификатор индекса XPath и первичного ключа для таблицы |
NOT NULL |
INDEX_NAME |
NVARCHAR2(32) |
Имя индекса XPath |
NOT NULL |
OWNER |
NVARCHAR2(32) |
Пользователь базы данных, владеющий XML-столбцом ArcSDE |
NOT NULL |
INDEX_TYPE |
NUMBER |
Значение, указывающее на тип индекса XPath Для ArcSDE версии 9.1 и позднее значение равно 2 для типа индекса SE_XML_INDEX_DEFINITION и 1 для типа индекса SE_XML_INDEX_TEMPLATE. |
NOT NULL |
DESCRIPTION |
NVARCHAR2(64) |
Текст, идентифицирующий индекс XPath Если для создания индекса использовался файл определения индекса, то описание индекса может быть указано в верхней части файла. |
SDE_XML_INDEX_TAGS
XML-столбец ArcSDE может иметь дополнительный индекс XPath, который позволяет вам выполнять поиск содержимого отдельно XML-элемента или атрибута в каждом документе. Определение элементов и атрибутов, которые включены в каждый индекс XPath или исключены из него приведены в данной таблице.
Данная таблица используется один раз для каждой базы геоданных. Она содержит одну строку для каждого XPath, связанного с индексом XPath XML-столбца ArcSDE.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
INDEX_ID |
NUMBER |
Идентификатор индекса XPath, связанный с XML-столбцом ArcSDE (если имеется), и внешний ключ для таблицы SDE_XML_INDEXES. |
NOT NULL |
TAG_ID |
NUMBER |
Идентификатор XPath или тега |
NOT NULL |
TAG_NAME |
NVARCHAR2(1024) |
Абсолютное значение XPath, определяющее XML-элемент или атрибут, содержащийся в XML-документе Например, /metadata/mdDateSt определяют XML-элемент, а /metadata/dataIdInfo/tpCat/TopicCatCd/@value определяют XML-атрибут. Данные XPath не должны содержать символа звездочка (*) для ссылки на группу XML-элементов или атрибутов — каждый элемент определяется точно с использованием XPath, указанных в данной таблице. Элементы не могут иметь имя * в корректном XML-документе. |
NOT NULL |
DATA_TYPE |
NUMBER |
Значение, указывающее на то, имеет ли XML-элемент или атрибут индекс числа, varchar или текста Значение 1 указывает на то, что содержимое тега проиндексировано как тест; значение 2 указывает на то, что содержимое тега проиндексировано как число; значение 3 указывает на то, что содержимое тега проиндексировано как varchar. |
NOT NULL |
TAG_ALIAS |
NUMBER |
Число, которое может быть использовано для идентификации XPath Например, протокол связи Z39.50 использует числовые коды для ссылки на содержимое, по которому может выполнятся поиск. |
|
DESCRIPTION |
NVARCHAR2(64) |
Текст, определяющий содержимое, которое должно содержаться в XML-элементе или атрибуте |
|
IS_EXCLUDED |
NUMBER |
Значение, указывающее на то, включен ли XML-элемент в индекс XPath или исключен из него
|
NOT NULL |
SDE_XML_DOC<COLUMN_ID>
В таблице SDE_XML_DOC<COLUMN_ID> хранится XML-документ и поддерживается полнотекстовый индекс содержимого XML-документа. База геоданных содержит одну из этих таблиц для каждого XML-столбца ArcSDE. Число в имени таблицы является идентификатором XML-столбца ArcSDE. Данная таблица содержит одну строку для каждого XML-документа, сохраненного в XML-столбце ArcSDE.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
SDE_XML_ID |
NUMBER |
Идентификатор XML-документа, хранящегося в XML-столбце ArcSDE и первичного ключа для таблицы |
NOT NULL |
DOC_PROPERTY |
NUMBER |
Значение, указывающее на наличие конфликтов при добавлении содержимого XML-документа в индекс XPath 1 = найден конфликт, например, когда предполагалось, что элемент имеет цифровое индексирование, а документ содержит строку в данном элементе. Значение NULL = при индексации документа проблемы не обнаружены. |
|
XML_DOC |
BLOB |
XML-документ |
NOT NULL |
XML_DOC_VAL |
BLOB |
Содержимое полного XML-документа со всеми XML-тегами и другие пометки удалены По умолчанию на данном столбце построен текстовый индекс; данный индекс используется для ответа на полнотекстовые запросы. |
SDE_XML_IDX<COLUMN_ID>
Таблица SDE_XML_IDX<COLUMN_ID> создается для XML-столбцов ArcSDE и имеет текстовый индекс XPath. В данной таблице хранится текстовое или числовое содержимое для каждого индексированного XPath.
ID в имени таблицы является внутренним регистрационным номером XML-столбца ArcSDE.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
XML_KEY_COLUMN |
NUMBER |
Идентификатор для индексированного значения и первичного ключа для таблицы |
NOT NULL |
SDE_XML_ID |
NUMBER |
Идентификатор XML-документа, содержащего индексированное значение |
NOT NULL |
TAG_ID |
NUMBER |
Идентификатор для тега, связанного с индексом XPath XML-столбца ArcSDE, который определяет место хранения значения в документе. |
NOT NULL |
DOUBLE_TAG |
FLOAT(126) |
Индексированное значение, когда тег определяется как DOUBLE в определении индекса XPath |
|
STRING_TAG |
NVARCHAR2(256) |
Индексированное значение, когда тег определяется как VARCHAR в определении индекса XPath |
|
TEXT_TAG |
CLOB |
Индексированное значение, когда тег определяется как STRING в определении индекса XPath |
Далее приведена схема таблицы с XML-столбцом ArcSDE и системные таблицы, используемые для слежения за ней. Пунктирные линии указывают на неявные отношения; сплошные линии указывают на явные отношения между таблицами.
![]() |
XML-столбцы в XML-документе
Вы не можете выполнить экспорт таблицы, содержащей XML-столбец, в рабочую область XML-документа. Вы можете выполнить его экспорт в документ набора записей XML, но в документе нет ничего, отличающего столбец как XML-столбец.