En esta sección se encuentra el listado detallado de todas las instrucciones básicas del DTS Definition Language. Puede encontrar información sobre el resto de instrucciones en Listado de Instrucciones Bajo Nivel del DTS Definition Language.

END

La instrucción END indica el final del proceso de generación de la taxonomía. Normalmente esta será la última instrucción de la hoja de instrucciones.

La instrucción END finaliza la fase 3 del proceso de generación del DTS. Esta instrucción no tiene parámetros

Puede insertar la instrucción END utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo General y pulse sobre el botón End

Figura 8, Excel XBRL Taxonomy Language – Instrucción END

VERSION

La instrucción VERSION tiene los siguientes parámetros:

Número

Requerido

Contenido

Tipo

1

El número de versión.

El valor “1” implica que se siguen las convenciones indicadas en la versión 1.

El valor “2” implica que se siguen las convenciones indicadas en la versión 2.

Número

Ejemplo:

Instruction:

param1:

VERSION

2

El valor por defecto para la versión si no se indica lo contrario es 1.

Este documento pondrá de manifiesto los casos en que la generación de la taxonomía pueda producir resultados distintos dependiendo de si la versión utilizada es la versión 1 o la versión 2.

Otros valores que no sean 1 o 2 pueden ocasionar resultados impredecibles y no deseados.

Se espera que todas las hojas de Excel sigan una única versión, por esta razón no se espera encontrar múltiples ocurrencias de la instrucción VERSION en un juego de instrucciones de definición del DTS. El caso habitual es tener exclusivamente una instrucción VERSION al principio del juego de instrucciones de definición del DTS.

Puede insertar la instrucción VERSION utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo General y pulse sobre el botón Version

Figura 9, Excel XBRL Taxonomy Language – Instrucción VERSION

La ventana de parámetros es la siguiente:

Figura 10, Excel XBRL Taxonomy Language – Parámetros de instrucción VERSION

Parámetro 1

BOT

BOT son las siglas para Beginning Of Taxonomy, lo que quiere decir Principio De Taxonomía. Esta instrucción indica la creación de una nueva taxonomía en el DTS. La instrucción BOT esta emparejada con la instrucción EOT (Fin De Taxonomía, mirar EOT más abajo) que indica el fin de la taxonomía. De esta forma las instrucciones incluidas dentro de un bloque definido por las instrucciones BOT y EOT definen el contenido del esquema de la taxonomía.

Es un error incluir una segunda instrucción BOT sin haber cerrado previamente el bloque con su correspondiente instrucción EOT. Por lo tanto las instrucciones BOT no pueden ser anidadas.

La instrucción BOT tiene los siguientes parámetros:

Número

Requerido

Contenido

Tipo

1

No

Espacio de nombres objetivo del esquema de la taxonomía. Este parámetro solo es requerido si la taxonomía define nuevos elementos.

URN (URL,URI)

o

Coordenada

2

No

Prefijo del Espacio de nombres.

Cadena

3

Nombre del fichero de la Taxonomía)

URL

4

No

Comentarios XML que se incluirán al principio del esquema generado

Texto

5

No

Contenido del atributo xml:base en el nodo raíz

URL

Ejemplo:

Instruction:

param1:

param2:

param3:

BOT

http://www.example.com/2008/taxonomy

ex

ex-2008-07-15.xsd

Puede insertar la instrucción BOT utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo Taxonomy y pulse sobre el botón New Taxonomy

Figura 11, Excel XBRL Taxonomy Language – Instrucción BOT

La ventana de parámetros es la siguiente:

Figura 12, Excel XBRL Taxonomy Language – Parámetros de instrucción BOT

Parámetro 5

Parámetro 1

Parámetro 3

Parámetro 2

Parámetro 4

BOL

BOL son las siglas para Beginning Of Linkbase, lo que quiere decir Principio De Linkbase. Esta instrucción indica la creación de un nuevo linkbase. La instrucción BOT está emparejada con la instrucción EOL (Fin De Linkbase, mirar EOL más abajo). De esta forma las instrucciones incluidas dentro de un bloque definido por las instrucciones BOL y EOL definen el contenido para el linkbase.

Si la instrucción BOL está anidada dentro de un bloque de instrucciones BOT y EOT, y contiene un parámetro URI, entonces el linkbase será referenciado por la taxonomía que la envuelve usando un elemento link:linkbaseRef .

