7.6 Ограничения ячейки
Ниже указаны ограничения, которые применяются в отношении отдельной ячейки:
- Набор узлов, вводящих ограничения, является набором узлов, который приводится в соответствие с ячейкой. Набор селекторов тэга для ячейки является объединением селекторов тэга для каждого из этих узлов. Выбирается лишь один набор ограничений из каждого такого узла.
- Для определенного узла, если присутствует единичный набор ограничений, тэгированный при помощи любого из селекторов тэга, он выбирается. Для определенного узла, если присутствует множество наборов ограничений, тэгированных при помощи любого из селекторов тэга, возникает ошибка.
НЕОБХОДИМО, чтобы код ошибки xbrlte:tagSelectorClash был сообщен в том случае, если программное обеспечение для обработки сталкивается с ячейкой, которая имеет согласованные узлы с несколькими селекторами тэга, которые сравнивают наборы ограничений согласованного узла для этой ячейки. Для определенного узла с нетэгированным набором ограничений, если отсутствуют наборы ограничений, тэгированные при помощи любого из селекторов тэга, выбирается нетэгированный набор ограничений. Для определенного узла без нетэгированного набора ограничений, если отсутствуют наборы ограничений, тэгированные при помощи любого из селекторов тэга, возникает ошибка.
НЕОБХОДИМО, чтобы код ошибки xbrlte:noMatchingConstraintSet был сообщен в том случае, если программное обеспечение для обработки сталкивается с ячейкой, которая имеет согласованные узлы без совпадающего набора ограничений.
Ограничениями, соответствующими вышеуказанным правилам, являются объединенные ограничения для ячейки. Факт должен быть включен в ячейку лишь в том случае, если все эти ограничения удовлетворены.
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>, описывающих заголовки каждой оси таблицы.
Опциональный атрибут @label элемента <tablemodel:table> используется для присвоения ярлыка каждой таблице.
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.
Реализации МОГУТ предоставлять ряд значений для каждого параметра с целью создания множества таблиц (набор таблиц) или они МОГУТ предоставлять одно значение для каждого параметра с целью создания одной таблицы (это может рассматриваться как «выбор» таблицы из набора таблиц).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |


