Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

8 Сериализация

Настоящая спецификация определяет каноническую сериализацию XML модели расположения. Синтаксис определяется нормативной схемой, предоставленной вместе с настоящей спецификацией (см. A.2).

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

Сериализация модели расположения применяется комплектом соответствия для сравнения расположения, выведенного при помощи инструментов реализации настоящей спецификации, с расположением, ожидаемым в результате применения совместимого процессора.

8.1 Наборы таблиц

Каждый набор таблиц представлен элементом <tablemodel:tableSet> в качестве дочернего элемента корневого элемента <tablemodel:tableModel>. Модель расположения, прошедшая сериализацию, может содержать любое количество наборов таблиц.

Набор таблиц может быть опционально ассоциирован со списком ярлыков, который применяется ко всем таблицам в наборе (эти ярлыки являются ярлыками, прилагаемыми к первоначальной таблице в модели определения). Они представлены нулем или несколькими элементами <tablemodel:label>. Порядок ярлыков задается отношениями, связывающими их с первоначальной таблице в модели определения.

Каждый набор таблиц должен иметь, как минимум, один дочерний элемент <tablemodel:table>.

8.2 Таблицы

Таблица представлена элементом <tablemodel:table>.

Элемент <tablemodel:table> должен иметь в качестве своих дочерних элементов:

НЕ нашли? Не то? Что вы ищете?
    один элемент <tablemodel:cells>, описывающий контенты ячеек таблицы один или несколько элементов <tablemodel:headers>, описывающих заголовки каждой оси таблицы.

8.3 Заголовки оси

Заголовки для оси объявляются элементом <tablemodel:headers>.

Необходимый атрибут @axis указывает, с какой из трех определенных осей ассоциирован элемент <tablemodel:headers>. Допустимыми значениями этого атрибута являются x, y и z. Лишь один элемент <tablemodel:headers> может быть ассоциирован с каждой осью для конкретной таблицы.

Отдельные заголовки оси представлены элементами <tablemodel:header>: один заголовок для каждой строки (или столбца) ячеек заголовка для одной оси. Они вложены в элемент <tablemodel:group>, который содержит элементы заголовка на основании разбивки, посредством которой они были введены. Эти элементы группы и заголовка расположены в порядке извне таблицы (т. е. с наиболее удаленных от ячеек данных) вовнутрь. Каждый элемент <tablemodel:group> содержит последовательность из нуля или нескольких <tablemodel:label> элементов, соответствующих ярлыкам для разбивки, которую представляет группа, после которой следует последовательность из нуля или нескольких элементов <tablemodel:header>.

Элемент <tablemodel:header> содержит последовательность элементов <tablemodel:cell>. Каждый элемент <tablemodel:cell> содержит последовательность элементов <tablemodel:label> и последовательность элементов <tablemodel:constraint>.

Каждый элемент <tablemodel:constraint> описывает ограничение в виде пары аспект-значение.

Каждый элемент <tablemodel:label> описывает ярлык, ассоциированный с единичной ячейкой заголовка. Они расположены в соответствии с естественным направлением упорядоченного расположения в представленной таблице.

Атрибут @source элемента ярлыка указывает на происхождение ярлыка. Если ярлык не был явно ассоциирован с узлом определения, НЕОБХОДИМО, чтобы значение атрибута было отлично от «explicit».

Распространение множественных строк или столбцов в таблице указывается в документе при помощи опционального атрибута @span элемента <tablemodel:cell>. Значение этого атрибута является положительным целым числом, указывающим количество столбцов таблицы, на которые распространяется ячейка заголовка. Если атрибут не указан, принимается значение распространения 1. Общее количество столбцов, на которые распространяются все ярлыки каждой строки заголовка для заданной оси, является одинаковым.

Сворачиваемые узлы указываются при помощи опционального атрибута @rollup со значением true.

8.4 Ячейки таблицы

Каждая ячейка представлена единичным элементом <tablemodel:cell>.

Элементы <tablemodel:cell> организованы во вложенные элементы <tablemodel:cells>.

Каждый элемент <tablemodel:cells> представляет секцию измерения данных. Количество измерений, вовлеченных в секцию, обусловлено уровнем вложения.

Серия элементов <tablemodel:cell> содержится в элементе <tablemodel:cells>, который представляет одну размерную последовательность ячеек по одной оси, указанную при помощи атрибута @axis содержащего элемента <tablemodel:cells>. Положение каждой ячейки по указанной оси определяется его положением в содержащем элементе <tablemodel:cells>.

Наиболее вложенные элементы <tablemodel:cells> могут содержаться в другом элементе <tablemodel:cells>, который представляет секцию ячеек с двумя измерениями по другой оси. Они, в свою очередь, могут быть вложены в единичный элемент <tablemodel:cells>, представляя секцию с тремя измерениями (из которых присутствует лишь одно).

Таким образом, каждый уровень вложения относится к более конкретной части данных. Положение дочернего элемента C в рамках элемента P <tablemodel:cells> со значением атрибута @axis A определяет положение по оси A всех ячеек, которые являются потомками C (или самого C).

Элемент <tablemodel:cells> содержит последовательность элементов <tablemodel:cell> или последовательность вложенных элементов <tablemodel:cells>. Каждый элемент <tablemodel:cells> должен указывать (при помощи необходимого атрибута @axis) ось, по которой организованы его содержащиеся секции или ячейки.

Значение атрибута @axis элемента <tablemodel:cells> должно быть одной из трех осей, определенных настоящей спецификацией: x, y и z. Все элементы одного уровня должны иметь одинаковое значение атрибута @axis. Элементы никогда не должны иметь то же значение атрибута @axis, что и один из их прародителей.

Контент элемента <tablemodel:cell> описывает контент единичной ячейки данных. Он состоит из последовательности нуля или нескольких элементов <tablemodel:fact>. Каждый из них содержит URI факта, который находится в ячейке. URI состоит из местоположения отчетного документа с XPointer к факту в документе.

9 Модель обработки

9.1 Компиляция

Компиляция является процессом синтаксического анализа базы ссылок таблицы и создания модели определения.

9.2 Разрешение

Разрешение является процессом создания структурной модели из модели определения.

Процесс разрешения имеет доступный DTS, но не источник фактов (например, отчет) – следовательно, в ходе этого процесса создается структурная модель, которая является полезной как для ввода, так и для представления данных.

9.2.1 Разрешение набора таблиц

Единичное определение таблицы может определить множество таблиц в наборе таблиц в рамках структурной модели, в соответствии со значениями, которые могут принимать его параметры, как указано в Разделе 5.3.

Реализации МОГУТ предоставлять ряд значений для каждого параметра с целью создания множества таблиц (набор таблиц) или они МОГУТ предоставлять одно значение для каждого параметра с целью создания одной таблицы (это может рассматриваться как «выбор» таблицы из набора таблиц).

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

9.2.2 Разрешение таблицы

Здесь описан общий процесс разрешения определения таблицы в структуру таблицы. Отдельные описания типов узла определения описывают способ их внесения в структурную модель.

Каждая разбивка в модели определения разрешается в разбивку в структурной модели, в соответствии с правилами разрешения каждого узла в определении разбивки.

Полученное дерево структурных узлов основано на дереве узлов определения. Каждый узел в модели определения разрешается в один структурный узел, дерево структурных узлов или список структурных узлов.

9.2.3 Разрешение узла определения

Для узла определения D, который разрешается в единичный структурный узел S или структурных узел S с дочерним сворачиваемым узломR:

    Родителем S является структурный узел, в который разрешается родитель D. Дочерними узлами S является сворачиваемый узел R и разрешенные дочерние узлы D.

Для узла определения D, который разрешается в дерево структурных узлов (структурный узел S является корнем этого дерева):

    Родителем S является структурный узел, в который разрешается родитель D. Если D не имеет родителя, S не имеет родителя. Некорневые структурные узлы в результате организовываются в соответствии с описанием узла определения, указанным в спецификации.

Для узла определения D, который существует для группирования других узлов определения и внесения общий свойств в свои дочерние узлы:

    Родителем разрешенных дочерних элементов S1..Sn является структурный узел, в который разрешается родитель D. Если D не имеет родителя, S1..Sn не имеют родителя.

Несмотря на представление ряда значений аспекта, и, в конечном счете, ряда столбцов или строк в представленном выходном результате, открытые узлы определения разрешаются в один открытый структурный узел, так как они зависят от источника фактов (как правило, отчета). Полученный открытый структурный узел представляет часть таблицы, которая является динамической.

9.2.4 Балансирование по высоте

Балансирование по высоте выполняется для того, чтобы между узлами одного уровня разбивки существовало однозначное соответствие (и однозначное выравнивание ячеек заголовка в окончательном представлении).

Это особенно важно при проецировании множественных разбивок на ось.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16