En esta sección se encuentra el listado detallado de las instrucciones necesarias para crear recursos de la especificación de Tablas 1.0. Los recursos de esta especificación permiten al creador de la taxonomía definir una serie de directrices para la visualización de las vistas del informe. Estas directrices son definidas para guiar a los sujetos obligados por los reguladores a rellenar un informe correctamente.
Solo el software certificado por XBRL Internacional (como el de Reporting Standard) garantiza que estas directrices son aplicadas correctamente.
TABLE
La instrucción TABLE crea un recurso de tipo tabla en una linkbase genérica que permitirá construir un modelo de representación de la información de un informe XBRL de acuerdo con la especificación de tablas 1.0.
La instrucción TABLE tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | No | ID. Identificador del recurso tabla que se va a crear y permitirá que la tabla sea el origen o el destino de relaciones XBRL. | Token |
2 | No | Orden. Indicador del orden en el que aparecerán las columnas de los totales. Los valores posibles son:
| Token |
3 | No | Coordenada de la Tabla de Atributos adicionales. Listado de atributos adicionales que se podrán añadir al recurso table:table que se va a crear. Estos atributos no están definidos en la especificación de tablas | Coordenada |
Ejemplo:
Build: | param1 | param2 | param3 |
TABLE | tabla1 | parent-first |
En este ejemplo se constituye un recurso tabla que será el origen de una tabla en el modelo de representación de formularios.
Las tablas necesariamente se tienen que crear en una linkbase genérica por lo que esta instrucción deberá estar dentro de un bloque BOGENLINK – EOGENLINK que a su vez estarán en una linkbase genérica.
De acuerdo con las especificaciones XBRL y la especificación de tablas es posible crear muchas tablas dentro de un mismo rol. Si dentro de un mismo rol hay varias tablas, las herramientas de Reporting Estándar S.L. permitirán que el usuario seleccione la tabla que desea ver. Sin embargo parece más intuitivo si se define un rol por cada tabla. De esta forma no existirá más de una tabla por rol. Así el usuario no tendrá que seleccionar la tabla que de un conjunto de tablas posibles, sino que se seleccionará la misma tabla cada vez que se cambie el rol. Es por tanto deseable por parte del creador de una taxonomía que defina una tabla por cada rol.
BREAKDOWN
La instrucción BREAKDOWN permite crear un recurso de tipo ‘apertura’ que se usa en la especificación de tablas para definir el contenido de cada uno de los ejes de una tabla. Una tabla pueden tener tres ejes, el X, el Y y el Z. En cada uno de los ejes puede tener una o varias ‘aperturas’ (definiciones) de columnas. Estas se tomarán desde distintos elementos que se añadirán posteriormente. Para más información sobre cómo construir una ‘apertura’ y los tipos de ‘aperturas’ disponibles consultar la especificación de tablas 1.0. Esta instrucción permite definir todos los tipos de aperturas que serán utilizados en las tablas XBRL 1.0.
La instrucción BREAKDOWN tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | No | ID. Identificador del recurso que contendrá el breakdown y permitirá crear relaciones en las que el breakdown será el origen o el destino de la relación. | Token |
2 | No | Orden. Indicador del orden en el que aparecerán las columnas de los totales, tras la resolución de los nodos de definición a estructura. Los valores posibles son:
| Token |
3 | No | Coordenada de la Tabla de Atributos adicionales. Listado de atributos adicionales que se podrán añadir al recurso table:table que se va a crear. Estos atributos no están definidos en la especificación de tablas | Coordenada |
Ejemplo:
Build: | param1 | param2 | param3 |
BREAKDOWN | breakdown1 | children-first |
En este ejemplo se crea un recurso de tipo breakdown o ‘apertura’ que deberá ser enlazado con una tabla usando una instrucción TABLEBREAKDOWNARC.
TABLEBREAKDOWNARC
La instrucción TABLEBREAKDOWNARC permite relacionar una tabla con una apertura en uno de los tres ejes disponibles en las tablas (X,Y o Z)
La instrucción TABLEBREAKDOWNARC tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | No | No usado, reservado para futuros usos. | – |
2 | Si | ID del elemento origen de la relación. Debe ser un recurso de tipo tabla. | Token |
3 | Si | ID del elemento destino de la relación. Debe ser un recurso de tipo apertura de una tabla (breakdown) | Token |
4 | Si | Orden de la relación. Es un número que permite ordenar las relaciones como se mezclarán los breakdowns que existan para un mismo eje en una tabla. | Número |
5 | Si | Eje. Una letra que indica el eje al que pertenece la apertura. Puede ser ‘x’, ‘y’ o ‘z’ que son los 3 ejes disponibles en la especificación de tablas 1.0 | Letra |
Ejemplo:
Build: | param1 | param2 | param3 | param4 | param5 |
TABLEBREAKDOWNARC | table1 | breakdownX | 1 | x |
En este ejemplo se posiciona la apertura breakdownX como la primera apertura en el eje X de la tabla que se define como recurso tabla1.
Según la especificación de tablas es posible establecer más de una apertura en el mismo eje. Esto produce que ambas aperturas se “expandan” tal cual está definido en la especificación de tablas.
TABLEFILTERARC
La instrucción TABLEFILTERARC permite relacionar una tabla con un filtro definido usando la especificación de fórmulas XBRL 1.0. El generador de taxonomías XBRL dispone de instrucciones para definir todos y cada uno de los filtros posibles en la especificación de dimensiones. Pese a esto, dado que es un material muy extenso y que su uso es poco común el detalle de cada una de las instrucciones no se ha incluido aún en esta documentación. Consulte con Reporting Estándar por correo electrónico y le ayudaremos a definir el filtro que necesite.
La instrucción TABLEFILTERARC tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | No | No usado, reservado para futuros usos. | – |
2 | Si | ID del elemento origen de la relación. Debe ser un recurso de tipo tabla. | Token |
3 | Si | ID del elemento destino de la relación. Debe ser un recurso de tipo filtro. | Token |
4 | Si | Atributo “complement”. Si es “true” indica que se tomará el conjunto complementario del filtro (es decir, los elementos que no cumplen el filtro). En caso de ser “false” tan solo se tomarán los elementos que cumplan el filtro | Booleano |
Ejemplo:
Build: | param1 | param2 | param3 | param4 |
TABLEFILTERARC | table1 | filter1 | false |
Los filtros permiten limitar los conceptos que son susceptibles de ser utilizados en una tabla. Para más información consultar las especificaciones de tablas 1.0 y variables 1.0 (parte de la especificación de fórmulas 1.0) donde se especifican los filtros disponibles.
TABLEPARAMETERARC
La instrucción TABLEPARAMETERARC permite relacionar un parámetro con una tabla, lo cual puede resutar en la definición de varias tablas tal y como se indica en la especificación de tablas 1.0. Los parámetros se definen con la instrucción PARAMETER.
La instrucción TABLEPARAMETERARC tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | No | No usado, reservado para futuros usos. | – |
2 | Si | ID del elemento origen de la relación. Debe ser un recurso de tipo tabla. | Token |
3 | Si | ID del elemento destino de la relación. Debe ser un recurso de tipo parámetro. | Token |
4 | Si | Orden de la relación. Permite establecer el orden de evaluación de los parámetros | Número |
5 | Si | Prefijo. El prefijo debe resolverse a una URI que esté definida anteriormente. Si se omite el prefijo se podrá usar solo el nombre local. Este argumento y el siguiente forman un QName compuesto de prefijo y nombre local | NCName |
6 | Si | Nombre del parámetro. Esta es la parte local del nombre de la variable. Si el anterior parámetro no esta definido será el nombre de la variable. Tenga en cuenta las restricciones de XPath en cuanto a los nombres de variables | NCName |
Ejemplo:
Build: | param1 | param2 | param3 | param4 | param5 | param6 |
TABLEPARAMETERARC | table1 | parameterX | 1 | x | parameter |
En este ejemplo se está definiendo un parámetro que se puede referenciar en expresiones XPath usando $x:parameter. Notese que el nombre de la variable es un QName que tiene prefijo ‘x’ y nombre local ‘parameter’. El prefijo ‘x’ tiene que estar definido previamente en un esquema XML o en una declaración NAMEDEF.
RULENODE
La instrucción RULENODE sirve para crear un recurso de tipo “rule node” tal cual está definido en la especificación de tablas XBRL 1.0. Estos recursos son uno de los 4 tipos de recursos disponibles en la especificación para definir el contenido de las ‘aperturas’ o breakdowns. Es decir, estos recursos se usan para definir el contenido de cada uno de los ejes de una tabla. Para más información respecto de los recursos rule node consultar la especificación de tablas XBRL 1.0
La instrucción RULENODE tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | Si | Identificador del rule node. Permite crear relaciones en las que el rule node sea el origen o el destino de la relación. | Token |
2 | No | Tag selector. El valor de este campo será el valor que se establezca en el atributo tagSelector del elemento rule node. | Token |
3 | No | Orden de la relación. Indicador del orden en el que aparecerán las columnas de los totales, tras la resolución de los nodos de definición a estructura. Los valores posibles son “parent-first” o “children-first“. El valor por defecto es parent-first | Token |
4 | No | Atributo abstract del rule node. El valor por defecto “false“. | Booleano |
5 | No | Atributo merge del rule node. Indica si aporta (“true“) o no aporta (“false“) restricciones a sus nodos hijo. El valor por defecto es false. | Booleano |
6 | No | Coordenada de la tabla de elementos de tipo ruleset y aspects. Esta tabla servirá para definir elementos de tipo ruleset y elementos de tipo aspects que se asociarán a este rule node. El formato de esta tabla se explica a continuación. | Coordenada Excel |
Ejemplo:
Build: | param1 | param2 | param3 | param4 | param5 | param6 |
RULENODE | rn1 | rn2 | children-first | false | false | DTS!H50 |
Formato de la tabla de elementos de tipo ruleset y aspects
Tipo | ||
aspects | Aspect1ID,Aspect2ID,Aspect3ID | |
ruleset | tag | Aspect1ID,Aspect2ID,Aspect3ID |
end |
La primera columna indica el tipo de contenido del rule node. El tipo de contenido puede ser “aspects” cuando se asociarán varios aspectos o “ruleset”. La tabla debe terminar con un “end” en esta columna y puede tener tantas filas de tipo aspects y/o ruleset como se desee. En el caso de filas de cada tipo:
- Aspects: En la siguiente columna hay que poner los identificadores de instrucciones de tipo “*ASPECT” que se utilizarán en este rule node. Un mismo RuleNode puede tener varios ID de aspectos separados por comas.
- RuleSet: En la siguiente columna se indica el valor de la propiedad tag. A continuación los aspectos referenciados igual que en el caso de filas de tipo aspects.
CONCEPTRELATIONSHIPNODE
La instrucción CONCEPTRELATIONSHIPNODE sirve para crear recursos de tipo “concept relationship node” tal cual está definido en la especificación de tablas XBRL 1.0. Estos recursos son uno de los 4 tipos de recursos disponibles en la especificación para definir el contenido de las ‘aperturas’ o breakdowns. Es decir, estos recursos se usan para definir el contenido de cada uno de los ejes de una tabla. Para más información respecto de los recursos rule node consultar la especificación de tablas XBRL 1.0
La instrucción CONCEPTRELATIONSHIPNODE tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | Si | Identificador del concept relationship node. Permite crear relaciones en las que el concept relationship node sea el origen o el destino de la relación. | Token |
2 | No | Tag selector. El valor de este campo será el valor que se establezca en el atributo tagSelector del elemento. | Token |
3 | No | Orden de la relación. Indicador del orden en el que aparecerán las columnas de los totales, tras la resolución de los nodos de definición a estructura. Los valores posibles son “parent-first” o “children-first“. El valor por defecto es parent-first | Token |
4 | No | Indicador del concepto de origen que se usará en el nodo. Este valor puede ser:
| Token |
5 | Sí (si se ha definido valor para el parámetro 4) | Localizador del concepto origen que se usará en el nodo. El valor de este parámetro se interpreta en función del valor del parámetro 4 | Coordenada o texto |
6 | No | Indicador del rol se usará en el nodo. Puede ser:
Si no existe, se asume que el valor del parámetro 7 es “http://www.xbrl.org/2003/role/link”. | Token |
7 | Sí (si se ha definido valor para el parámetro 6) | Rol. El valor de este parámetro se interpreta en función del valor del parámetro 6. | Texto |
8 | No | Indicador del atributo formulaAxis. Puede ser:
Si no existe, se asume que el valor del parámetro 9 es “descendant-or-self”. | Token |
9 | Sí (si se ha definido valor para el parámetro 8) | Valor del atributo formulaAxis. El valor de este parámetro se interpreta en función del valor del parámetro 8 | Texto |
10 | No | Indicador del atributo generations. Este valor puede ser:
Si no existe se asume el valor por defecto que se desprende de la especificación de tablas (el valor por defecto depende del parámetro 9). | Token |
11 | Sí (si se ha definido valor para el parámetro 10) | Valor del atributo generations. El valor de este parámetro se interpreta en función del valor del parámetro 10 | Texto |
12 | No | Indicador del arco de rol. Este valor puede ser:
Si no existe, se asume que el valor del parámetro 13 es “http://www.xbrl.org/2003/arcrole/parent-child”. | Token |
13 | Sí (si se ha definido valor para el parámetro 12) | Arco de rol. El valor de este parámetro se interpreta en función del valor del parámetro 12. | Texto |
14 | No | Indicador del enlace extendido del contenedor de las relaciones. Puede ser:
Si no existe, se asume que el valor del parámetro 15 es “link:presentationLink”. | Token |
15 | Sí (si se ha definido valor para el parámetro 14) | Valor del enlace extendido del contenedor de las relaciones. El valor de este parámetro se interpreta en función del valor del parámetro 14. | Texto |
16 | No | Indicador de las relaciones a atravesar. Este valor puede ser:
Si no existe, se asume que el valor del parámetro 17 es “link:presentationArc”. | Token |
17 | Sí (si se ha definido valor para el parámetro 17) | Nombre de las relaciones a atravesar. El valor de este parámetro se interpreta en función del valor del parámetro 17 | Texto |
Ejemplo:
Build: | param1 | param2 | param3 | param4 | param5 | param6 |
CONCEPTRELATIONSHIPNODE | cn1 | http://www.tx.org/role/210000 |
Este ejemplo crearía un árbol de nodos utilizando los nodos raíz y la estructura de presentación que está documentada en el rol del parámetro 6.
Formato de la tabla cuando el parametro 4 es “table”
Tipo | |
Qname | Conceptos!D2 |
XPath | QName(“http://www.tx.org/2020-01-01”,”assets”) |
end |
El valor Conceptos!D2 de la tabla indica que en esa celda existe un prefijo y en la celda a la derecha existe el nombre local de un QName. Este Qname será un concepto a utilizar en esta instrucción como origen de las relaciones.
La tabla tiene que terminar en la marca especial “end” en la primera columna.
DIMENSIONRELATIONSHIPNODE
La instrucción DIMENSIONRELATIONSHIPNODE sirve para crear recursos de tipo “dimension relationship node” tal cual está definido en la especificación de tablas XBRL 1.0. Estos recursos son uno de los 4 tipos de recursos disponibles en la especificación para definir el contenido de las ‘aperturas’ o breakdowns. Es decir, estos recursos se usan para definir el contenido de cada uno de los ejes de una tabla. Para más información respecto de los recursos rule node consultar la especificación de tablas XBRL 1.0
La instrucción DIMENSIONRELATIONSHIPNODE tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | Si | Identificador del dimension relationship node. Permite crear relaciones en las que el dimension relationship node sea el origen o el destino de la relación. | Token |
2 | No | Tag selector. El valor de este campo será el valor que se establezca en el atributo tagSelector del elemento. | Token |
3 | No | Orden de la relación. Indicador del orden en el que aparecerán las columnas de los totales, tras la resolución de los nodos de definición a estructura. Los valores posibles son “parent-first” o “children-first“. El valor por defecto es parent-first | Token |
4 | No | Indicador del concepto de origen que se usará en el nodo. Este valor puede ser:
| Token |
5 | Sí (si se ha definido valor para el parámetro 4) | Localizador del concepto origen que se usará en el nodo. El valor de este parámetro se interpreta en función del valor del parámetro 4 | Coordenada o texto |
6 | No | Indicador del rol se usará en el nodo. Puede ser:
Si no existe, se asume que el valor del parámetro 7 es “http://www.xbrl.org/2003/role/link”. | Token |
7 | Sí (si se ha definido valor para el parámetro 6) | Rol. El valor de este parámetro se interpreta en función del valor del parámetro 6. | Texto |
8 | No | Indicador del atributo formulaAxis. Puede ser:
Si no existe, se asume que el valor del parámetro 9 es “descendant-or-self”. | Token |
9 | Sí (si se ha definido valor para el parámetro 8) | Valor del atributo formulaAxis. El valor de este parámetro se interpreta en función del valor del parámetro 8 | Texto |
10 | No | Indicador del atributo generations. Este valor puede ser:
Si no existe se asume el valor por defecto que se desprende de la especificación de tablas (el valor por defecto depende del parámetro 9). | Token |
11 | Sí (si se ha definido valor para el parámetro 10) | Valor del atributo generations. El valor de este parámetro se interpreta en función del valor del parámetro 10 | Texto |
12 | Sí | Prefijo del Qname. Que dará valor al elemento “dimension” | Texto |
13 | Sí | Nombre del Qname. Que dará valor al elemento “dimension” | Texto |
Ejemplo:
Build: | param1 | param2 | … | … | param12 | param13 |
DIMENSIONRELATIONSHIPNODE | dr1 | tx | claseDePatrimonioEje |
Para más información respecto de los parámetros 1 a 11 consultar la tabla de parámetros de la instrucción CONCEPTRELATIONSHIPNODE.
ASPECTNODE
La instrucción ASPECTNODE sirve para crear recursos de tipo “aspect node” tal cual está definido en la especificación de tablas XBRL 1.0. Estos recursos son uno de los 4 tipos de recursos disponibles en la especificación para definir el contenido de las ‘aperturas’ o breakdowns. Es decir, estos recursos se usan para definir el contenido de cada uno de los ejes de una tabla. Para más información respecto de los recursos rule node consultar la especificación de tablas XBRL 1.0
La instrucción ASPECTNODE tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | Si | Identificador del aspect node. Permite crear relaciones en las que el rule node sea el origen o el destino de la relación. | Token |
2 | No | Tag selector. El valor de este campo será el valor que se establezca en el atributo tagSelector del elemento rule node. | Token |
3 | Sí | Aspecto a considerar por el aspect node. El tipo de aspecto se identifica mediante una letra que puede ser:
| Token |
4 | No (excepto cuando el aspecto es tipo ‘d’) | Prefijo del Qname. Que identifica la dimension. | Texto |
5 | No (excepto cuando el aspecto es tipo ‘d’) | Nombre del Qname. Que identifica la dimensión. | Texto |
6 | No (excepto cuando el aspecto es tipo ‘d’) | Valor del atributo includeUnreportedValue. Este atributo indica si la para los “facts” sin valor para este aspecto se debe dar el valor “no value”. | Booleano |
Ejemplo:
Build: | param1 | param2 | param3 | param4 | param5 | param6 |
ASPECTNODE | an1 | D | tx | claseDePatrimonioEje | false |
BREAKDOWNTREEARC
La instrucción BREAKDOWNTREEARC permite establecer una relación entre una apertura en un eje y los nodos que definen las filas, columnas o aspectos tal y como se indica en la especificación de tablas 1.0.
La instrucción BREAKDOWNTREEARC tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | No | No usado, reservado para futuros usos. | – |
2 | Si | ID del elemento origen de la relación. Debe ser un recurso de tipo BREAKDOWN. | Token |
3 | Si | ID del elemento destino de la relación. Debe ser un RULE NODE, ASPECT NODE, DIMENSION RELATIONSHIP NODE o CONCEPT RELATIONSHIP NODE. | Token |
4 | Si | Orden de la relación. Es un número que permite ordenar las relaciones como se mezclarán los breakdowns que existan para un mismo eje en una tabla. El valor por defecto es 1 | Número |
Ejemplo:
Build: | param1 | param2 | param3 | param4 |
BREAKDOWNTREEARC | br1 | an1 | 1 |
SUBTREEARC
La instrucción SUBTREEARC permite establecer una relación entre un nodo que forma parte de un breakdown y otro nodo que forma parte del breakdown en un nivel inferior. Los nodos definen las filas, columnas o aspectos tal y como se indica en la especificación de tablas 1.0.
La instrucción SUBTREEARC tiene los siguientes parámetros:
Número | Requerido | Contenido | Tipo |
1 | No | No usado, reservado para futuros usos. | – |
2 | Si | ID del elemento origen de la relación. Debe ser un RULE NODE, ASPECT NODE, DIMENSION RELATIONSHIP NODE o CONCEPT RELATIONSHIP NODE. | Token |
3 | Si | ID del elemento destino de la relación. Debe ser un RULE NODE, ASPECT NODE, DIMENSION RELATIONSHIP NODE o CONCEPT RELATIONSHIP NODE. | Token |
4 | Si | Orden de la relación. Es un número que permite ordenar las relaciones como se mezclarán los breakdowns que existan para un mismo eje en una tabla. El valor por defecto es 1 | Número |
Ejemplo:
Build: | param1 | param2 | param3 | param4 |
SUBTREEARC | rn1 | rn2 | 1 |