Si la instrucción BOL está anidada dentro de un bloque de instrucciones BOT y EOT, y no contiene un parámetro URI, entonces el linkbase será embebido dentro de la taxonomía padre.

Si la instrucción BOL está definida fuera de un bloque de instrucciones BOT y EOT entonces debe tener obligatoriamente el parámetro URI y el linkbase podrá ser referenciado en la taxonomía usando la instrucción REF (mirar la instrucción REF más adelante).

Es un error incluir una segunda instrucción BOL sin haber cerrado previamente el bloque con su correspondiente instrucción EOL. Por lo tanto las instrucciones BOL no pueden ser anidadas.

La instrucción BOL tiene los siguientes parámetros:

Número

Requerido

Contenido

Tipo

3

No

Nombre del fichero Linkbase (relativo al directorio del fichero Excel)

URL

4

No

Comentarios XML que se incluirán al principio del fichero de linkbase generado

Texto

Ejemplo:

Build:

param1

param2

param3

param4

BOL

ej-2008-07-15-label.xml

© example company…

Puede insertar la instrucción BOL utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo Linkbases pulse sobre el botón New Linkbase

Figura 13, Excel XBRL Taxonomy Language – Instrucción BOL

La ventana de parámetros es la siguiente:

Figura 14, Excel XBRL Taxonomy Language – Parámetros de instrucción BOL

Parámetro 3

Parámetro 4

LOAD

La instrucción LOAD se ejecuta durante la fase 2 y realiza la carga de esquemas y taxonomías relevantes, por lo que esta instrucción no produce ninguna salida durante la fase 3 (fase de generación del DTS). La instrucción LOAD asegura que la hoja de Excel puede ser usada para producir una extensión de una taxonomía existente.

Una vez que la instrucción LOAD es ejecutada en la fase 2 todas la definiciones de conceptos, etiquetas, metadatos, hipercubos y recursos definidos en la taxonomía cargada son incorporados al modelo de información del DTS. Esto significa que una referencia a un concepto creada usando el prefijo de la taxonomía y el nombre de un elemento de una taxonomía cargada no requiere nada más para ser usado en un linkbase de presentación o de cálculo definido en el modelo de información de la hoja Excel. Observará que muchas de las instrucciones de este manual usan referencias a conceptos, y particularmente en linkbases de presentación se usarán referencias a etiquetas y conceptos.

La instrucción LOAD tiene los siguientes parámetros:

Número

Requerido

Contenido

Tipo

3

Punto de entrada (relativo al directorio de Excel) del DTS a cargar. Puede ser un linkbase, una taxonomía o un documento instancia.

URL

Ejemplo:

Build:

param1

param2

param3

LOAD

ifrs/ifrs-gp-2006-08-15.xsd

En el ejemplo anterior se carga la taxonomía IFRS 2006 desde una carpeta llamada ifrs.

Puede insertar la instrucción LOAD utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo General y pulse sobre el botón Load

Figura 15,Excel XBRL Taxonomy Language – Instrucción LOAD

La ventana de parámetros es la siguiente:

Figura 16,Excel XBRL Taxonomy Language – Parámetros de instrucción LOAD

Botonones configurables con enlaces a recursos

Parámetro 3

Acceso a la configuración de botones

NAME2QNAME

La instrucción NAME2QNAME define una tabla donde una simple cadena de texto se asigna a un QName (Qualified Name). Un QName consiste en el emparejamiento de una URI de espacio de nombres y un nombre local. Por ejemplo, un usuario de negocios encontrará más sencillo decir que el tipo de un elemento es “string” cuando, de hecho, durante el proceso de generación de la taxonomía, el tipo requerido es xbrli:stringItemType, siendo xbrli el prefijo que corresponde a la URI de espacio de nombres http://www.xbrl.org/2003/instance.

La instrucción NAME2QNAME tiene los siguientes parámetros:

Número

Requerido

Contenido

Tipo

3

Coordenada de hoja donde se encuentra la tabla de correspondencias entre nombres y QNames.

Coordenada

Ejemplo:

Build:

param1

param2

param3

NAME2QNAME

ConfigurationOptions!B4

Puede insertar la instrucción NAME2QNAME utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo Other pulse sobre el botón Name to Qname table

