Se publica el borrador de trabajo público de restricciones de tabla


Publicado el 25 de mayo de 2024 por Editor

La especificación Table Constraints se publicó esta semana como un borrador de trabajo público. Este conjunto de extensiones especializadas del estándar xBRL-CSV promete mejorar materialmente las comprobaciones de validación manteniendo la compatibilidad con versiones anteriores.

La especificación recientemente publicada introduce instrucciones de validación adicionales que se integran perfectamente en los archivos de metadatos xBRL-CSV. Estas instrucciones mejorarán la capacidad de los procesadores para validar archivos CSV de manera eficiente antes de cargar una taxonomía XBRL y construir un informe de Modelo de información abierta (OIM). En particular, la especificación está diseñada para permitir la transmisión y la paralelización, lo que permite que la mayoría de las comprobaciones se realicen utilizando memoria constante en una sola fila a la vez. Sin embargo, también permite a los procesadores la flexibilidad de cargar archivos CSV completos en la memoria o transferirlos a un almacenamiento persistente si es necesario.

Este borrador de especificación respalda el Modelo de Información Abierto (OIM) y se alinea con los objetivos más amplios de XBRL International para proporcionar un modelo independiente de sintaxis para datos XBRL. OIM facilita la transformación confiable de datos XBRL en varias representaciones, mejorando su utilidad y accesibilidad en diferentes plataformas y casos de uso.

La publicación de la especificación Table Constraints marca una mayor evolución del estándar xBRL-CSV y fue creada en respuesta a los requisitos regulatorios y de la industria para acelerar la validación a medida que una mayor granularidad comienza a convertirse en una realidad, especialmente en los informes bancarios y de seguros. Al ofrecer nuevas formas de acelerar las capacidades de validación, su objetivo es agilizar el proceso de trabajo con datos XBRL, haciéndolos más accesibles y fáciles de gestionar para los usuarios de todo el mundo.

XBRL International invita a las partes interesadas y a las partes interesadas a revisar el borrador de trabajo público y brindar comentarios para ayudar a refinar y finalizar la especificación.

Para obtener más detalles y acceder al borrador, consulte aquí.

Contracciones de la tabla DE ESPECIFICACIONES OIM xBRL-CSV


Definiciones

Códigos de error

1. Resumen

Las restricciones de tabla xBRL-CSV son un conjunto de extensiones compatibles con versiones anteriores de xBRL-CSV que permiten comprobaciones de validación básicas, pero extremadamente eficientes.

2. Introducción

Esta especificación define una serie de instrucciones de validación adicionales que se encuentran dentro de los archivos de metadatos xBRL-CSV , lo que respalda la validación eficiente de los archivos CSV antes de cargar una taxonomía XBRL y la construcción de un modelo de informe OIM.

Esta especificación no estipula un modelo de procesamiento. El diseño está destinado a permitir la transmisión y la paralelización. La mayoría de las comprobaciones se pueden realizar utilizando memoria constante, operando en una sola fila a la vez. Sin embargo, los procesadores siguen siendo libres de cargar archivos CSV completos en la memoria o transferirlos a un almacenamiento persistente, si esto es conveniente para implementar las comprobaciones descritas aquí o para operaciones posteriores.

2.1 Convenciones de documentación

2.1.1 Códigos de error

Los QNames en texto rojo entre paréntesis después de una declaración «DEBE» o «NO DEBE» prescriben códigos de error estandarizados que se utilizarán si se viola la condición anterior. Las declaraciones «DEBE» o «NO DEBE» que no tienen un código de error prescrito no se pueden hacer cumplir automáticamente y los procesadores no están obligados a detectar infracciones.

2.2 Espacios de nombres y prefijos de espacios de nombres

Los prefijos utilizados en esta especificación deben interpretarse de acuerdo con la siguiente tabla:

3. Validación

Esta especificación define tres tipos de validación y dos tipos de procesador.

La validación se divide en las siguientes categorías:

Un validador de restricciones de tabla es un procesador que toma un informe xBRL-CSV como entrada y aplica las restricciones definidas en esta especificación.

Al encontrar un documento con el tipo de documento xBRL-CSV, un validador de restricciones de tabla DEBE realizar la validación de metadatos y la validación de informes, generando tcecódigos de error según corresponda.

Algunos metadatos de restricciones de tabla se superponen con la información presente en la taxonomía y es importante que esta información sea coherente.

Un linter de restricción de tabla es un procesador que verifica la coherencia de los metadatos de restricción de tabla con la taxonomía.

Cuando se le indica que verifique un documento con el tipo de documento xBRL-CSV, un linter de restricción de tabla DEBE generar errores con los tclcódigos de error especificados si el documento no cumple con las verificaciones de linting de metadatos definidas en esta especificación.

3.1 estructura JSON

Las instrucciones de restricción de tablas están integradas en archivos de metadatos xBRL-CSV y están sujetas a las mismas restricciones de sintaxis JSON básicas (xbrlce:invalidJSON).

Algunas restricciones estructurales son específicas de esta especificación (tce:invalidJSONStructure):

  • las propiedades de restricción de tabla marcadas como «obligatorias» DEBEN estar presentes dondequiera que esté presente el objeto circundante; y
  • Los objetos definidos por esta especificación no permiten propiedades adicionales.

Se esperan propiedades de restricción de tabla en ubicaciones específicas dentro de los metadatos xBRL-CSV. Si una propiedad aparece en una ubicación distinta a la prescrita para ella, se DEBE plantear tce:misplacedProperty .

3.2 Roles de columna

La especificación xBRL-CSV define explícitamente tres funciones para una columna:

Esta especificación utiliza las siguientes definiciones adicionales:

3.3 Definiciones de parámetros

Los parámetros esperados se pueden documentar colocando una tc:parameterspropiedad en las propiedades adicionales de un objeto de plantilla de tabla.

El valor de la tc:parameterspropiedad es un objeto de parámetros.

Las claves de un objeto de parámetros DEBEN ser identificadores (xbrlce:invalidIdentifier).

Cada valor es un objeto de restricción de valor.

Un parámetro que se ha definido mediante este mecanismo se conoce como parámetro definido.

3.4 Restricciones de valor de

Se pueden aplicar restricciones a todos los valores de una columna xBRL-CSV colocando una tc:constraintspropiedad en las propiedades adicionales de un objeto de columna.

El valor de la tc:constraintspropiedad es un objeto de restricción de valor.

3.5 Restricciones de valor

Un objeto de restricción de valor especifica restricciones en los valores de una columna o parámetro. Tiene las siguientes propiedades:

type(cadena)

(opcional) Identifica un esquema XML o un tipo XBRL-CSV que los valores DEBEN satisfacer.

dimension(cadena)

(opcional) Identifica la dimensión de destino, si la hay, para este valor.

optional(booleano)

(opcional) Controla si SE PUEDE omitir un valor. El valor predeterminado es false.

nillable(booleano)

(opcional) Controla si se permiten valores nulos. El valor predeterminado es true.

allowedValues

(opcional) Una lista de cadenas que especifican los valores permitidos.

allowedPatterns

(opcional) Una lista de patrones que restringen los valores permitidos.

timeZone(booleano)

(opcional) Controla si los valores de fecha incluyen un componente de zona horaria.

periodType(cadena)

(opcional) Restricción de tipo adicional para valores de tipoperiod

durationType(cadena)

(opcional) Restricción de tipo adicional para valores de tipoxs:duration

La columna restringida o el parámetro definido asociado con un objeto de restricción de valor se conoce como sujeto de restricción.

3.5.1 Validación de tipo

Todas las dimensiones principales, excepto noteIdPUEDEN especificarse en tablas de datos y metadatos xBRL-CSV. Esta dimensión se conoce en esta especificación como dimensión central xBRL-CSV y se identifica mediante una de las siguientes cadenas: conceptentityperiodunitlanguage.

Si typese especifica, su valor DEBE identificar (tce:invalidTypeConstraint):

Si typeno se especifica, dimensionDEBE especificarse y DEBE identificar una dimensión central xBRL-CSV (tce:invalidTypeConstraint). En este caso, typeel valor predeterminado es dimension.

Todos los valores para el sujeto de la restricción DEBEN ser válidos contra Type (tce:invalidValue).

En el caso de un tipo de esquema XML, la validación la prescribe esa especificación.

En el caso de una dimensión central xBRL-CSV , las representaciones permitidas están definidas por xBRL-CSV.

3.5.2 Identificación de dimensiones

El dimensioncampo PUEDE usarse para especificar una dimensión a la que se dirige una columna de dimensión o un parámetro definido.

Si dimensión está ausente, el asunto de la restricción DEBE ser una columna de hechos.

Si dimensión está presente, el asunto de la restricción NO DEBE ser una columna de hechos (tce:invalidColumnRole).

Si el sujeto de la restricción es un parámetro definido, dimensión DEBE estar presente excepto en el caso en que typetenga el valor decimals (tce:invalidColumnRole).

Si dimensionidentifica una dimensión central xBRL-CSV, typeDEBE dejarse sin especificar (tce:invalidTypeConstraint); por defecto tendrá el valor de dimension, como se indicó anteriormente.

Si dimensión está presente, todas las referencias de parámetros en grupos de propiedades y columnas de hechos que apuntan al sujeto de la restricción DEBEN estar vinculadas a dimensión (tce:illegalDimension).

3.5.3 Valores requeridos

Si optionalse establece en false, los valores para el sujeto de la restricción NO DEBEN estar ausentes (tce:missingValue):

  • para un parámetro definido, el parámetro DEBE especificarse a nivel de tabla o informe;
  • para una columna restringida, el valor DEBE especificarse para cada fila en cada tabla para la plantilla de tabla.

3.5.4 Valores anulables

Si nillablese establece en false, los valores para el sujeto de la restricción NO DEBEN ser #nilel valor JSON null (tce:invalidValue).

3.5.5 Valores permitidos

Si allowedValuesse especifica, cada elemento de la lista DEBE cumplir con Type (tce:illegalAllowedValue), y cada valor para el sujeto de restricción DEBE coincidir con uno de allowedValues( tce:invalidValue ).

Cuando typees un tipo de esquema XML, la igualdad se determina de acuerdo con las reglas del esquema XML y allowedValuesse comporta de manera equivalente a <xs:enumeration>.

Cuando typese trata de una dimensión central de xBRL-CSV, la igualdad se determina como se define en OIM 5.1.

3.5.6 Patrones permitidos

Si allowedPatternsse especifica, los valores para el sujeto de la restricción DEBEN ajustarse a al menos uno de los patrones (tce:invalidValue).

Para cada patrón, la coincidencia se realiza según el esquema XML, como si el patrón estuviera especificado en formato <xs:pattern>.

3.5.7 Zona horaria

Los siguientes tipos de esquemas XML permiten opcionalmente un componente de zona horaria; cada uno de estos se conoce en esta especificación como tipo de esquema con zona horaria opcional: xs:date, xs:time, xs:dateTime, xs:gYearMonth, xs:gMonthDay, xs:gDay.

Si timeZonese especifica la propiedad, typeDEBE ser periodun tipo de esquema con zona horaria opcional (tce:unknownTimeZone).

Si timeZonese establece en true, todos los valores para el sujeto de la restricción DEBEN tener un componente de zona horaria ( tce:missingTimeZone ).

Si timeZonese establece en false, los valores NO DEBEN tener un componente de zona horaria ( tce:unexpectedTimeZone ).

Si timeZoneestá ausente, la presencia o ausencia de un componente de zona horaria no tiene restricciones.

3.5.8 Tipo de período

Si periodTypese especifica la propiedad, typeDEBE ser period (tce:illegalPeriodType).

La periodTypepropiedad toma uno de los siguientes valores (tce:unknownPeriodType), con implicaciones destacadas para la validación del valor del sujeto de restricción (tce:invalidPeriodType):

  • year, half, quarter, week, month,day
    • estos valores corresponden a los formatos de período abreviados definidos en xBRL-CSV:
      • p.ej 2024, 2024H1, 2024Q2, 2024W29, 2024-06,2024-06-01
    • cuando periodTypecoincide con una de estas cadenas, DEBE usarse su forma abreviada para los valores sujetos de restricción .
  • instant
    • en este caso, DEBE usarse una representación xBRL-CSV válida para un período instantáneo
    • Se permiten formas abreviadas con sufijos.
      • p.ej 2024W29@start,2024Q2@end
  • un xs:durationvalor
    • en este caso, el intervalo de tiempo del período DEBE coincidir con la duración especificada
      • por ejemplo, P9Mpermitiría2024-01-01.2024-09-30

3.5.9 Tipo de duración

Si durationTypese especifica la propiedad, typeDEBE ser xs:duration( tce:illegalDurationType).

La durationTypepropiedad toma uno de los siguientes valores ( tce:unknownDurationType), con implicaciones destacadas para la validación del valor del sujeto de restricción (tce:invalidDurationType ):

  • yearMonth
  • dayTime

3.5.10 Eliminación de restricciones de valor

El tipo asociado con un sujeto de restricción en la taxonomía se conoce como tipo de taxonomía asociada.

Si se especifican dimensiony , el tema de la restricción apunta a una dimensión definida por taxonomía y el tipo de taxonomía asociado es el tipo de dimensión.type

Si dimensionno se especifica y typese especifica, el asunto de la restricción es una columna de hecho restringida y el tipo de taxonomía asociada es el tipo de datos del hecho .

Cuando un sujeto de restricción tiene un tipo de taxonomía asociado , DEBE ser igual o derivado de type( tcl:typeMismatch ).

Además, cada valor allowedValues(si está presente) DEBE ser válido según el tipo de taxonomía asociado ( tcl:invalidAllowedValue ).

3.6 Teclas

Se pueden aplicar restricciones en varias filas colocando una tc:keyspropiedad en las propiedades adicionales de un objeto de plantilla de tabla .

El valor de la tc:keyspropiedad es un objeto de claves . Tiene las siguientes propiedades:

primary

(opcional) un objeto de clave principal

unique

(opcional) una lista de objetos clave únicos

reference

(opcional) una lista de objetos clave de referencia

DEBE especificarse al menos una propiedad (tce:missingKeyProperty).

Cada uno de los objetos clave tiene una namepropiedad sujeta a las siguientes restricciones:

  • Los nombres DEBEN ser identificadores (xbrlce:invalidIdentifier).
  • Los nombres DEBEN ser únicos entre las claves definidas en el mismo objeto de claves (tce:duplicateKeyName).

3.6.1 primario

Un objeto de clave principal establece el índice único principal de una tabla.

Tiene las siguientes propiedades:

name(cadena)

(opcional) El valor predeterminado esprimary

fields

(obligatorio) Lista de cadenas que identifican columnas o parámetros

sortedColumns(booleano)

(opcional) Especifica si las columnas están ordenadas. El valor predeterminado es true.

sortedRows(booleano)

(opcional) Especifica si las filas están ordenadas. El valor predeterminado es true.

dimensional(booleano)

(opcional) Especifica si los campos de la clave corresponden a las dimensiones de OIM. El valor predeterminado es true.

3.6.1.1 Campos de clave principal

Cada entrada en la fieldslista DEBE corresponder a una columna restringida o un parámetro definido en la plantilla de tabla actual (tce:illegalPrimaryKeyField).

Cada entrada en la fieldslista DEBE tener optionalconfigurada en false (tce:invalidPrimaryKeyField).

3.6.1.2 Aplicación de clave primaria

El subconjunto ordenado fields que corresponde a las columnas se conoce como columnas de clave primaria .

El subconjunto ordenado fields que corresponde a los parámetros se conoce como parámetros de clave principal.

Las columnas de contenido en la plantilla de tabla que no se encuentran entre las columnas de clave principal se conocen como columnas sin clave.

Los validadores de restricciones de tabla DEBEN generar tce:primaryKeyViolation si se usa la misma combinación de valores para los campos de clave principal para más de una fila, de acuerdo con cada campo type(usando la semántica de igualdad del esquema XML), en todas las tablas para la plantilla de tabla.

3.6.1.3 Orden de columnas

Si sortedColumns se establece en verdadero, las columnas DEBEN ordenarse de la siguiente manera (tce:invalidColumnOrder):

3.6.1.4 Clasificación de filas

Cuando sortedRows se establece en true, la aplicación de la clave principal se puede optimizar verificando que cada tabla de la plantilla de tabla esté ordenada por clave principal y que no haya dos tablas para la plantilla de tabla que tengan la misma combinación de valores para los parámetros de clave principal (o si la tienen). , los rangos de las columnas de clave principal están separados, de modo que estas tablas podrían combinarse mediante concatenación en una sola tabla ordenada por clave principal).

Una tabla está ordenada por clave principal si sus filas están ordenadas en orden ascendente de acuerdo con las reglas descritas en esta sección.

Para establecer el orden de las filas, los valores de las columnas de clave principal se comparan a su vez:

  • si el valor en la fila actual es menor que el valor correspondiente en la fila anterior, se genera tce:primaryKeyViolation
  • si el valor en la fila actual es mayor que el valor correspondiente en la fila anterior, la validación continúa en la siguiente fila
  • si los valores son iguales, el empate se resuelve comparando la siguiente columna en la secuencia de columnas de clave principal, y así sucesivamente de forma recursiva.
  • si los valores son iguales en todas las columnas de la lista de columnas de clave principal, se genera tce:primaryKeyViolation

