Copyright ©2011 XBRL International Inc., All Rights Reserved.
Circulation of this Recommendation is unrestricted. This document is normative. Recipients are invited to submit comments to rendering-feedback@xbrl.org, and to submit notification of any relevant patent rights of which they are aware and provide supporting documentation.
Inline XBRL is a standard for embedding XBRL fragments into an HTML document. The objective is to provide documents which can be viewed in a browser while making use of XBRL tags which can be processed automatically by consuming applications. This specification defines the syntax for such documents and how the syntax maps into an XBRL instance.
1 Introduction (non-normative)
2 About this document
2.1 This specification
2.2 Conventions used in this document
2.3 XML namespace
2.4 Namespace prefixes
2.5 Definitions
3 Structure
3.1 The Inline XBRL Document Set
3.2 The Target Document
3.3 Processors
3.3.1 Definitions
3.3.2 Processing dependencies
3.4 The schema
4 The exclude element
4.1 Definition
4.1.1 Constraints on
ix:exclude
5 The footnote element
5.1 Definition
5.1.1 Constraints on ix:footnote
5.1.2 Validation rules
5.2 Mapping
6 The fraction, denominator and numerator elements
6.1 Definitions
6.1.1 Constraints on ix:fraction
6.1.2 Validation rules
6.2 Mapping
6.2.1 Element type
6.2.2 Attributes
6.2.3 Children
7 The header element
7.1 Definition
7.1.1 Constraints on ix:header
7.1.2 Non-validatable constraints on ix:header
7.1.3 Validation rules
8 The hidden element
8.1 Definition
8.1.1 Constraints on ix:hidden
8.1.2 Non-validatable constraints on ix:hidden
9 The nonFraction element
9.1 Definition
9.1.1 Constraints on ix:nonFraction
9.1.2 Validation rules
9.2 Mapping
9.2.1 Element type
9.2.2 Attributes
9.2.3 Children
9.3 Example
10 The nonNumeric element
10.1 Definition
10.1.1 Constraints on
ix:nonNumeric
10.1.2 Validation rules
10.2 Mapping
10.2.1 Element type
10.2.2 Attributes
10.2.3 Children
10.3 Example
11 The references element
11.1 Definition
11.1.1 Constraints on
ix:references
11.1.2 Validation rules
11.2 Mapping
11.2.1 Element type
11.2.2 Attributes
12 The resources element
12.1 Definition
12.1.1 Constraints on
ix:resources
12.1.2 Validation rules
12.2 Mapping
13 The tuple element
13.1 Definition
13.1.1 Constraints on ix:tuple
13.1.2 Validation rules
13.2 Mapping
13.2.1 Element type
13.2.2 Attributes
13.2.3 Children
14 Transformations
14.1 Transformation Rules
14.1.1 Constraints on Transformation Rules
14.2 The Transformation Rules Registry
14.2.1 Constraints on Transformation Rules Registries
14.3 The Specified Registry
14.4 Processor support for transformations
A References
B Intellectual property status (non-normative)
C Acknowledgements (non-normative)
D Document history (non-normative)
E Errata corrections in this document
1 Inline XBRL Elements
2 Attributes
3
XML representation summary:
ix:exclude
element information
item
4
XML representation summary:
ix:footnote
element information
item
5
XML representation summary:
ix:fraction
element information
item
6
XML representation summary:
ix:denominator
element information item
7
XML representation summary: ix:numerator
element information item
8
XML representation summary: ix:header
element information item
9
XML representation summary:
ix:hidden
element information
item
10
XML representation summary:
ix:nonFraction
element information
item
11
XML representation summary:
ix:nonNumeric
element information
item
12
XML representation summary:
ix:references
element information
item
13
XML representation summary:
ix:resources
element information
item
14
XML representation summary: ix:tuple
element information item
1 Nesting within an HTML table
2 Nesting within Markup Elements
3 Ordering of tuples
4 Cross-nested tuples
Conformant Processor
Inline XBRL Document
Inline XBRL Document Set
Inline XBRL Element
Inline XBRL Schema
Markup Element
Specification
Specified Registry
Target Document
Transformation Rules
Transformation Rules Registry
Validating Conformant Processor
Whitespace Normalized Value
XBRL-valid
XHTML Inline Document Set
reference-equal
There is a clear need to publish financial and business information both in human-readable and machine-readable formats. With the growth of interest in using the [XBRL 2.1] standard to transmit information in a machine-readable format, it has become necessary to create an extension to the [XBRL 2.1] standard which will tie the machine-readable data to co-existing human-readable formats.
Inline XBRL provides a mechanism for taking financial and business information formatted in HTML, the universal language for web browsers, and adding to it hidden metadata which can be used to construct a machine-readable copy of the same information. That extracted, machine-readable, information is fully compliant with the [XBRL 2.1] standard and can be used by regulators and other consumers of financial information.
This Specification consists of this document Inline XBRL Part 1: Specification 1.0 and [Inline XBRL Schema] and all errata corrections, if any.
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in [IETF RFC 2119].
The key words attribute, element, element type or type, escaped, ID, root, valid and XML document in this document are to be interpreted as described in the [XML] specification.
The key words expanded name, local name, namespace, namespace name and namespace prefix in this document are to be interpreted as described in the [XML Names] specification.
The key words child or children, information item and property or properties in this document are to be interpreted as described in the [XML Infoset] specification.
The key words anyURI, boolean, decimal, facet, integer, NCName, QName, string and value space in this document are to be interpreted as described in [XML Schema Datatypes].
The key words absent, actual value, normalized value, schema normalized value and string in this document are to be interpreted as described in [XML Schema Structures].
The key words discoverable taxonomy set or DTS, extended link, fact, item, s-equal and v-equal in this document are to be interpreted as described in the [XBRL 2.1] specification.
The key words document order in this document are to be interpreted as described in the [XPath 1.0] specification.
The key words errata corrections in this document are to be interpreted as described in [TECH-WG-PROCESSES].
The XML
namespace http://www.xbrl.org/2008/inlineXBRL
is to be used exclusively for XML components described in this Specification.
This Specification uses a number of namespace prefixes when describing elements and attributes. These are:
Namespace prefix | Namespace name |
---|---|
ix | http://www.xbrl.org/2008/inlineXBRL |
ixt | http://www.xbrl.org/inlineXBRL/transformation/2010-04-20 |
link | http://www.xbrl.org/2003/linkbase |
xbrli | http://www.xbrl.org/2003/instance |
xl | http://www.xbrl.org/2003/XLink |
xlink | http://www.w3.org/1999/xlink |
xml | http://www.w3.org/XML/1998/namespace |
xsi | http://www.w3.org/2001/XMLSchema-instance |
An element is reference-equal to another
element if and only if their xlink:href
attributes refer to the same resource according to
the rules of [XML Base], and the elements are
otherwise s-equal.
The Inline XBRL Document Set is a group of one or more Inline XBRL Documents which when comprising sufficient metadata results in one or more Target Documents when transformed according to the mapping rules prescribed in this Specification.
An Inline XBRL Document is a well-formed XML document containing both Markup Elements and Inline XBRL Elements and which MAY contain certain other elements as defined herein.
Within an Inline XBRL Document, the Inline XBRL Elements are interspersed between or nested within Markup Elements, in such a way that the value of each XBRL fact may be displayed by a browser.
An Inline XBRL Element is any element defined by this
Specification with a
namespace name which has a value of
http://www.xbrl.org/2008/inlineXBRL
.
Each one of the Inline XBRL Elements in an Inline XBRL Document represents a different component of a Target Document. In general, each Inline XBRL Element takes the same content model as the matching component of the Target Document, except as set out below. The following Inline XBRL Elements are defined in this Specification:
Name |
---|
ix:denominator
|
ix:exclude
|
ix:footnote
|
ix:fraction
|
ix:header
|
ix:hidden
|
ix:nonFraction
|
ix:nonNumeric
|
ix:numerator
|
ix:references
|
ix:resources
|
ix:tuple
|
A Markup Element is an XML element which does not have its namespace name listed in Section 2.4.
The following attributes are defined in this Specification:
Name |
---|
arcrole
|
contextRef
|
decimals
|
escape
|
footnoteID
|
footnoteLinkRole
|
footnoteRefs
|
footnoteRole
|
format
|
id
|
name
|
precision
|
order
|
scale
|
sign
|
target
|
title
|
tupleID
|
tupleRef
|
unitRef
|
A Target Document is the XBRL-valid XBRL instance document represented by metadata in the Inline XBRL Document Set.
An XBRL instance document is XBRL-valid if it can be validated as described in [XBRL 2.1].
An Inline XBRL Document Set
can be used to define multiple Target
Documents by setting the
target
attributes on certain Inline XBRL Elements.
For each unique value of the {target} property on such Inline XBRL Elements there MUST exist a Target Document containing all the XBRL facts and [XLINK]-specified relationships which are required by the mapping rules prescribed in this Specification for the Inline XBRL Elements with that value of the {target} property.
A Conformant Processor is a processor which transforms an Inline XBRL Document Set according to the mapping rules prescribed in this Specification.
A Validating Conformant Processor is a processor which transforms an XHTML Inline XBRL Document Set according to the mapping rules prescribed in this Specification and rejects all other input.
An XHTML Inline XBRL Document Set is an Inline XBRL Document Set that is:
in conformance with the rules described herein; and
composed only of Inline XBRL
Documents that
html
and a namespace name of
http://www.w3.org/1999/xhtml
; and
It should never be necessary for a Conformant Processor or a Validating Conformant Processor to access the DTS of the Target Document whilst processing. Whether it does so will depend upon the design of the processor.
The processing of Inline XBRL Documents depends on [XML], [XML Names] and [XML Base].
The normative copy of the XHTML + iXBRL Schema is defined in [Inline XBRL Schema].
For convenience, a non-normative version can be obtained at http://www.xbrl.org/2008/inlineXBRL/xhtml-inlinexbrl-1_0.xsd.
The ix:exclude
element is used to encapsulate
data that is to be excluded from the processing of ix:footnote
or
ix:nonNumeric
elements, and has the following
properties:
<ix:exclude >
Content: ( any element | any text node )* </ix:exclude>
|
The purpose of the ix:exclude
element is to
prevent text content from being included in the {footnote value}
property of ix:footnote
or the {value}
property of ix:nonNumeric
. It has no other use.
The ix:footnote
element represents the
link:footnote
element, and has the following
properties:
<ix:footnote
any attribute with a namespace name which has the value arcrole = anyURI footnoteID = ID footnoteLinkRole = anyURI footnoteRole = anyURI id = NCName title = string > Content: ( any element | any text node ) + </ix:footnote>
|
|
Property | Representation |
---|---|
{arcrole} |
The actual value of the
arcrole attribute or, if absent,
http://www.xbrl.org/2003/arcrole/fact-footnote .
|
{footnote id} |
The actual value of the
footnoteID attribute.
|
{footnote link role} |
The actual value of the
footnoteLinkRole attribute or, if
absent, http://www.xbrl.org/2003/role/link .
|
{footnote role} |
The actual value of the
footnoteRole attribute or, if
absent, http://www.xbrl.org/2003/role/footnote .
|
{id} |
The actual value of the
id attribute.
|
{relevant content} |
The content of the ix:footnote element,
excluding all nodes which are descendants of a descendant
ix:exclude element and replacing any descendant
Inline XBRL Element with its
own child nodes.
|
{footnote value} | The {relevant content} property, resolving the actual value of any relative URIs as defined in section 12.4.1 of [HTML]. |
{other attributes} | The set of attributes which have a namespace. |
{other attribute value} | For a given attribute in the {other attributes} property, the actual value of that attribute. |
{title} |
The actual value of the
title attribute.
|
The lack of restriction on the child nodes of
ix:footnote
allows Inline
XBRL Elements to be nested. This can be used, for instance, to allow
a number embedded in a paragraph of text to appear in the Target Document both as part of a footnote
and, separately, as a numeric item.
The ix:exclude
element can be used to exclude
arbitrary data from the {footnote value} property of
ix:footnote
. This allows, for instance, page header information
to be excluded from a paragraph which crosses page breaks. The
ix:exclude
tag does not preclude its own descendant
elements from being processed elsewhere.
For each ix:footnote
element in the Inline XBRL Document Set there
MUST NOT be any other
ix:footnote
element with the same {footnote id}
property.
If the id
attribute is present, the {id}
property MUST NOT match the {id}
property of any other element in the Inline XBRL Document Set.
The ix:footnote
element MUST
have an xml:lang
attribute in scope.
For each element N in the {footnotes}
property of a given Inline
XBRL Element F, there MUST exist in
the Target Document identified by
the {target} property of F a footnote resource n
with relationship r from the XBRL fact f
which satisfies the applicable mapping rules defined by this Specification for F, where the
relationship r is defined by a
link:footnoteArc
element (with
xlink:arcrole
attribute equal to the {arcrole}
property of N) within an
xlink:footnoteLink
element (with
xlink:role
attribute equal to the {footnote link
role} property of N), such that:
id
attribute of n is equal to the
value of the {id} property of N, unless that value is
absent;
xml:lang
in scope for n shall be
equal to the value L of xml:lang
in scope for N;
xlink:role
attribute of n is equal to
the {footnote role} property of N; and
xlink:title
attribute of n is equal to
the {title} property of N.
The ix:fraction
element denotes an XBRL
fact which is an element of type, or
derived from type, fractionItemType
; and has the
following properties:
<ix:fraction
any attribute with a namespace name which has a value other than contextRef = NCName footnoteRefs = List of NCName values id = NCName name = QName order = decimal target = NCName tupleRef = NCName unitRef = NCName > Content: ( any text node | any children with a namespace name which has a value other than </ix:fraction>
|
|
Property | Representation |
---|---|
{concept name} | The
actual value of the
name attribute.
|
{footnote references} |
The set of space-separated references contained in the actual
value of the footnoteRefs attribute.
|
{footnotes} |
The set of ix:footnote elements in the Inline XBRL Document Set for which
the {footnote id} property matches the {footnote references}
property.
|
{id} |
The actual value of the
id attribute.
|
{other attributes} |
The set of attributes with a namespace name which has
a value other than http://www.xbrl.org/2008/inlineXBRL .
|
{other attribute value} | For a given attribute in the {other attributes} property, the actual value of that attribute. |
{target} |
The Target Document identified by
the actual value of the
target attribute or, if absent, the
default Target Document.
|
{tuple order} | The
actual value of the
order attribute.
|
{context definition} |
The xbrli:context element in the Inline XBRL Document Set for which
the actual value of the
id attribute is equal to the {context reference}
property.
|
{context reference} |
The actual value of the
contextRef attribute.
|
{unit definition} |
The xbrli:unit element in the Inline XBRL Document Set for which
the actual value of the
id attribute is equal to the {unit reference}
property.
|
{unit reference} |
The actual value of the
unitRef attribute.
|
{tuple reference} |
The actual value of the
tupleRef attribute.
|
The ix:denominator
element denotes an XBRL
denominator element; and has the following
properties:
<ix:denominator
format = QName scale = integer sign = string >Content: ( non-empty text node ) </ix:denominator>
|
|
Property | Representation |
---|---|
{denominator format} |
The expanded name implied by the value of the
format attribute.
|
{denominator format input type} |
The actual value of the
type attribute of the
input element defined in the {denominator format
transformation} property.
|
{denominator format transformation} |
The Transformation Rule for
which the expanded name implied by the value of the
name attribute on its
signature element matches the {denominator
format} property.
|
{denominator scale} |
The result of raising ten to the power of the actual value of the
scale attribute.
|
{denominator negative sign} |
If the sign attribute is present, shall be
true, otherwise false.
|
{denominator value} |
The text content of the ix:denominator
element.
|
{other attributes} | The set of attributes which have a namespace. |
{other attribute value} | For a given attribute in the {other attributes} property, the actual value of that attribute. |
The ix:numerator
element denotes an XBRL
numerator element; and has the following
properties:
<ix:numerator
format = QName scale = integer sign = string >Content: ( non-empty text node ) </ix:numerator>
|
|
Property | Representation |
---|---|
{numerator format} |
The expanded name implied by the value of the
format attribute.
|
{numerator format input type} |
The actual value of the
type attribute of the
input element defined in the {numerator format
transformation} property.
|
{numerator format transformation} |
The Transformation Rule for
which the expanded name implied by the value of the
name attribute on its
signature element matches the {numerator
format} property.
|
{numerator scale} |
The result of raising ten to the power of the actual value of the
scale attribute.
|
{numerator negative sign} |
If the sign attribute is present, shall be
true, otherwise false.
|
{numerator value} |
The text content of the ix:numerator
element.
|
{other attributes} | The set of attributes which have a namespace. |
{other attribute value} | For a given attribute in the {other attributes} property, the actual value of that attribute. |
The ix:denominator
and
ix:numerator
elements support scaling, negative
numbers and format transformations as described in
Section
9 below.
ix:fraction
The
ix:fraction
element MUST
have name
, contextRef
and
unitRef
attributes.
The
ix:fraction
element MUST
have exactly one ix:denominator
descendant element
and exactly one ix:numerator
descendant element, or
have an xsi:nil
attribute with the value true.
The ix:fraction
element MUST
NOT have any descendant elements other than
ix:denominator
and ix:numerator
with a
namespace name which has a value of
http://www.xbrl.org/2008/inlineXBRL
.
The ix:fraction
element MUST
NOT have any attributes with a namespace
name which has a value of
http://www.xbrl.org/2003/instance
.
The sign
attribute, where present,
MUST have the value "-".
There MUST exist an
ix:tuple
element in the Inline XBRL Document Set with a
{tuple id} property which has a value matching the {tuple
reference} property.
There MUST exist an
xbrli:context
element in the Inline XBRL Document Set for which
the actual value of the
id
attribute is equal to the {context reference}
property.
There MUST exist an
xbrli:unit
element in the Inline XBRL Document Set for which
the actual value of the
id
attribute is equal to the {unit reference}
property.
If the format
attribute of
ix:denominator
is present, the {denominator value}
property MUST be valid in accordance with
the {denominator format input type} property.
If the format
attribute of
ix:denominator
is not present, the {denominator value}
property MUST be a non-negative number.
If the format
attribute is present, the
{denominator format} property MUST match
the expanded name implied by the value of the
name
attribute of a
signature
element in the relevant Transformation Rules Registry.
If the format
attribute of
ix:numerator
is present, the {numerator value}
property MUST be valid in accordance with
the {numerator format input type} property.
If the format
attribute of
ix:numerator
is absent, the {numerator value}
property MUST be a non-negative number.
If the format
attribute is present, the
{numerator format} property MUST match the
expanded name implied by the value of the
name
attribute of a
signature
element in the relevant Transformation Rules Registry.
If the id
attribute of ix:fraction
is present, the {id} property MUST NOT
match the {id} property of any other element in the
Inline XBRL Document Set.
For each token in the {footnote references} property there
MUST exist an
ix:footnote
element in the Inline XBRL Document Set with a
{footnote id} property which has a matching value.
For each ix:fraction
element, there
MUST exist in the Target
Document identified by the {target} property an element
which has the following XML properties:
The element MUST have attributes with the following properties:
contextRef
|
The value of the
contextRef attribute MUST
be equal to the value of the id attribute of an
xbrli:context element in the Target Document which is
s-equal to the {context definition} property.
|
id
|
The value of the id attribute
MUST be equal to the value of the {id}
property, unless that value is absent.
|
unitRef
|
The value of the
unitRef attribute MUST
be equal to the value of the id attribute of an
xbrli:unit element in the Target Document which is
s-equal to the {unit definition} property.
|
{other attributes} | For each of the attributes in the {other attributes} property, the value is equal to the {other attribute value} property. |
The element MUST have child
elements with the following properties unless it has an
xsi:nil
attribute with the value true:
xbrli:denominator
|
The value of xbrli:denominator MUST be
equal to the result of applying the {denominator format transformation}
property (if present) to the {denominator value}
property, multiplying by the {denominator scale}
property, if present, and changing the sign of the result if the
{denominator negative sign} property is true.
|
xbrli:numerator
|
The value of xbrli:numerator MUST be equal
to the result of applying the {numerator format transformation}
property (if present) to the {numerator value}
property, multiplying by the {numerator scale}
property, if present, and changing the sign of the result if the
{numerator negative sign} property is true.
|
Each child element MUST have attributes with the following properties:
{other attributes} | For each of the attributes in the {other attributes} property, the value is equal to the {other attribute value} property. |
The ix:header
element contains the
non-displayed portions of the Target
Document and has the following properties:
<ix:header>
Content: ( </ix:header>
|
|
Property | Representation |
---|---|
{hidden} |
The children of the
ix:hidden element.
|
{references} |
The children of the
ix:references element.
|
{resources} |
The children of the
ix:resources element.
|
ix:header
The ix:header
element MUST
NOT be a descendant of an HTML
head
element.
The
ix:header
element MUST
have no more than one
ix:resources
child element.
ix:header
The
ix:header
element MUST
be enclosed with Markup Elements
which ensure that the ix:header
element will not
be displayed in the browser.
It is RECOMMENDED that the parent of the
ix:header
element be a
div
element which has a
style
attribute with the value
display:none
.
There MUST be at least one
ix:header
element in the Inline XBRL Document Set.
The ix:hidden
element is used to contain XBRL
facts that are not to be displayed in the browser, and has the
following properties:
ix:hidden
element information
item
<ix:hidden>
</ix:hidden>
|
|
Property | Representation |
---|---|
{footnote} |
The ix:footnote children of the
ix:hidden element.
|
{footnote id} |
For each element in the {footnote} property, the
actual value of the
footnoteID attribute.
|
{fraction} |
The ix:fraction children of the
ix:hidden element.
|
{nonFraction} |
The ix:nonFraction children of the
ix:hidden element.
|
{nonNumeric} |
The ix:nonNumeric children of the
ix:hidden element.
|
{tuple} |
The ix:tuple children of the
ix:hidden element.
|
The ix:nonFraction
element denotes an XBRL
numeric item which is an element which is not of
type, nor derived from type,
fractionItemType
; and has the following properties:
<ix:nonFraction
any attribute with a namespace name which has a value other than contextRef = NCName decimals = xbrli:decimalsType format = QName footnoteRefs = List of NCName values id = NCName name = QName order = decimal precision = xbrli:precisionType target = NCName tupleRef = NCName scale = integer sign = string unitRef = NCName >Content: ( non-empty text node ) </ix:nonFraction>
|
|
Property | Representation |
---|---|
{concept name} |
The actual value of the name attribute.
|
{context definition} |
The xbrli:context element in the Inline XBRL Document Set for which
the actual value of the id attribute is equal
to the actual value of the contextRef attribute.
|
{context reference} |
The actual value of the
contextRef attribute.
|
{decimals} |
The actual value of the
decimals attribute.
|
{footnote references} |
The set of space-separated references contained in the actual
value of the
footnoteRefs attribute.
|
{footnotes} |
The set of ix:footnote elements in the Inline XBRL Document Set for which
the {footnote id} property matches the {footnote references}
property.
|
{format} |
The expanded name implied by the value of the
format attribute.
|
{format transformation} |
The Transformation Rule for
which the expanded name implied by the value of the
name attribute on its
signature element matches the {format} property.
|
{format input type} |
The actual value of the
type attribute of the
input element defined in the {format
transformation} property.
|
{id} |
The actual value of the
id attribute.
|
{other attributes} |
The set of attributes with a namespace name which has
a value other than http://www.xbrl.org/2008/inlineXBRL .
|
{other attribute value} | For a given attribute in the {other attributes} property, the actual value of that attribute. |
{precision} |
The actual value of the
precision attribute.
|
{tuple reference} |
The actual value of the
tupleRef attribute.
|
{scale} |
The result of raising ten to the power of the actual value of the
scale attribute.
|
{sign} |
If the sign attribute is present, shall be
true, otherwise false.
|
{target} |
The Target Document identified by
the actual value of the
target attribute or, if absent, the
default Target Document.
|
{tuple order} |
The actual value of the
order attribute.
|
{unit definition} |
The xbrli:unit element in the Inline XBRL Document Set for which
the actual value of the
id attribute is equal to the {unit reference}
property.
|
{unit reference} |
The actual value of the
unitRef attribute.
|
{value} |
The text content of the ix:nonFraction
element.
|
It is common to include formatting in displayed numbers, such as group separators, which would not be valid in the Target Document. Inline XBRL uses Transformation Rules to transform such items into values that will be valid in the Target Document.
The ix:nonFraction
element will either satisfy
the validation rules for a given Transformation Rule or it will, in its
un-transformed state, be capable of validation against the DTS for
the Target Document. Both these
conditions are covered by the requirement that the Target Document be XBRL-valid.
The display of numeric non-fractions in the Inline XBRL Document will often differ from the form in which those items are incorporated into the XBRL Instance. In financial statements, this is commonly done to allow numbers to be scaled and presented to the reader in thousands, millions or billions. Similarly, a percentage which might be displayed as an integer will often be incorporated into the XBRL Instance as a decimal.
Inline XBRL provides a transformation mechanism that allows this treatment to be preserved in the Inline XBRL Document.
Where the scale of the displayed value in the Inline XBRL Document is different to
that used in the XBRL Instance, the
ix:nonFraction
element is given an
scale
attribute to indicate the required
scaling value. For instance, if the Inline XBRL Document displays a value
in units of thousands, it will be necessary to multiply the value of the
ix:nonFraction
by 1,000 to determine the correct value to be
included in the XBRL Instance, and the
scale
attribute is used to establish this.
The value of the scale
attribute shall be the
appropriate scale factor (for instance, 1,000 in the previous example)
expressed as an exponent of ten. Thus, if it is necessary to multiply the
tagged value by 1,000 to determine the correct value to be included in the XBRL
Instance, the value of the scale
attribute
shall be 3
.
Negative values are indicated by including a
sign
attribute.
ix:nonFraction
The
ix:nonFraction
element MUST
have name
, contextRef
and
unitRef
attributes.
The
ix:nonFraction
element MUST
have exactly one of: a decimals
attribute; or a
precision
attribute; or have an
xsi:nil
attribute with the value true.
The ix:nonFraction
element MUST
NOT have any attributes with a namespace
name which has a value of
http://www.xbrl.org/2003/instance
.
The sign
attribute, if present,
MUST have the value "-".
There MUST exist an
ix:tuple
element in the Inline XBRL Document Set with a
{tuple id} property which has a value matching the {tuple
reference} property.
There MUST exist an
xbrli:context
element in the Inline XBRL Document Set for which
the actual value of the
id
attribute is equal to the {context reference}
property.
There MUST exist an
xbrli:unit
element in the Inline XBRL Document Set for which
the actual value of the
id
attribute is equal to the {unit reference}
property.
If the format
attribute is present, the {value}
property MUST be valid in accordance with
the {format input type} property.
If the format
attribute is absent,
the {value} property MUST be a
non-negative number.
If the format
attribute is present, the
{format} property MUST match the expanded
name implied by the value of the
name
attribute of a
signature
element in the relevant Transformation Rules Registry.
If the id
attribute is present, the {id}
property MUST NOT match the {id}
property of any other element in the Inline XBRL Document Set.
For each token in the {footnote references} property there
MUST exist an
ix:footnote
element in the Inline XBRL Document Set with a
{footnote id} property which has a matching value.
For each ix:nonFraction
element, there
MUST exist in the Target
Document identified by the {target} property an
element which has the following XML properties:
The element MUST have attributes with the following properties:
contextRef
|
The value of the contextRef attribute is equal
to the value of the id attribute of an
xbrli:context element in the Target Document which is
s-equal to the {context definition} property.
|
decimals
|
The value of the decimals attribute
MUST be equal to the value of the {decimals}
property, unless that value is absent, when the
attribute MUST NOT be present.
|
id
|
The value of the id attribute
MUST be equal to the value of the {id}
property, unless that value is absent.
|
precision
|
The value of the precision attribute
MUST be equal to the value of the {precision}
property, unless that value is absent, when the
attribute MUST NOT be present.
|
unitRef
|
The value of the unitRef attribute is equal to
the value of the id attribute of an
xbrli:unit element in the Target Document which is
s-equal to the {unit definition} property.
|
{other attributes} | For each of the attributes in the {other attributes} property, the value is equal to the {other attribute value} property. |
The element MUST have
children with the following properties unless it has
an xsi:nil
attribute with the value true:
text content | The text content is equal to the result of applying the {format transformation} property (if present) to the {value} property, multiplying by the {scale} property, if present, and changing the sign of the result if the {sign} property is true. |
Resulting XBRL Instance.
The ix:nonNumeric
element denotes an XBRL
non-numeric item which has the following properties:
<ix:nonNumeric
any attribute with a namespace name which has a value other than contextRef = NCName escape = boolean footnoteRefs = List of NCName values format = QName id = NCName name = QName order = decimal target = NCName tupleRef = NCName >Content: ( any element | any text node ) * </ix:nonNumeric>
|
|
Property | Representation |
---|---|
{concept name} | The
actual value of the
name attribute.
|
{context definition} |
The xbrli:context element in the Inline XBRL Document Set for which
the actual value of the
id attribute is equal to the {context reference}
property.
|
{context reference} |
The actual value of the
contextRef attribute.
|
{footnote references} |
The set of space-separated references contained in the actual
value of the
footnoteRefs attribute.
|
{footnotes} |
The set of ix:footnote elements in the Inline XBRL Document Set for which
the {footnote id} property matches the {footnote references}
property.
|
{format} |
The expanded name implied by the value of the
format attribute.
|
{format transformation} |
The Transformation Rule for
which the expanded name implied by the value of the
name attribute on its
signature element matches the {format} property.
|
{format input type} |
The actual value of the
type attribute of the
input element defined in the {format
transformation} property.
|
{id} |
The actual value of the
id attribute.
|
{other attributes} |
The set of attributes with a namespace name which has
a value other than http://www.xbrl.org/2008/inlineXBRL .
|
{other attribute value} | For a given attribute in the {other attributes} property, the actual value of that attribute. |
{tuple reference} |
The actual value of the
tupleRef attribute.
|
{target} |
The Target Document identified by
the actual value of the
target attribute or, if absent, the
default Target Document.
|
{tuple order} |
The actual value of the order attribute.
|
{relevant content} |
The content of the ix:nonNumeric element,
excluding all nodes which are descendants of a descendant
ix:exclude element and replacing any descendant
Inline XBRL Element with its
own child nodes.
|
{value} |
If the escape attribute is true then the
escaped representation (having first resolved the actual
value of any relative URIs as defined in section 12.4.1 of [HTML]), otherwise the concatenation in document order of
all descendant text nodes, of the {relevant content} property.
|
Certain XBRL items, such as those of
type xbrli:booleanItemType
,
xbrli:dateTimeItemType
and xbrli:timeItemType
(amongst others) have content constraints which may not be met when displayed
in the Inline XBRL Document.
Inline XBRL uses Transformation
Rules to transform the items as displayed into values
that will be valid in the Target Document.
The ix:nonNumeric
element will either satisfy
the validation rules for a given Transformation Rule or it will, in its
un-transformed state, be capable of validation against the DTS for
the Target Document. Both these
conditions are covered by the requirement that the Target Document be XBRL-valid.
The lack of restriction on the child nodes of
ix:nonNumeric
allows Inline
XBRL Elements to be nested. This can be used, for instance, to allow
a number embedded in a paragraph of text to appear in the Target Document both as a non-numeric
item and, separately, as a numeric item.
The ix:exclude
element can be used to exclude
arbitrary data from the {value} property of
ix:nonNumeric
. This allows, for instance, page header information
to be excluded from a paragraph which crosses page breaks. The
ix:exclude
tag does not preclude its own descendant
elements from being processed elsewhere.
ix:nonNumeric
The
ix:nonNumeric
element MUST
have name
and
contextRef
attributes.
The ix:nonNumeric
element MUST
NOT have any attributes with a namespace
name which has a value of
http://www.xbrl.org/2003/instance
.
There MUST exist an
ix:tuple
element in the Inline XBRL Document Set with a
{tuple id} property which has a value matching the {tuple
reference} property.
There MUST exist an
xbrli:context
element in the Inline XBRL Document Set for which
the actual value of the
id
attribute is equal to the {context reference}
property.
If the format
attribute is present, the {value}
property MUST be valid in accordance with
the {format input type} property.
If the format
attribute is present, the
{format} property MUST match the expanded name
implied by the value of the name
attribute of a
signature
element in the relevant Transformation Rules Registry.
If the id
attribute is present, the {id}
property MUST NOT match the {id}
property of any other element in the Inline XBRL Document Set.
For each token in the {footnote references} property there
MUST exist an
ix:footnote
element in the Inline XBRL Document Set with a
{footnote id} property which has a matching value.
For each ix:nonNumeric
element, there
MUST exist in the Target
Document identified by the {target} property an
element which has the following XML properties:
The element MUST have attributes with the following properties:
contextRef
|
The value of the
contextRef attribute MUST
be equal to the value of the id attribute of an
xbrli:context element in the Target Document which is
s-equal to the {context definition} property.
|
id
|
The value of the id attribute
MUST be equal to the value of the {id}
property, unless that value is absent.
|
{other attributes} | For each of the attributes in the {other attributes} property, the value is equal to the {other attribute value} property. |
The ix:references
element is used to contain
reference elements which are required by a given Target Document, and has the following
properties:
<ix:references
any attribute with a namespace name which has a value other than id = NCName target = NCName > Content: ( </ix:references>
|
|
Property | Representation |
---|---|
{id} |
The actual value of the
id attribute.
|
{other attributes} |
The set of attributes with a namespace name which has
a value other than http://www.xbrl.org/2008/inlineXBRL .
|
{other attribute value} | For a given attribute in the {other attributes} property, the actual value of that attribute. |
{target} |
The Target Document identified by
the actual value of the
target attribute or, if absent, the
default Target Document.
|
{value set} | All children. |
ix:references
The
ix:references
element MUST
be a child of the
ix:header
element.
The ix:references
element MUST
NOT have any attributes with a namespace
name which has a value of
http://www.xbrl.org/2003/instance
.
Each attribute in {other attributes} MUST NOT
occur in more than one ix:references
element in
the Inline XBRL Document
Set with a given value for the {target} property.
If the id
attribute is present, the {id}
property MUST NOT match the {id}
property of any other element in the Inline XBRL Document Set.
There MUST be at least one
ix:references
element in the Inline XBRL Document Set for each
Target Document.
There MUST NOT be more than one
ix:references
element in the Inline XBRL Document Set with a
given value for the {target} property
which has an id
attribute.
For each link:schemaRef
in the {value set} property
there shall be a link:schemaRef
in the Target Document identified by the {target}
property which MUST be reference-equal to the
link:schemaRef
in the {value set} property.
For each link:linkbaseRef
in the {value set} property
there shall be a link:linkbaseRef
in the Target Document identified by the {target}
property which MUST be reference-equal to the
link:linkbaseRef
in the {value set} property.
For each ix:references
element, there
MUST exist in the Target
Document identified by the {target} property an
element which has the following XML properties:
The element MUST have attributes with the following properties:
id
|
The value of the id attribute
MUST be equal to the value of the {id}
property, unless that value is absent.
|
{other attributes} | For each of the attributes in the {other attributes} property, the value is equal to the {other attribute value} property. |
The ix:resources
element is used to contain
reference
elements which are required by one or more
Target Documents, and has the
following properties:
<ix:resources>
Content: ( </ix:resources>
|
|
Property | Representation |
---|---|
{value set} | All children. |
ix:resources
The
ix:resources
element MUST
be a child of the
ix:header
element.
There MUST be at least one
ix:resources
element in the Inline XBRL Document Set.
For each xbrli:context
element in the Inline XBRL Document Set there
MUST NOT be any other element in the Inline XBRL Document Set with the
same actual value for its
id
attribute, if any.
For each xbrli:unit
element in the Inline XBRL Document Set there
MUST NOT be any other element in the Inline XBRL Document Set with the
same actual value for its
id
attribute, if any.
For each link:arcroleRef
R in the {value set}
property with
arcroleURI
property U there
MUST be a
link:arcroleRef
element r in each
Target Document in which there is
a link:footnoteArc
element with an
xlink:arcrole
attribute with a value equal to
that of U, such that r is reference-equal to R.
For each link:roleRef
R in the {value set}
property with
roleURI
property U there
MUST be a
link:roleRef
element r in each
Target Document in which there is
a link:footnoteLink
element or a
link:footnote
element with an
xlink:role
attribute with a value equal to that
of U, such that r is reference-equal to R.
The ix:tuple
element denotes an XBRL tuple
which has the following properties:
<ix:tuple
any attribute with a namespace name which has a value other than footnoteRefs = List of NCName values id = NCName name = QName order = decimal target = NCName tupleID = ID tupleRef = NCName > Content: ( any children with a namespace name which has a value other than </ix:tuple>
|
|
Property | Representation |
---|---|
{concept name} |
The actual value of the name attribute.
|
{footnote references} |
The set of space-separated references contained in the actual
value of the footnoteRefs attribute.
|
{footnotes} |
The set of ix:footnote elements in the Inline XBRL Document Set for which
the {footnote id} property matches the {footnote references}
property.
|
{id} |
The actual value of the
id attribute.
|
{tuple id} |
The actual value of the tupleID attribute.
|
{other attributes} |
The set of attributes with a namespace name which has
a value other than http://www.xbrl.org/2008/inlineXBRL .
|
{other attribute value} | For a given attribute in the {other attributes} property, the actual value of that attribute. |
{tuple reference} |
The actual value of the
tupleRef attribute.
|
{target} |
The Target Document identified by
the actual value of the
target attribute or, if absent, the
default Target Document.
|
{tuple order} |
The actual value of the
order attribute.
|
{apparent content} |
All descendants with a namespace name which have the value
http://www.xbrl.org/2008/inlineXBRL and which do not have a {tuple
reference} property and for which there are no intermediate
ancestors with that namespace name and, if the {tuple id}
property is present, all elements for which the
{tuple reference} property is equal to the {tuple id}
property of the current
ix:tuple element.
|
{tuple content} | The set of Inline XBRL Elements in the {apparent content} property, such that each element has a unique {tuple order} property. |
The display of tuples in the Inline XBRL Document will often differ from the form in which they are structured within the XBRL Instance. Inline XBRL has mechanisms to provide for both the correct ordering of tuple content and for the association of tuples with their children where cross-nesting or the need to prevent the display of particular children would make this otherwise difficult to achieve.
Where the requirements of the display model do not allow what would normally be
the children of the tuple to be nested within that tuple, an
tupleID
attribute is used to associate a
tuple with its children.
The ordering of children in the Target Document is enforced through the {tuple order} property.
The following examples illustrate ordering and cross-nesting of tuples:
Inline XBRL markup, showing tuples displayed out of order.
Resulting XBRL instance.
Inline XBRL markup, showing hidden tuple in header and children of different tuples sharing the same table rows.
Resulting XBRL instance.
Inline XBRL supports Inline XBRL Documents which include duplicate XBRL facts. Because this may result in invalid Target Documents it is necessary to remove duplicate elements where these occur in the {tuple content} property.
A corresponding validation rule requires that such duplicate
elements be semantically identical. Because this Specification does not require the use of
the DTS, the Validating Conformant
Processor enforces a potentially more restrictive literal equality by
comparing the Whitespace Normalized Values.
The Whitespace Normalized Value of an element is the
normalized value as defined in [XML Schema Structures] of that element and its attributes and determined
as though the value of the whiteSpace
facet were
collapse
.
ix:tuple
The
ix:tuple
element MUST
have a name
attribute.
The
ix:tuple
element MUST
have one or more ix:fraction
, ix:nonFraction
,
ix:nonNumeric
or ix:tuple
descendants or have a
tupleID
attribute, unless it has an
xsi:nil
attribute with the value true.
The ix:tuple
element MUST
NOT have any attributes with a namespace
name which has a value of
http://www.xbrl.org/2003/instance
.
The {target} property of the
ix:tuple
element MUST be
equal to the {target} property of all elements in
the {tuple content} property.
All elements MUST have an
order
attribute if and only if they are
members of the {tuple content} property.
Each element in the {tuple content} property with the same {tuple order} property MUST have the same Whitespace Normalized Value.
For each ix:tuple
element in the Inline XBRL Document Set there
MUST NOT be any other
ix:tuple
element with the same {tuple id}
property.
For each token in the {footnote references} property there
MUST exist an
ix:footnote
element in the Inline XBRL Document Set with a
{footnote id} property which has a matching value.
If the id
attribute is present, the {id}
property MUST NOT match the {id}
property of any other element in the Inline XBRL Document Set.
If the ix:tuple
element does not have an
xsi:nil
attribute with the value true then there
MUST be at least one element in the {tuple
content} property.
If the ix:tuple
element has an
xsi:nil
attribute with the value true then there
MUST be no elements in the {tuple content}
property.
The ix:tuple
element MUST
NOT directly or recursively form part of the {tuple content}
property of any ix:tuple
element in
the {tuple content} property.
There MUST exist an
ix:tuple
element in the Inline XBRL Document Set with a
{tuple id} property which has a value matching the {tuple
reference} property.
For each ix:tuple
element, there
MUST exist in the Target
Document identified by the {target} property an
element which has the following XML properties:
The element MUST have attributes with the following properties:
id
|
The value of the id attribute
MUST be equal to the value of the {id}
property, unless that value is absent.
|
{other attributes} | For each of the attributes in the {other attributes} property, the value is equal to the {other attribute value} property. |
A Transformation Rule is a set of instructions which when applied to the schema normalized value of a given type outputs a value in a format which when included in the Target Document will be XBRL-valid.
The set of Transformation Rules is defined in one or more Transformation Rules Registries, one of which is the Specified Registry.
A Transformation Rule MUST NOT output a negative numeric value.
A Transformation Rule MUST NOT output a scaled numeric value.
The type identified by the value of the
type
attribute of the
input
element defined in a Transformation Rule MUST
NOT allow negative numeric values in its value space.
The Transformation Rules Registry is a registry operated in accordance with [XBRL Registry].
A Transformation Rules Registry, together with any errata corrections thereto, is identified by a namespace name which MUST incorporate the date that the Transformation Rules Registry was accorded Recommendation status.
Subsequent versions of the same Transformation Rules Registry are identified by a namespace name which MUST differ from other versions only by the incorporated Recommendation date.
Each Transformation Rule is defined as a function in accordance with [XBRL Function Definitions].
Transformation Rules identified by a given local name in different versions of a given Transformation Rules Registry MUST have the same functionality.
New Transformation RulesMUST NOT be added to a Transformation Rules Registry as errata corrections.
Transformation Rules defined in a given Transformation Rules Registry SHOULD be available in all subsequent versions of that registry unless deprecated.
The Specified Registry is the Transformation Rules Registry
with a namespace name which has the value
http://www.xbrl.org/inlineXBRL/transformation/2010-04-20
.
The normative copy of the Specified Registry is defined in [Inline XBRL Transformations].
The following non-normative list summarises the Transformation Rules defined in the Specified Registry:
Format Code | Comment | Input type | Output type | Input format | Output format |
---|---|---|---|---|---|
ixt:datedoteu | European dates with dots |
ixt:datedoteuType
|
xs:date
|
DD.MM.YY(YY) | YYYY-MM-DD |
ixt:datedotus | American numeric dates with dots |
ixt:datedotusType
|
xs:date
|
MM.DD.YY(YY) | YYYY-MM-DD |
ixt:datelonguk | British long format dates |
ixt:datelongukType
|
xs:date
|
DD Month YY(YY) | YYYY-MM-DD |
ixt:datelongus | American long format dates |
ixt:datelongusType
|
xs:date
|
Month DD, YY(YY) | YYYY-MM-DD |
ixt:dateshortuk | British short format dates |
ixt:dateshortukType
|
xs:date
|
DD Mon YY(YY) | YYYY-MM-DD |
ixt:dateshortus | American short format dates |
ixt:dateshortusType
|
xs:date
|
Mon DD, YY(YY) | YYYY-MM-DD |
ixt:dateslasheu | European dates with slashes |
ixt:dateslasheuType
|
xs:date
|
DD/MM/YY(YY) | YYYY-MM-DD |
ixt:dateslashus | American numeric dates with slashes |
ixt:dateslashusType
|
xs:date
|
MM/DD/YY(YY) | YYYY-MM-DD |
ixt:datelongdaymonthuk | British recurring day and month (long format) |
ixt:datelongdaymonthukType
|
xs:gMonthDay
|
DD Month | --MM-DD |
ixt:datelongmonthdayus | American recurring month and day (long format) |
ixt:datelongmonthdayusType
|
xs:gMonthDay
|
Month DD | --MM-DD |
ixt:dateshortdaymonthuk | British recurring day and month (short format) |
ixt:dateshortdaymonthukType
|
xs:gMonthDay
|
DD Mon | --MM-DD |
ixt:dateshortmonthdayus | American recurring month and day (short format) |
ixt:dateshortmonthdayusType
|
xs:gMonthDay
|
Mon DD | --MM-DD |
ixt:dateslashdaymontheu | European recurring day and month (slash separator) |
ixt:dateslashdaymontheuType
|
xs:gMonthDay
|
DD/MM | --MM-DD |
ixt:dateslashmonthdayus | American recurring month and day (slash separator) |
ixt:dateslashmonthdayusType
|
xs:gMonthDay
|
MM/DD | --MM-DD |
ixt:datelongyearmonth | Year and month (long format) |
ixt:datelongyearmonthType
|
xs:gYearMonth
|
(YY)YY Month | YYYY-MM |
ixt:dateshortyearmonth | Year and month (short format) |
ixt:dateshortyearmonthType
|
xs:gYearMonth
|
(YY)YY Mon | YYYY-MM |
ixt:datelongmonthyear | Month and year (long format) |
ixt:datelongmonthyearType
|
xs:gYearMonth
|
Month (YY)YY | YYYY-MM |
ixt:dateshortmonthyear | Month and year (short format) |
ixt:dateshortmonthyearType
|
xs:gYearMonth
|
Mon (YY)YY | YYYY-MM |
ixt:numcomma | Comma decimal separator |
ixt:numcommaType
|
ixt:nonNegativeDecimalType
|
nnnnnnnnn,nn | nnnnnnnnn.nn |
ixt:numcommadot | Comma-separated numbers |
ixt:numcommadotType
|
ixt:nonNegativeDecimalType
|
nnn,nnn,nnn.nn | nnnnnnnnn.nn |
ixt:numdash | Zero dash |
ixt:numdashType
|
ixt:nonNegativeDecimalType
|
- | 0 |
ixt:numdotcomma | Dot-separated numbers |
ixt:numdotcommaType
|
ixt:nonNegativeDecimalType
|
nnn.nnn.nnn,nn | nnnnnnnnn.nn |
ixt:numspacecomma | Space-separated numbers, comma fraction |
ixt:numspacecommaType
|
ixt:nonNegativeDecimalType
|
nnn nnn nnn,nn | nnnnnnnnn.nn |
ixt:numspacedot | Space-separated numbers |
ixt:numspacedotType
|
ixt:nonNegativeDecimalType
|
nnn nnn nnn.nn | nnnnnnnnn.nn |
A Conformant Processor and a Validating Conformant Processor:
MAY choose to support a given version of a Transformation Rules Registry as identified by its namespace name;
in supporting a given version of a Transformation Rules Registry MUST support all the Transformation Rules defined in that version of that registry; and
MUST support the Specified Registry.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to XBRL International or XBRL organizations, except as required to translate it into languages other than English. Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (www.xbrl.org/legal).
This document and the information contained herein is provided on an "AS IS" basis and XBRL INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
The attention of users of this document is directed to the possibility that compliance with or adoption of XBRL International specifications may require use of an invention covered by patent rights. XBRL International shall not be responsible for identifying patents for which a license may be required by any XBRL International specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. XBRL International specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents. XBRL International takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (www.xbrl.org/legal).
This document could not have been written without the contributions of many people.
Date | Author | Details |
---|---|---|
29 November 2007 | Ian Stokes-Rees |
Initial draft of Inline XBRL standard. |
05 December 2007 | Ian Stokes-Rees |
Minor changes prior to circulation. |
16 December 2007 | Philip Allen |
Addition of references to RFC 2119. Clarifications to tuple ordering and hidden section. Addition of open issues from Wiki. |
07 January 2008 | Philip Allen |
Changed "mf" to "ix". Removed remaining references to microformats. Major overhaul of numeric handling. |
15 January 2008 | Philip Allen |
Gave all inline tags the ix: namespace name. Revised entire document to specify syntax and processing separately. |
16 January 2008 | Philip Allen |
Added
Relaxed content model for
|
17 January 2008 | Philip Allen |
Changed ref/id to tupleRef/tupleID respectively. Removed dependency on Conformant Processor in definition of Inline XBRL Document. Changed a couple of musts to MUST. Removed unneccessary addressing REQUIREMENT for ix:header. |
21 January 2008 | Philip Allen |
Fixed spelling typo. Changed content models for ix:hidden and ix:fraction. Removed unitRef from 10.2.2 (nonNumeric). Put xbrli:context and xbrli:unit into xbrli:xbrl. Redefined Markup Element. Fixed namespaces on ix:hidden content model. Fixed broken {text content} model for ix:nonFraction. Introduced multiple Target Documents. Added explanatory note on multiple Target Documents. Added rule to prevent tuples crossing multiple Target Documents. Added boilerplate for Draft PWD. |
08 February 2008 | Philip Allen |
Clarified the wording around the {target} property and the creation of Target Documents. Introduced Inline XBRL Document Set to clarify the handling of multiple Inline XBRL Documents. Changed ix:name to QName. [WCH] Changed ix:target to NCName. [WCH] Replaced xbrli:xbrl with ix:references and ix:resources. Fixed content models. |
14 February 2008 | Ian Stokes-Rees |
Updated text to be as close to schema-compatible as possible. |
26 February 2008 | Philip Allen |
Changed ix:target back to string. [IJS] Added definitions for ix:denominator and ix:numerator. [IJS] Corrected xbrli:id to id. [PDW] Removed namespace from contextRef. [IJS] Removed namespace from unitRef. [IJS] Removed namespace from decimals. [IJS] Removed namespace from precision. [IJS] Added text nodes to ix:fraction. [WCH] Added text nodes to ix:exclude. [WCH] |
12 March 2008 | Philip Allen |
Fixed camel-casing in example #4. [Bill Palmer] Added verbiage around the use of ix:target and changed back to NCName. Corrected depreciation figure in example #3. [Bill Palmer] |
24 April 2008 | Philip Allen |
Added note to the effect that xl:title is abstract. Changed content rule for ix:footnoteLink. |
30 April 2008 | Philip Allen |
Completed property representations for ix:footnoteLink. Corrected reference for extended links. |
09 May 2008 | Philip Allen |
Added appendix describing relationship with other specifications. Added references relating to the new appendix. Made the Transformation Rules non-normative and introduced a forthcoming registry specification. Added Validating Conformant Processor. Added ix:footnoteRefs to ix:footnoteLink. Added {footnotes} and {footnote refs} properties. |
10 May 2008 | Walter Hamscher |
Corrected the output types in the Transformation Rules table. Grammatical and typo corrections to new appendix. |
14 May 2008 | Hugh Wallis |
Updated for release as third public working draft. |
27 May 2008 | Philip Allen |
Added schema validate must to definition of Validating Conformant Processor. Removed reference to Schematron. Added reference to the normative Schema. |
30 May 2008 | Philip Allen |
Replaced IDREF(S) with NCName. Added validation rules to match each NCName to an appropriate ID type. |
04 June 2008 | Walter Hamscher |
Described relationship to requirements. Corrected concept-footnote to fact-footnote, specify “HTML” head, other typos. Corrected wording about transformation rules’ role in turning Inline XBRL content into items whose content is valid in the Target document. |
11 June 2008 | Philip Allen |
Tidied up Conventions section. |
16 June 2008 | Philip Allen |
Clarified XHTML validation requirement. Reworded the application of {footnote references}. Clarified scope of ix:tupleRef behaviour. Removed requirement for sequential values for tuple ordering. Moved non-validatable constraints on ix:header into separate section. Moved non-validatable constraints on ix:hidden into separate section. |
17 June 2008 | Philip Allen |
Changed footnoteLink table to ix:footnoteLink table. Changed xl:id to id. Removed validation rule referring to s.3.5.3 because it is covered by the schema. Clarified the definition of {footnotes}. Corrected xl:loc to link:loc. Simplified the mapping rule for ix:footnoteLink. Re-allocated certain constraints as validation rules. Clarified that certain validation rules apply to the Document Set. |
18 June 2008 | Philip Allen |
Changed "one and only one" to "exactly one" everywhere. Refactored ix:tuple rules to make use of the {tuple content} property. Made ix:order required all tuple children. |
23 June 2008 | Philip Allen |
Merged 3.3 and 3.4 to clarify that access to the DTS is optional. Clarified 3.3 to ensure that only Inline XBRL documents with sufficient metadata can be transformed into XBRL-valid Target Documents. |
25 June 2008 | Philip Allen |
Moved list of requirements to background document. Moved relationship to other specifications to background document. |
27 June 2008 | Philip Allen |
Changed ix:order to decimal to bring it into line with XBRL order attribute. |
10 July 2008 | Hugh Wallis |
Editorial for publication as Candidate Recommendation. |
12 August 2008 | Philip Allen |
Added normative schema as appendix A. |
14 August 2008 | Philip Allen |
Split specification and schema into separate documents. |
05 September 2008 | Philip Allen |
Added ix:footnoteRefs to list of attributes. {sign} is now defined correctly as true or false. |
12 September 2008 | Philip Allen |
Moved contextRef to ix:contextRef and added it to list of attributes. Moved unitRef to ix:unitRef and added it to list of attributes. |
23 September 2008 | Ian Stokes-Rees |
Added references to transformation namespaces and normative transformation rules. |
25 September 2008 | Ian Stokes-Rees |
Namespaces for ixt and ixts merged with ix. |
26 September 2008 | Philip Allen |
Constrained transformation rules to prevent them from being used in place of ix:sign. Added reference to the registry specification. Added reference to the normative copy of the transformation rules registry. |
27 September 2008 | Philip Allen |
Updated ix:format to QName to match schema. Constrained transformation rules to prevent them from being used in place of ix:scale. Added ixt: namespace back in to allow separation of revision management. |
28 September 2008 | Philip Allen |
Updated {x format transformation} to specify relationship to Transformation Rule. Added {x input type} to specify element type implied by Transformation Rule.. Added schema validity requirements for values subject to transformation. Added definitions of Transformation Rules Registry and Specified Registry. Added -Type to non-normative list of input types. Increment revision number. |
29 September 2008 | Philip Allen |
Changed numeric transform output types to ixt:nonNegativeDecimalType. Increment revision number. |
06 October 2008 | Hugh Wallis |
Editorial for publication as CR2. |
19 December 2008 | Philip Allen |
Replaced ix:footnoteLink with ix:footnote. Added attributes for ix:footnoteLink to list of attributes. Added {footnotes} and {footnote references} to ix:fraction, ix:nonFraction and ix:nonNumeric. Added {footnote id} validation rule to ix:fraction, ix:nonFraction and ix:nonNumeric. |
20 January 2009 | Hugh Wallis |
Editorial for publication as CR3. |
26 January 2009 | Philip Allen |
Added clarifying statement mentioning percentages in the description of the use of ix:scale. Corrected scale calculation in tuple ordering sample. Corrected name to ix:name in tuple ordering sample. |
27 January 2009 | Philip Allen |
Added XML Base as a formal processing dependency. Added normative reference to XML Base. |
28 January 2009 | Philip Allen |
Fixed errors in input formats in format code table. Re-ordered format code table. Added XML and XML Names as formal processing dependencies. Added normative references to XML and XML Names. |
02 February 2009 | Philip Allen |
Corrected numbering in ix:footnote section. Corrected link:footnote to ix:footnote in 9.1.2 and 10.1.2. Split ix:footnoteID reference rule into two. Split ix:tupleID reference rule into two. Split xbrli:context reference rule into two. Split xbrli:unit reference rule into two. |
03 February 2009 | Philip Allen |
Added any attributes in other namespaces to ix:fraction, ix:nonFraction, ix:nonNumeric, ix:tuple. Added any attributes in the xml: namespace to ix:footnote. Added missing {footnotes} definition to ix:nonFraction and ix:nonNumeric. Added other attribute mapping rules for ix:footnote, ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple. |
05 February 2009 | Philip Allen |
Changed content models for ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple to reflect anyAttribute ##any instead of ##other. Added anyAttribute ##any to content model for ix:denominator and ix:numerator. Added other attribute mapping rules for ix:denominator and ix:numerator. Corrected link:[arc]roleURI to [arc]roleURI. |
13 February 2009 | Philip Allen |
Changed content models for ix:denominator, ix:fraction, ix:nonFraction, ix:nonNumeric, ix:numerator and ix:tuple back to reflect anyAttribute ##other to bring them into line with XBRL factAttrs. Moved decimals to ix:decimals so that we no longer have any unqualified attributes and added it to list of attributes. Moved precision to ix:precision so that we no longer have any unqualified attributes and added it to list of attributes. Made ix:arcrole, ix:footnoteLinkRole and ix:footnoteRole optional, to agree with the schema. Changed properties for {arcrole}, {footnoteLinkRole} and {footnoteRole} to use standard defaults if absent. Added ix:footnoteRefs, {footnotes} and {footnote references} to ix:tuple. Corrected {tuple content} property to ignore intermediate HTML elements. Added {format} properties to ix:denominator, ix:nonFraction, ix:nonNumeric, and ix:numerator. Added validation rule for format code value to ix:denominator, ix:nonFraction, ix:nonNumeric, and ix:numerator. Referenced the definition of expanded names. Corrected format matching definitions to use expanded names. Corrected some references in section 2.1. Expanded namespace references. |
02 March 2009 | Philip Allen |
Corrected unclear content model for ix:exclude so that it now matches ix:nonNumeric. Added implied "text node only" content model to ix:nonFraction, ix:denominator and ix:numerator. Corrected location prohibition on ix:header from child of xhtml element to descendant. Corrected precision to ix:precision in examples. Corrected {unit definition} so that it references {unit reference} Corrected {context definition} so that it references {context reference} |
21 March 2009 | Philip Allen |
Adding missing angle-brackets in content models. |
23 March 2009 | Philip Allen |
Added reference to link:footnote in ix:resources link:roleRef mapping rules. Added reference to link:footnoteArc in ix:resources link:arcroleRef mapping rules. An ix:references element is now needed for each Target Document. Corrected {tuple content} property to prevent conflict between descendant and reference models. Allow xsi:nil in place of ix:decimals or ix:precision. |
24 March 2009 | Philip Allen |
Changed {id} to {tuple id} for clarity. |
26 March 2009 | Philip Allen |
Corrected content model syntax for ix:header. |
30 March 2009 | Philip Allen |
New validation rule requiring xml:lang to be in scope of ix:footnote. New mapping rule for xml:lang. |
31 March 2009 | Philip Allen |
New validation rule prohibiting self-recursion in ix:tuple. New validation rule requiring non-negative numbers in ix:denominator, ix:nonFraction and ix:numerator. |
01 April 2009 | Philip Allen |
Changed 3.2 to make de-duplication optional. Changed content model for ix:resources to make content optional to agree with schema. |
02 April 2009 | Philip Allen |
Changed all ix: attributes to attributes with no namespace name. Changed anyAttribute rules for ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple. |
03 April 2009 | Philip Allen |
Added id to list of ix: attributes. Added id to content models for ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple. Added {id} property to ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple. Added mapping rule for id to ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple. Added validation rule for id to ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple. Changed 12.1.2 to make id attributes unique across all element types. Added ixt:numdash. |
06 April 2009 | Philip Allen |
Corrected 13.1.1 from children to descendants. Added xsi to list of namespace prefixes. |
13 July 2009 | Philip Allen |
Format change: added no-break spaces to source where spaces are eaten by html generator. Grammatical correction: changed "an" to "a" where required. Reworded 9.1.1 xsi:nil rule to remove possible ambiguity. Renamed the "Inline XBRL attributes" table to "Attributes" to avoid confusion with defined terms. |
10 August 2009 | Philip Allen |
Re-wrote content model for ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple to describe the schema (##other) more closely. Re-wrote content model for ix:denominator, ix:footnote and ix:numerator to allow xsi namespace, to bring it in line with XBRL v2.1. Re-wrote definition of {other attributes} for ix:denominator, ix:footnote, ix:fraction, ix:nonFraction, ix:nonNumeric, ix:numerator and ix:tuple to exclude only attributes defined in this specification. |
13 August 2009 | Philip Allen |
Removed quotation marks around 'true' in 9.1.1 to make it clear that the value stated is intended canonically and not lexically. |
02 September 2009 | Philip Allen |
Added escape attribute to ix:nonNumeric. Simplified "recursive children" wording to "descendant nodes" in {value} of ix:nonNumeric. Added escape wording in {value} of ix:nonNumeric. |
08 September 2009 | Philip Allen |
Added requirement to resolve HTML URIs prior to escaping HTML. |
14 September 2009 | Philip Allen |
Updated for release as CR5. |
23 September 2009 | Philip Allen |
Clarified that transformation rules act upon the schema normalized value. Removed unused reference to "schema document". |
26 September 2009 | Philip Allen |
Added escape attribute to table of attributes. |
02 October 2009 | Hugh Wallis |
Editorial for publication as CR5 Updated reference links. |
09 October 2009 | Philip Allen |
Added contributor. |
16 October 2009 | Philip Allen |
Relaxed constraint on ix:tuple where xsi:nil is present, in line with change to schema. Refactored ix:fraction by merging descendant constraints into one. Relaxed descendant constraint on ix:fraction where xsi:nil is present, in line with change to schema. |
23 October 2009 | Philip Allen |
Added xsi:nil=boolean to XML representation summaries for ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple. Child mappings for ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple are now dependent upon not having xsi:nil with the value true. |
11 November 2009 | Philip Allen |
Added clarification to ix:exclude rubric. Added title attribute to ix:footnote per request of wch. Alphabetised the mapping list for ix:footnote. |
12 November 2009 | Philip Allen |
Corrected escaping description and extracted {relevant content} from {value}. Relaxed content model for ix:footnote to allow for recursion. Added note about nesting to description of ix:footnote. Added {relevant content} to modify {footnote value}. |
13 November 2009 | Philip Allen |
Added references to ix:footnote in section on ix:exclude. Replaced tuple children uniqueness constraint with de-duplication of children with matching order attributes. Added definition of Whitespace Normalized Value. Required tuple child duplicates to have the same Whitespace Normalized Value. |
16 November 2009 | Philip Allen |
Changed date to 2009-11-16 and status to DCR in expectation of publication as CR6. |
19 November 2009 | Hugh Wallis |
Editorial for publication as CR, approved by the XSB. |
21 December 2009 | Philip Allen |
Removed definition of {footnote value}. Rename definition of {relevant content} as {footnote value}. |
23 December 2009 | Philip Allen |
Amended definition of Inline XBRL Document to make it clear that other elements are not required. |
04 January 2010 | Philip Allen |
Added constraint on Transformation Rule input types that they may not be used to describe a negative numeric value. |
12 January 2010 | Philip Allen |
Tweaked wording of statement about tuple content de-duplication. Corrected Whitespace Normalized Value to apply to attributes as well as elements. |
16 January 2010 | Philip Allen |
Removed xsi:nil from XML representation summaries because it is included automatically by definition. Removed references to xsi: namespace in ix:footnote, ix:denominator and ix:numerator because it is included automatically by definition. Re-worded content models for ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple to reflect better the underlying "##other". Re-worded {other attributes} to match the same wording. Removed {other attributes} and associated mapping for ix:denominator and ix:numerator as such attributes have never been legal in iXBRL or XBRL. Re-worded all sentences using the phrase "namespace name". Added the title atttribute to the list of defined attributes. Re-ordered content models where they were out of alphabetical order. Corrected ix:tuple validation rule to require tuple content only if not nilled. Added ix:tuple validation rule to forbid tuple content if nilled. Re-worded the tuple content constraint to make it clearer. Re-ordered tuple validation rules where they were out of alphabetical order. |
18 January 2010 | Philip Allen |
Restored inclusion of xsi: attributes in {other attributes} for ix:footnote, ix:denominator and ix:numerator. Restored mapping for {other attributes} for ix:denominator and ix:numerator. Fixed typo in 13.1.1. Amended Holger's affiliation. |
18 January 2010 | Ian Stokes-Rees |
Added recurring date and year/month date types, including associated transforms. |
19 January 2010 | Philip Allen |
Added URI resolution for HTML content of ix:footnote. Tidied up some syntax. |
21 January 2010 | Philip Allen |
Changed definition of Validating Conformant Processor to clarify that it is not allowed to transform documents which fail validation. Changed registry support requirement to cover both Conformant Processor and Validating Conformant Processor. |
22 January 2010 | Philip Allen |
Added actual value to unresolved URI mapping requirement. Reworded descriptions of transformations. Updated Ray Lam's address. Changed date to 2010-01-22 and status to DPR in expectation of publication as PREC. |
28 January 2010 | Philip Allen |
Updated non-normative schema location to match theoretical DPR date. |
27 January 2010 | Hugh Wallis |
Editorial to reflect publication as PR |
01 February 2010 | Philip Allen |
Updated affiliation for David vun Kannon. Removed date from URI of non-normative schema as REC will presumably be in undated location. Redefined {other attributes} in terms of namespaces instead of namespace names. Stuff doesn't display "in the document", it's the "browser". Corrected illegal tupleID in non-normative example. |
08 February 2010 | Philip Allen |
Reworded attribute absence status to use the normative definition of absent. Added id attribute to ix:footnote and ix:references. Added validation rule for id attribute on ix:footnote and ix:references. Added validation rule to constrain multiple id attributes on ix:references. Added mapping rule for id attribute on ix:footnote and ix:references. Corrected {role} to {footnote role}. Added {other attributes} to ix:references. Added constraint to simululate ##other(w.r.t. xbrli) in ix:fraction, ix:nonFraction, ix:nonNumeric, ix:tuple and ix:references. Normalised wording for {id} mapping to bring into line with {other attributes}. |
21 March 2010 | Philip Allen |
Added definition of this specification to clarify position of errata. Reworded definition of namespace to clarify relationship to this specification. Corrected namespace for Specified Registry. Added section on processor support for transformations. Added constraints on the content of registries. Added no ix: descendants constraint to clarify the content model of ix:fraction. |
19 April 2010 | Philip Allen |
Changed errata to errata corrections in line with XII process document. Added reference to XSB processes document. Re-worded description of main XML namespace. Entered final value for namespace for specified registry. |
20 April 2010 | Hugh Wallis |
Editorial for publication of RECOMMENDATION |
08 August 2011 | Philip Allen |
Created definition for reference-equal. Replaced s-equal with reference-equal in mappings for ix:references and ix:resources. |
This appendix contains a list of the errata that have been incorporated into this document. This represents all those errata corrections that have been approved by the XBRL International Rendering Working Group up to and including 17 August 2011.
Number | Date | Sections | Details |
---|---|---|---|
1. | 17 August 2011 | Section 2.5 | Added the definition for a new term, reference-equal. |
2. | 17 August 2011 |
Section
11 Section 12 | Replaced s-equal with reference-equal. |