Figura 17, Excel XBRL Taxonomy Language – Instrucción NAME2QNAME

La ventana de parámetros es la siguiente:

Figura 18,Excel XBRL Taxonomy Language – Parámetros de instrucción NAME2QNAME

Parámetro 3

Creación de las cabaceras de la tabla de Qnames

La tabla de correspondencias debe tener el siguiente formato:

Name

Prefix

LocalName

monetary

xbrli

monetaryItemType

string

xbrli

stringItemType

domain

nonnum

domainItemType

Explicit dimension

xbrldt

dimensionItem

Typed dimension

xbrldt

dimensionItem

Default member

xbrli

item

Member

xbrli

item

La celda marcada en verde oliva es donde el parámetro 3 de la instrucción NAME2QNAME debe apuntar. Las cabeceras de las tablas no se usan.

La primera columna contiene el nombre que servirá de clave asignada al QName. Instrucciones posteriores podrán usar esta cadena de texto para referirse al QName.

La segunda columna contiene el prefijo que debe ser resuelto en un espacio de nombres. Utilice la instrucción NAMEDEF antes de instrucción NAME2QNAME si quiere crear QNames que no se refieran a cualquiera de los esquemas creados o ya cargados en la taxonomía.

La tercera columna contiene el nombre local. Esta es la tercera parte requerida en la definición de un QName.

Puede crear las cabeceras de la Tabla de Qnames utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo Configuration y pulse sobre el botón Table Headers y elija la opción Name QName

Figura 19,Excel XBRL Taxonomy Language – Instrucción Insertar Tabla NameQName

CONCEPTS

La instrucción CONCEPTS especifica, en el esquema que contiene la instrucción, un conjunto de definiciones de concepto (items o tuplas) y definición de elementos XML. La instrucción CONCEPTS debe estar siempre anidada dentro de un bloque de instrucciones BOT y EOT.

La instrucción CONCEPTS tiene los siguientes parámetros:

Número

Requerido

Contenido

Tipo

4

Coordenada de la celda donde comienza la tabla de conceptos. La tabla de conceptos tiene una estructura fija de columnas. Esta coordenada debe ser la esquina superior izquierda de la tabla (considerando que no se tiene en cuenta la cabecera y que se debe omitir). La estructura de la tabla de conceptos se define más abajo.

Coordenada

 

Puede insertar la instrucción CONCEPTS utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo Taxonomy y pulse sobre el botón Concepts

Figura 20,Excel XBRL Taxonomy Language – Instrucción Concepts

La ventana de parámetros es la siguiente:

Figura 21,Excel XBRL Taxonomy Language – Parámetros de instrucción Concepts

Parámetro 4

Bajo la versión 1: La tabla de conceptos debe tener la siguiente estructura:

prefix

name

id

type

sg

balance

period

abstract

nillable

ej

Concept

ej_Concept

xbrli:monetaryItemType

xbrli:item

 debit

instant

false

True

end

Bajo la versión 2: La tabla de conceptos debe tener la siguiente estructura:

prefix

name

id

type

sg

balance

period

abstract

nillable

Attribute

ej

Con

ej_Co

xbrli:monetaryItemType

xbrli:item

 debit

instant

false

True

Sheet!A3

end

Puede crear las cabeceras de la Tabla de Conceptos utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo Configuration y pulse sobre el botón Table Headers y elija la opción Concepts

Figura 22, Excel XBRL Taxonomy Language – Instrucción Insertar Tabla de Conceptos

El contenido de cada una de las columnas se explica más abajo.

La celda marcada en color verde oliva es la celda apuntada por el contenido del parámetro 4.

Aunque nos estamos refiriendo a las columnas por el nombre de las mismas, las cabeceras de las tablas no son relevantes para TaxonomyBuilder y no son usadas, lo que sí es importante es el orden en el cual están definidas las columnas. Este orden esta señalado en las tablas para las diferentes versiones (versión 1 y versión 2) mostrado con anterioridad.

Prefix: Esta columna debe rellenarse siempre y debe ser igual al prefijo de la taxonomía definido en le instrucción BOT salvo para la última fila de la tabla que debe tener la expresión end. Esta expresión es reconocida como el final de la tabla de conceptos, y ningún otro concepto más será añadido a la taxonomía por debajo de la fila que contenga la expresión end en la columna de prefijo.