Los valores se comparan según su type:

  • un valor nulo (#nilo JSON null) se considera igual a otro valor nulo y menor que cualquier valor que no sea nulo
  • para los tipos derivados de xs:decimal, xs:float, xs:double, xs:boolean, xs:base64Binaryy xs:hex64Binary, los valores se comparan de una manera equivalente a las expresiones XPath 3.1 $cur lt $prevy $cur eq $prev, donde $cures el valor de la fila actual y $preves el valor de la fila anterior
  • para los tipos derivados de xs:string, xs:QNamey xs:anyURI, los valores se normalizan con espacios en blanco y se comparan léxicamente según sus puntos de código Unicode
    • esto es equivalente a la expresión XPath 3.1 fn:compare($cur, $prev, «http://www.w3.org/2005/xpath-functions/collation/codepoint»)donde $cury$prevson las representaciones de cadenas normalizadas con espacios en blanco de los valores de las filas actual y anterior, respectivamente.
  • Para tipos de esquema con zona horaria opcional, se supone que los valores sin un componente de zona horaria tienen una zona horaria UTC ( Z) y se comparan como se describe en Operadores de comparación de valores de duración, fecha y hora.
  • para valores derivados de xs:duration:
    • si ambos valores coinciden con el patrón ‘[^DT]*’, o ambos coinciden con el patrón, ‘[^YM]*[DT].*’se comparan según dos subtipos de duración totalmente ordenados
    • De lo contrario, se genera un error ( tce:incomparableDurations )
  • para valores de tipo period, la comparación se realiza según la semántica de la dimensión central del período :
    • si los valores del período representan instantes, se comparan de acuerdo con las reglas paraxs:dateTime
    • Si los valores del período representan duraciones y sus intervalos de tiempo tienen la misma duración, sus fechas de inicio se comparan de acuerdo con las reglas paraxs:dateTime
    • de lo contrario, se genera un error ( tce:incomparablePeriods )

Para evitar la posibilidad de tce:incomparableDurationserrores , se recomienda a tce:incomparablePeriodslos autores de plantillas que apliquen restricciones timeZoney .periodTypedurationType

3.6.1.5 Tablas de dimensiones

Si dimensionalse establece en true, DEBEN cumplirse las siguientes condiciones (tce:invalidDimensionalTable):

3.6.2 unique

Un objeto clave único establece un índice único auxiliar para una tabla.

Tiene las siguientes propiedades:

name(cadena)

(obligatorio) un nombre para la clave

columns

(obligatorio) lista de cadenas

nameDEBE ser un identificador (xbrlce:invalidIdentifier).

Cada miembro de columns DEBE ser una columna restringida (tce:invalidUniqueKeyColumn ).

Mientras que la clave principal se utiliza normalmente para dimensiones que califican todos los hechos de una tabla y puede incluir dimensiones especificadas mediante parámetros, las claves únicas normalmente implican columnas de hechos y no se pueden aplicar a los parámetros. Otra diferencia es que todos los campos de una clave principal son obligatorios, mientras que las claves únicas pueden incluir columnas opcionales.

Los procesadores DEBEN generar tce:uniqueKeyViolation si se usa la misma combinación de valores para las columnas de clave única para más de una fila, según typela semántica de igualdad de cada campo (usando el esquema XML), en todas las tablas para la plantilla de tabla. A efectos de esta comprobación, dos valores ausentes se consideran iguales entre sí.

3.6.3 reference

Una clave de referencia compara los valores de una columna (o combinación de columnas) con un índice correspondiente a otra clave.

Es común que las referencias se apliquen entre tablas (de ahí el término de base de datos «clave externa»), pero las claves de referencia también pueden hacer referencia a un índice definido dentro de la misma plantilla de tabla (una «clave externa autorreferencial»).

Una clave de referencia se define utilizando un objeto de clave de referencia. Tiene las siguientes propiedades:

name(cadena)

(obligatorio) un nombre para la clave

columns

(obligatorio) una lista de cadenas que identifican columnas en la plantilla de tabla actual.

keyRef

(obligatorio) un objeto identificador de clave que identifica una clave en esta plantilla de tabla u otra plantilla

negate(booleano)

(opcional) si true, la restricción se invierte para que pase si y solo si NO se encuentra una coincidencia en el índice al que se hace referencia. El valor predeterminado es false.

Name DEBE ser un identificador (xbrlce:invalidIdentifier ).

Cada miembro de columnsDEBE ser una columna restringida (tce:invalidReferenceKeyColumn).

columnsDEBE tener el mismo número de columnas que la clave especificada en keyRef (tce:invalidReferenceKey)

El índice de valores correspondientes a la clave especificada en keyRefse conoce como índice de destino.

La lista ordenada de valores para las columnas columnsde una fila determinada se conoce como lista de valores locales.

La validación de la clave de referencia se realiza de la siguiente manera para cada fila de la plantilla de tabla, y se genera tce:referenceKeyViolation si la verificación falla:

Como es habitual, las comparaciones se realizan según las definiciones de igualdad para type.

3.6.3.1 objetos de identificador de clave

Un objeto identificador de clave identifica una clave.

Tiene las siguientes propiedades:

tableTemplate(cadena)

(obligatorio) El nombre de una plantilla de tabla

key(cadena)

(opcional) El nombre de una clave para esa plantilla de tabla.

Se aplican las siguientes restricciones (tce:invalidKeyIdentifier):

  • tableTemplateDEBE identificar una plantilla de tabla en los metadatos efectivos xBRL-CSV .
  • Si keyse especifica, DEBE corresponder al nombre de una clave primaria o única para la plantilla identificada por tableTemplate.
  • Si keyno se especifica, tableTemplateDEBE tener una clave principal y keytoma el nombre de la clave principal.

3.7 Ejemplo

Este ejemplo muestra los metadatos de un conjunto de archivos CSV que capturan datos de préstamos.

Apéndice A Situación de la propiedad intelectual (no normativa)

Este documento y sus traducciones pueden copiarse y proporcionarse a otros, y los trabajos derivados que lo comenten, lo expliquen o ayuden en su implementación pueden prepararse, copiarse, publicarse y distribuirse, en su totalidad o en parte, sin restricción de ningún tipo. , siempre que el aviso de derechos de autor anterior y este párrafo estén incluidos en todas dichas copias y trabajos derivados. Sin embargo, este documento en sí no puede modificarse de ninguna manera, como eliminar el aviso de derechos de autor o las referencias a XBRL International o a organizaciones XBRL, excepto cuando sea necesario traducirlo a idiomas distintos del inglés. Los miembros de XBRL International aceptan otorgar ciertas licencias según la Política de propiedad intelectual de XBRL International (https://www.xbrl.org/legal).

Este documento y la información aquí contenida se proporcionan «TAL CUAL» y XBRL INTERNATIONAL RENUNCIA A TODAS LAS GARANTÍAS, EXPRESAS O IMPLÍCITAS, INCLUYENDO, PERO NO LIMITADO A, CUALQUIER GARANTÍA DE QUE EL USO DE LA INFORMACIÓN AQUÍ NO INFRINGIRÁ NINGÚN DERECHO O GARANTÍA IMPLÍCITA. DE COMERCIABILIDAD O IDONEIDAD PARA UN PROPÓSITO PARTICULAR.

La atención de los usuarios de este documento está dirigida a la posibilidad de que el cumplimiento o la adopción de las especificaciones de XBRL International puedan requerir el uso de una invención cubierta por derechos de patente. XBRL International no será responsable de identificar patentes para las cuales cualquier especificación de XBRL International pueda requerir una licencia, ni de realizar investigaciones legales sobre la validez legal o el alcance de aquellas patentes que se le presenten. Las especificaciones de XBRL International son prospectivas y meramente informativas. Los posibles usuarios son responsables de protegerse contra la responsabilidad por infracción de patentes. XBRL International no toma ninguna posición con respecto a la validez o alcance de cualquier propiedad intelectual u otros derechos que puedan reclamarse relacionados con la implementación o el uso de la tecnología descrita en este documento o la medida en que cualquier licencia bajo dichos derechos podría o no ser disponible; tampoco declara que haya hecho ningún esfuerzo por identificar dichos derechos. Los miembros de XBRL International aceptan otorgar ciertas licencias según la Política de propiedad intelectual de XBRL International (https://www.xbrl.org/legal).


Publicado originalmente: https://www.xbrl.org/news/table-constraints-public-working-draft-released/

Deja una respuesta