Name: Este es el nuevo nombre del concepto, esto es, la etiqueta para el nombre del elemento

Id: el identificador del concepto o elemento. Por norma general será la concatenación del prefijo más un carácter de subrayado más el nombre del concepto. No es un error si una definición de elemento XML no contiene un Id, pero una definición de concepto sin un Id no podrá tener relaciones.

Type: Este es el tipo del concepto definido como un QName usando el patrón prefix:typeName para definiciones de elementos de tipo simple (elementos XBRL y Conceptos XML) o bien es definido como una Coordenada de hoja para tipos complejos (Tuplas XBRL y Conceptos XML). El tipo también puedes ser un simple typeName sin necesidad de que tenga prefijo. El token typeName debe existir como una entrada en la tabla de Qnames. Revise la documentación en referencia a la instrucción NAME2QNAME para obtener más detalles.

Todos los tipos XBRL son permitidos al igual que los tipos globales que también los son. Usar tipos propios puede requerir definirlos primero en un esquema propio y añadir necesariamente la instrucción IMPORT en algún lugar de la hoja de instrucciones de generación del DTS. Dado que los esquemas importados son cargados durante la segunda fase los tipos de datos definidos estarán disponibles durante la ejecución de la instrucción CONCEPTS. En cualquier caso, una instrucción IMPORT es necesaria en la definición del esquema de cualquier taxonomía que defina conceptos que usen tipos de datos propios.

Sg: Este es el grupo de sustitución de los conceptos. Para conceptos XBRL debe ser o bien xbrli:item o bien xbrli:tuple. Para elementos usados como contenido de recursos en un linkbase de recursos este debe ser link:part y para elementos XML planos este puede ser cualquier definición de concepto que ya exista, o incluso esta columna podría dejarse en blanco si el grupo de sustitución no es necesario.

Balance: Para definiciones de conceptos XBRL esta columna se puede dejar en blanco o puede contener las cadenas de texto “debit” o “credit”.

Period: Para definiciones de ítems de conceptos XBRL esta columna debe contener la cadena “instant” o la cadena “duration”. Para cualquier otra definición de elemento esta columna puede dejarse en blanco.

Abstract: Este es el valor del atributo abstracto (Abstract) en la definición de elementos. Son valores válidos las cadenas “false”, “true” o ningún valor en la celda. Si no existe ningún valor, el elemento no tendrá el atributo abstracto y seremos notificados mediante un mensaje de aviso.

Nillable: Este es el valor del atributo Nillable en la definición de elementos. Son valores válidos las cadenas “false”, “true” o ningún valor de celda. Si no existe ningún valor, el elemento no tendrá el atributo Nillable y seremos notificados mediante un mensaje de aviso.

Attributes: Esta es la coordenada a la Tabla de Atributos que el nuevo concepto contendrá una vez que se ha generado.

La Tabla de Atributos debe tener la siguiente estructura:

Prefix

Attribute name

data type

value

info

creationID

string

200912210001

end

Puede crear las cabeceras de la Tabla de Atributos utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo Configuration y pulse sobre el botón Table Headers y elija la opción Attributes

Figura 23, Excel XBRL Taxonomy Language – Instrucción Insertar Tabla de Atributos

Cada concepto puede tener un número diferente de atributos.

El contenido de cada columna en la tabla se explica a continuación:

Prefix: Este es el atributo prefijo. El prefijo debe ser un prefijo existente asociado o bien con un esquema de taxonomía o bien con un espacio de nombres (Consulte la instrucción NAMEDEF y la instrucción BOT)

Attribute name: Es el nombre local del atributo.

Data type: Este es el tipo de dato del atributo. Tipos de dato válidos son: QName, Date, String y Number. Cualquier otro tipo de dato será considerado como cadena y se generará un aviso.

Value: Este es el valor del atributo. El usuario es libre de usar fórmulas Excel para generar el valor de la celda.

Creando Tuplas XBRL

Las tuplas requieren dos cosas: la definición del concepto en la Tabla de Conceptos y el tipo de datos de la tupla que normalmente es una definición de tipos de datos complejos. TaxonomyBuilder soporta la definición de tipos de datos complejos locales en Excel.

El enlace entre la definición de conceptos y la definición de tipos complejos se realiza en la tabla de conceptos, especificando una coordenada en la columna tipo. La coordenada debe apuntar a la celda superior derecha de la tabla (sin tener en cuenta la cabecera). En el siguiente ejemplo está la celda que contiene la cadena “sequence” en la columna Composition.

El modelo de Contenido de definiciones de tupla se documenta en la siguiente tabla con la estructura:

Composition

prefix

name

minOccurs

maxOccurs

sequence

1

1

element

ifrs-gp

DescriptionOfReclassification

1

1

element

ifrs-gp

NatureOfReclassification

1

1

element

ifrs-gp

ReasonForReclassification

1

1

choice

1

unbounded

element

Ej

ElementoReclasificado

1

unbounded

element

Ej

ElementoNoReclasificado

1

unbounded

Siendo el contenido de cada una de las columnas:

Composition: Esta columna contiene los tokens y el estilo de sangrado para especificar la estructura del contenido de tipo complejo.

Tokens: Los tokens que admite esta columna son “sequence”, “choice”, “all” (para elementos en la raíz de la jerarquía) y “element” (para nodos anidados dentro de un nodo padre).

Style: La herramienta reconoce automáticamente el nivel de sangrado de una celda con el fin de obtener los elementos que pertenecen al elemento padre. En el ejemplo anterior la fila número 2 es el nodo raíz, las cuatro filas siguientes son hijas del primer elemento “sequence” y las dos últimas filas son a su vez hijas del elemento “choice”. Es válido incrementar o decrementar el nivel de sangrado de acuerdo a las necesidades del modelado. La posición de la fila (posición relativa) es también respetada en la creación del modelo de contenido.

Prefix: Este es el prefijo del concepto cuando la composición (Composition) es un token del tipo “element”. El prefijo debe ser seleccionado de entre alguno de los prefijos que ya están definidos en el DTS.

Name: Este es el nombre del concepto cuando el token es del tipo “element”. El nombre debe ser seleccionado de entre alguno de los que ya están definidos en el DTS.

Cuando una tupla contiene otra tupla, la tupla contenida (tupla hija) debe ser definida antes de que sea referenciada por la tupla contenedora (tupla padre). La única excepción a esta regla se da cuando una tupla contiene una auto referencia, referencia a si misma como contenido. Esto es también válido para la definición del modelo de contenido y se permite por la herramienta.

minOccurs: Es un número natural que indica el número mínimo de ocurrencias que el elemento puede aparecer anidado en su elemento padre.

maxOccurs: Es un número natural que indica el número máximo de ocurrencias que el elemento puede aparecer anidado en su elemento padre, también puede utilizarse la cadena literal “unbounded” para indicar que no hay un numero máximo de ocurrencias.

Puede crear las cabeceras de la Tabla de Tupla utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo Configuration y pulse sobre el botón Table Headers y elija la opción Tuple

Figura 24,Excel XBRL Taxonomy Language – Instrucción Insertar Tabla de Tupla

NAMEDEF

Esta instrucción define un nuevo espacio de nombres y de prefijos para su uso posterior.

Si la instrucción NAMEDEF está encapsulada dentro de un bloque BOL EOL, el nuevo espacio de nombres creado será añadido al fichero linkbase que se esta construyendo y estará disponible para su uso posterior por parte de los elementos de ese linkbase.

Si la instrucción NAMEDEF está encapsulada dentro de un bloque BOT EOT, el nuevo espacio de nombres creado será añadido al fichero de la taxonomía que se esta construyendo y estará disponible para la creación de atributos por parte de los nuevos conceptos definidos en la taxonomía.

Si la instrucción NAMEDEF no está encapsulada dentro de un bloque BOT EOT o dentro de un bloque BOL EOL, entonces la definición del espacio de nombres en global y estará disponible en todos los ficheros creados dentro del Modelo de Información. Si el espacio de nombres es usado muy frecuentemente dentro de un fichero sería más recomendable utilizar espacios de nombres definidos a nivel de bloque. Espacios de nombre globales puedes producir declaraciones de espacios de nombre muy farragosas para los elementos debido a que cada vez que el espacio de nombre es usado se declara también a nivel del elemento.

La instrucción NAMEDEF tiene los siguientes parámetros:

Número

Requerido

Contenido

Tipo

1

URI del espacio de nombres.

URI

2

Prefijo del espacio de nombres.

Token

Ejemplo:

Instruction

param1

param2

NAMEDEF