Inline XBRL Part 1: Specification 1.1

Public Working Draft 13 February 2013

Copyright © 2010, 2011, 2013 XBRL International Inc., All Rights Reserved.

This version:
<http://www.xbrl.org/Specification/inlineXBRL-part1/PWD-2013-02-13/inlineXBRL-part1-PWD-2013-02-13.html>
Editor:
Philip Allen, CoreFiling Limited <plega@corefiling.com>
Contributor:

Status

Circulation of this Public Working Draft is unrestricted. This document is normative. Other documents may supersede this document. 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.

Abstract

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.

Table of Contents

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 continuation element
4.1 Definition
4.1.1 Constraints on ix:continuation
4.1.2 Validation rules
5 The exclude element
5.1 Definition
5.1.1 Constraints on ix:exclude
6 The footnote element
6.1 Definition
6.1.1 Constraints on ix:footnote
6.1.2 Validation rules
7 The fraction, denominator and numerator elements
7.1 Definitions
7.1.1 Constraints on ix:fraction
7.1.2 Validation rules
7.2 Mapping
7.2.1 Element type
7.2.2 Attributes
7.2.3 Children
8 The header element
8.1 Definition
8.1.1 Constraints on ix:header
8.1.2 Non-validatable constraints on ix:header
8.1.3 Validation rules
9 The hidden element
9.1 Definition
9.1.1 Constraints on ix:hidden
9.1.2 Non-validatable constraints on ix:hidden
10 The nonFraction element
10.1 Definition
10.1.1 Constraints on ix:nonFraction
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 nonNumeric element
11.1 Definition
11.1.1 Constraints on ix:nonNumeric
11.1.2 Validation rules
11.2 Mapping
11.2.1 Element type
11.2.2 Attributes
11.2.3 Children
11.3 Example
12 The references element
12.1 Definition
12.1.1 Constraints on ix:references
12.1.2 Validation rules
12.2 Mapping
12.2.1 Element type
12.2.2 Attributes
13 The relationship element
13.1 Definition
13.1.1 Constraints on ix:relationship
13.1.2 Validation rules
13.2 Mapping
14 The resources element
14.1 Definition
14.1.1 Constraints on ix:resources
14.1.2 Validation rules
14.2 Mapping
15 The tuple element
15.1 Definition
15.1.1 Constraints on ix:tuple
15.1.2 Validation rules
15.2 Mapping
15.2.1 Element type
15.2.2 Attributes
15.2.3 Children
16 Transformations
16.1 Transformation Rules
16.1.1 Constraints on Transformation Rules
16.2 The Transformation Rules Registry
16.2.1 Constraints on Transformation Rules Registries
16.3 The Specified Registry
16.4 Processor support for transformations

Appendices

A References
B Intellectual property status (non-normative)
C Acknowledgements (non-normative)
D Document history (non-normative)
E Errata corrections in this document

Tables

1 Inline XBRL Elements
2 Attributes
3 XML representation summary: ix:continuation element information item
4 XML representation summary: ix:exclude element information item
5 XML representation summary: ix:footnote element information item
6 XML representation summary: ix:fraction element information item
7 XML representation summary: ix:denominator element information item
8 XML representation summary: ix:numerator element information item
9 XML representation summary: ix:header element information item
10 XML representation summary: ix:hidden element information item
11 XML representation summary: ix:nonFraction element information item
12 XML representation summary: ix:nonNumeric element information item
13 XML representation summary: ix:references element information item
14 XML representation summary: ix:relationship element information item
15 XML representation summary: ix:resources element information item
16 XML representation summary: ix:tuple element information item

Examples

1 Nesting within an HTML table
2 Nesting within Markup Elements
3 Ordering of tuples
4 Cross-nested tuples

Definitions

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


1 Introduction (non-normative)

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.

2 About this document

2.1 This specification

This Specification consists of this document Inline XBRL Part 1: Specification 1.1 and [Inline XBRL Schema] and all errata corrections, if any.

2.2 Conventions used in this document

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, content, 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, footnote resource, 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 and text node 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].

2.3 XML namespace

The XML namespace http://www.xbrl.org/PWD-2013-02-13/inlineXBRL is to be used exclusively for XML components described in this Specification.

Previous versions of this Specification had the following namespaces:

Namespace name Version Date published
http://www.xbrl.org/2008/inlineXBRL 1.0 20 April 2010

2.4 Namespace prefixes

This Specification uses a number of namespace prefixes when describing elements and attributes. These are:

Namespace prefix Namespace name
ix http://www.xbrl.org/PWD-2013-02-13/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

2.5 Definitions

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.

3 Structure

3.1 The Inline XBRL Document Set

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/PWD-2013-02-13/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:

Table 1: Inline XBRL Elements
Name
ix:continuation
ix:denominator
ix:exclude
ix:footnote
ix:fraction
ix:header
ix:hidden
ix:nonFraction
ix:nonNumeric
ix:numerator
ix:references
ix:relationship
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:

Table 2: Attributes
Name
arcrole
contextRef
continuationFrom
decimals
escape
footnoteRole
format
fromRefs
id
linkRole
name
precision
order
scale
sign
target
title
toRefs
tupleID
tupleRef
unitRef

3.2 The Target Document

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.

3.3 Processors

3.3.1 Definitions

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:

  1. in conformance with the rules described herein; and

  2. composed only of Inline XBRL Documents that

    • have a root element with a local name of html and a namespace name of http://www.w3.org/1999/xhtml; and
    • are in conformance with the rules defined by the XHTML + iXBRL Schema.

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.

3.3.2 Processing dependencies

The processing of Inline XBRL Documents depends on [XML], [XML Names] and [XML Base].

3.4 The schema

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/PWD-2013-02-13/inlineXBRL/xhtml-inlinexbrl-1_1.xsd.

4 The continuation element

4.1 Definition

The ix:continuation element is used to define data that is to be treated as part of ix:footnote or ix:nonNumeric elements, and has the following properties:

Table 3: XML representation summary: ix:continuation element information item
<ix:continuation

  continuedAt = NCName

  id = NCName

  Content: ( any element | any text node )*

</ix:continuation>
Property Representation
{continuation reference} The actual value of the continuedAt attribute.
{continuous content} The concatenation of the content of the ix:continuation element and the {continuous content} property of any ix:continuation element which has a {id} property which is equal to the {continuation reference} property.
{id} The actual value of the id attribute.

The purpose of the ix:continuation element is to define text content which is to be added to the {continuous content} property of ix:footnote or ix:nonNumeric elements. It has no other use.

4.1.1 Constraints on ix:continuation

The ix:continuation element MUST have an id attribute.

The ix:continuation element MUST NOT be a descendant of an ix:hidden element.

4.1.2 Validation rules

The {id} property MUST NOT match the {id} property of any other element in the Inline XBRL Document Set.

If the continuedAt attribute is present, the {continuation reference} property MUST NOT match the {continuation reference} property of any other element in the Inline XBRL Document Set.

There MUST exist an ix:footnote, ix:nonNumeric or other ix:continuation element in the Inline XBRL Document Set with an {id} property which has a value matching the {continuation reference} property.

5 The exclude element

5.1 Definition

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:

Table 4: XML representation summary: ix:exclude element information item
<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 {value} properties of ix:footnote or ix:nonNumeric. It has no other use.

5.1.1 Constraints on ix:exclude

The ix:exclude element MUST be a descendant of at least one ix:continuation, ix:footnote or ix:nonNumeric element.

6 The footnote element

6.1 Definition

The ix:footnote element represents the link:footnote element, and has the following properties:

Table 5: XML representation summary: ix:footnote element information item
<ix:footnote

  any attribute with a namespace name which has the value http://www.w3.org/XML/1998/namespace

  footnoteRole = anyURI

  continuedAt = NCName

  id = NCName

  title = string

  Content: ( any element | any text node ) +

</ix:footnote>
Property Representation
{continuation reference} The actual value of the continuedAt attribute.
{continuous content} The concatenation of the content of the ix:footnote element and the {continuous content} property of any ix:continuation element which has a {id} property which is equal to the {continuation reference} property.
{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 {continuous content} property, 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} 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 ix:footnote element is tied to the XBRL fact or facts that it refers to by the use of the ix:relationship element.

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 {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.

In some cases, however, the components of {value} are interwoven with other elements to the extent that simple exclusion is not sufficient. In this case, the ix:continuation element can be used to split the components between non-contiguous elements.

6.1.1 Constraints on ix:footnote

The ix:footnote element MUST have an id attribute.

6.1.2 Validation rules

If the continuedAt attribute is present, the {continuation reference} property MUST NOT match the {continuation reference} property of any other element in the Inline XBRL Document Set.

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.

7 The fraction, denominator and numerator elements

7.1 Definitions

The ix:fraction element denotes an XBRL fact which is an element of type, or derived from type, fractionItemType; and has the following properties:

Table 6: XML representation summary: ix:fraction element information item
<ix:fraction

  any attribute with a namespace name which has a value other than http://www.xbrl.org/PWD-2013-02-13/inlineXBRL

  contextRef = NCName

  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 http://www.xbrl.org/PWD-2013-02-13/inlineXBRL | ix:fraction | ix:denominator | ix:numerator ) +

</ix:fraction>
Property Representation
{concept name} The actual value of the name attribute.
{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/PWD-2013-02-13/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:

Table 7: XML representation summary: ix:denominator element information item
<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:

Table 8: XML representation summary: ix:numerator element information item
<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 10 below.

7.1.1 Constraints on ix:fraction

If the ix:fraction element has an ix:fraction  child, it MUST NOT have any other element children.

The ix:fraction element MUST have contextRef, name 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, ix:fraction and ix:numerator with a namespace name which has a value of http://www.xbrl.org/PWD-2013-02-13/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 "-".

7.1.2 Validation rules

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.

7.2 Mapping

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:

7.2.1 Element type

The element type MUST be equal to the {concept name} property.

7.2.2 Attributes

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.

7.2.3 Children

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.

8 The header element

8.1 Definition

The ix:header element contains the non-displayed portions of the Target Document and has the following properties:

Table 9: XML representation summary: ix:header element information item
<ix:header>

  Content: (ix:hidden? ix:references* ix:resources?)

</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.

8.1.1 Constraints on 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:hidden child element.

The ix:header element MUST have no more than one ix:resources child element.

8.1.2 Non-validatable constraints on 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.

8.1.3 Validation rules

There MUST be at least one ix:header element in the Inline XBRL Document Set.

9 The hidden element

9.1 Definition

The ix:hidden element is used to contain XBRL facts that are not to be displayed in the browser, and has the following properties:

Table 10: XML representation summary: ix:hidden element information item
<ix:hidden>

  Content: ( ix:footnote | ix:fraction | ix:nonFraction | ix:nonNumeric | ix:tuple) +

</ix:hidden>
Property Representation
{footnote} The ix:footnote children of the ix:hidden element.
{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.

9.1.1 Constraints on ix:hidden

The ix:hidden element MUST be a child of the ix:header element.

9.1.2 Non-validatable constraints on ix:hidden

If an ix:footnote, ix:fraction, ix:nonFraction, ix:nonNumeric or ix:tuple element is not to be displayed, it MUST be a child of ix:hidden.

10 The nonFraction element

10.1 Definition

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:

Table 11: XML representation summary: ix:nonFraction element information item
<ix:nonFraction

  any attribute with a namespace name which has a value other than http://www.xbrl.org/PWD-2013-02-13/inlineXBRL

  contextRef = NCName

  decimals = xbrli:decimalsType

  format = QName

  id = NCName

  name = QName

  order = decimal

  precision = xbrli:precisionType

  target = NCName

  tupleRef = NCName

  scale = integer

  sign = string

  unitRef = NCName

>

  Content: ( ix:nonFraction | any 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.
{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/PWD-2013-02-13/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 {value} property of the ix:nonFraction child element or, if there is no ix:nonFraction child element, 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.

10.1.1 Constraints on ix:nonFraction

The ix:nonFraction element MUST have exactly one child which SHALL be either an ix:nonFraction element; or a text node.

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 have contextRef, name and unitRef attributes.

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 "-".

The text node child, if present, MUST be a non-empty string.

10.1.2 Validation rules

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 {format} property MUST match the {format} property of any descendant ix:nonFraction element.

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.

10.2 Mapping

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:

10.2.1 Element type

The element type MUST be equal to the {concept name} property.

10.2.2 Attributes

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.

10.2.3 Children

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.

10.3 Example

Example 1: Nesting within an HTML table

Inline XBRL markup, showing placement of XBRL metadata within a typical HTML table structure.
<td class="rightalign">
<b>
<ix:nonFraction name="pt:TangibleFixedAssets" contextRef="e2003" id="s2-1" precision="4" unitRef="GBP">
7464
</ix:nonFraction>
</b>
</td>
<td class="rightalign">
<ix:nonFraction name="pt:IntangibleFixedAssets" contextRef="e2003" precision="3" unitRef="GBP">
750
</ix:nonFraction>
</td>

Resulting XBRL Instance.

<pt:TangibleFixedAssets contextRef="e2003" id="s2-1" precision="4" unitRef="GBP">
7464
</pt:TangibleFixedAssets>
<pt:IntangibleFixedAssets contextRef="e2003" precision="3" unitRef="GBP">
750
</pt:IntangibleFixedAssets>

11 The nonNumeric element

11.1 Definition

The ix:nonNumeric element denotes an XBRL non-numeric item which has the following properties:

Table 12: XML representation summary: ix:nonNumeric element information item
<ix:nonNumeric

   any attribute with a namespace name which has a value other than http://www.xbrl.org/PWD-2013-02-13/inlineXBRL

  contextRef = NCName

  continuedAt = NCName

  escape = boolean

  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.
{continuation reference} The actual value of the continuedAt attribute.
{continuous content} The concatenation of the content of the ix:nonNumeric element and the {continuous content} property of any ix:continuation element which has a {id} property which is equal to the {continuation reference} 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/PWD-2013-02-13/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 {continuous content} property, 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 is 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.

In some cases, however, the components of {value} are interwoven with other elements to the extent that simple exclusion is not sufficient. In this case, the ix:continuation element can be used to split the components between non-contiguous elements.

11.1.1 Constraints on ix:nonNumeric

The ix:nonNumeric element MUST have contextRef and name 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.

11.1.2 Validation rules

If the continuedAt attribute is present, the {continuation reference} property MUST NOT match the {continuation reference} property of any other element in the Inline XBRL Document Set.

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 format attribute is present, the {value} property MUST be valid in accordance with the {format input type} 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 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.

11.2 Mapping

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:

11.2.1 Element type

The element type MUST be equal to the {concept name} property.

11.2.2 Attributes

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.

11.2.3 Children

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.

11.3 Example

Example 2: Nesting within Markup Elements

Inline XBRL markup, showing XBRL content interspersed with formatting code.

<ix:nonNumeric name="pt:TypeOrdinaryShare" contextRef="y2003">
<i>
<b>
A
</b>
shares
</i>
</ix:nonNumeric>

Resulting XBRL Instance.

<pt:TypeOrdinaryShare contextRef="y2003">
A shares
</pt:TypeOrdinaryShare>

12 The references element

12.1 Definition

The ix:references element is used to contain reference elements which are required by a given Target Document, and has the following properties:

Table 13: XML representation summary: ix:references element information item
<ix:references

  any attribute with a namespace name which has a value other than http://www.xbrl.org/PWD-2013-02-13/inlineXBRL

  id = NCName

  target = NCName

>

  Content: ( link:schemaRef | link:linkbaseRef) +

</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/PWD-2013-02-13/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.

12.1.1 Constraints on 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.

12.1.2 Validation rules

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.

12.2 Mapping

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:

12.2.1 Element type

The element type MUST be xbrli:xbrl.

12.2.2 Attributes

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.

13 The relationship element

13.1 Definition

The ix:relationship element has the following properties:

Table 14: XML representation summary: ix:relationship element information item
<ix:relationship

  any attribute with a namespace name which has the value http://www.w3.org/XML/1998/namespace

  arcrole = anyURI

  fromRefs = List of NCName values

  linkRole = anyURI

  toRefs = List of NCName values

</ix:relationship>
Property Representation
{arcrole} The actual value of the arcrole attribute or, if absent, http://www.xbrl.org/2003/arcrole/fact-footnote.
{facts} The set of ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple  elements in the Inline XBRL Document Set for which the {id} property matches the {from} property.
{from} The set of space-separated references contained in the actual value of the fromRefs attribute.
{link role} The actual value of the linkRole attribute or, if absent, http://www.xbrl.org/2003/role/link.
{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.
{references} The set of ix:footnote, ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple  elements in the Inline XBRL Document Set for which the {id} property matches the {to} property.
{to} The set of space-separated references contained in the actual value of the toRefs attribute.

The ix:relationship element is used to define relationships between XBRL facts or between XBRL facts and footnote resources. The type of relationship is indicated by the value of the arcrole attribute, such as http://www.xbrl.org/2009/arcrole/fact-explanatoryFact for fact to fact relationships.

13.1.1 Constraints on ix:relationship

The ix:relationship element MUST be a child of the ix:resources element.

The ix:relationship element MUST have fromRefs and toRefs attributes.

The ix:relationship element MUST NOT have any attributes with a namespace name which has a value of http://www.xbrl.org/2003/instance.

13.1.2 Validation rules

For each token in the {from} property there MUST NOT exist a token in the {to} propertywhich has a matching value.

For each token in the {from} property there MUST exist an ix:fraction, ix:nonFraction, ix:nonNumeric or ix:tuple  element in the Inline XBRL Document Set with an {id} property which has a matching value.

For each token in the {to} property there MUST exist an ix:footnote, ix:fraction, ix:nonFraction, ix:nonNumeric or ix:tuple  element in the Inline XBRL Document Set with an {id} property which has a matching value.

If any element in the {references} property is an ix:footnote element, then all the elements in the {references} property MUST be ix:footnote elements.

13.2 Mapping

If the elements in the {references} property are ix:footnote elements, then for each F in the {facts} property there MUST for each element N in the {references} property 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 prescribed in this Specification for F, where the relationship r is defined by a link:footnoteArc element (with xlink:arcrole attribute equal to the {arcrole} property) within a link:footnoteLink element (with xlink:role attribute equal to the {link role} property), such that:

  1. for each of the attributes in the {other attributes} property of N, n shall have a matching attribute with a value equal to the {other attribute value} property of N;
  2. the content of n is equal to the {value} property of N;
  3. the id attribute of n is equal to the value of the {id} property of N;
  4. the value t of xml:lang in scope for n shall be equal to the value T of xml:lang in scope for N;
  5. the xlink:role attribute of n is equal to the {footnote role} property of N; and
  6. the xlink:title attribute of n is equal to the {title} property of N.

Otherwise, for each element F in the {facts} property there MUST for each element N in the {references} property exist in the Target Document identified by the {target} property of F an XBRL fact n with relationship r from the XBRL fact f where both facts satisfy the applicable mapping rules prescribed in this Specification for f and F respectively, and the relationship r is defined by a link:footnoteArc element (with xlink:arcrole attribute equal to the {arcrole} property) within a link:footnoteLink element (with xlink:role attribute equal to the {link role} property).

14 The resources element

14.1 Definition

The ix:resources element is used to contain resource elements which are required by one or more Target Documents, and has the following properties:

Table 15: XML representation summary: ix:resources element information item
<ix:resources>

  Content: ( ix:relationship | link:roleRef | link:arcroleRef | xbrli:context | xbrli:unit) *

</ix:resources>
Property Representation
{value set} All children.

14.1.1 Constraints on ix:resources

The ix:resources element MUST be a child of the ix:header element.

14.1.2 Validation rules

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.

14.2 Mapping

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.

15 The tuple element

15.1 Definition

The ix:tuple element denotes an XBRL tuple which has the following properties:

Table 16: XML representation summary: ix:tuple element information item
<ix:tuple

  any attribute with a namespace name which has a value other than http://www.xbrl.org/PWD-2013-02-13/inlineXBRL

  id = NCName

  name = QName

  order = decimal

  target = NCName

  tupleID = NCName

  tupleRef = NCName

>

  Content: ( any children with a namespace name which has a value other than http://www.xbrl.org/PWD-2013-02-13/inlineXBRL | ix:fraction | ix:nonFraction | ix:nonNumeric | ix:tuple | any text node ) *

</ix:tuple>
Property Representation
{concept name} The actual value of the name attribute.
{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/PWD-2013-02-13/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/PWD-2013-02-13/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:

Example 3: Ordering of tuples

Inline XBRL markup, showing tuples displayed out of order.

<ix:tuple name="ae:DepreciationRate">
<table>
<tr>
<td>
<ix:nonNumeric name="ae:CategoryItem" contextRef="y2003" order="1">
Land &amp; Buildings
</ix:nonNumeric>
</td>
<td style="padding-left: 40px">
<ix:nonFraction name="ae:RateDepreciation" scale="-2" precision="2" contextRef="y2003" order="3" unitRef="pure">
15
</ix:nonFraction>
%
</td>
<td>
<ix:nonNumeric name="ae:TypeDepreciation" contextRef="y2003" order="2">
straight line
</ix:nonNumeric>
</td>
</tr>
</table>
</ix:tuple>

Resulting XBRL instance.

<ae:DepreciationRate>
<ae:CategoryItem contextRef="y2003">
Land &amp; Buildings
</ae:CategoryItem>
<ae:TypeDepreciation contextRef="y2003">
straight line
</ae:TypeDepreciation>
<ae:RateDepreciation precision="2" contextRef="y2003" unitRef="pure">
0.15
</ae:RateDepreciation>
</ae:DepreciationRate>

Example 4: Cross-nested tuples

Inline XBRL markup, showing hidden tuple in header and children of different tuples sharing the same table rows.

<div style="display:none">
<ix:header>
[...]
<ix:hidden>
<ix:nonNumeric contextRef="y2002" name="pt:DescriptionSharesOrDebentures" tupleRef="TREF2" order="1">
£1 Ordinary shares
</ix:nonNumeric>
</ix:hidden>
</ix:header>
</div>
<table>
<tr>
<td>
<ix:tuple name="ae:Shareholding" tupleID="TREF1"/>
<ix:tuple name="ae:Shareholding" tupleID="TREF2"/>
<ix:nonNumeric contextRef="y2003" name="pt:DescriptionSharesOrDebentures" tupleRef="TREF1" order="1">
£1 Ordinary shares
</ix:nonNumeric>
</td>
<td>
<ix:nonFraction precision="2" contextRef="e2003" name="pt:SharesDirectorOrExecutive" tupleRef="TREF1" unitRef="shares" order="2">
50
</ix:nonFraction>
</td>
<td>
<ix:nonFraction precision="2" contextRef="e2002" name="pt:SharesDirectorOrExecutive" tupleRef="TREF2" unitRef="shares" order="2">
50
</ix:nonFraction>
</td>
</tr>
</table>

Resulting XBRL instance.

<xbrl>
[...]
<ae:Shareholding>
<pt:DescriptionSharesOrDebentures contextRef="y2003">
£1 Ordinary shares
</pt:DescriptionSharesOrDebentures>
<pt:SharesDirectorOrExecutive precision="2" contextRef="e2003" unitRef="shares">
50
</pt:SharesDirectorOrExecutive>
</ae:Shareholding>
<ae:Shareholding>
<pt:DescriptionSharesOrDebentures contextRef="y2002">
£1 Ordinary shares
</pt:DescriptionSharesOrDebentures>
<pt:SharesDirectorOrExecutive precision="2" contextRef="e2002" unitRef="shares">
50
</pt:SharesDirectorOrExecutive>
</ae:Shareholding>
</xbrl>

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.

15.1.1 Constraints on 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.

15.1.2 Validation rules

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.

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.

15.2 Mapping

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:

15.2.1 Element type

The element type MUST be equal to the {concept name} property.

15.2.2 Attributes

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.

15.2.3 Children

The element MUST have children with the following properties unless it has an xsi:nil attribute with the value true:

child elements The child elements are the {tuple content} property, ordered in accordance with the {tuple order} property.

16 Transformations

16.1 Transformation Rules

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.

16.1.1 Constraints on Transformation Rules

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.

16.2 The Transformation Rules Registry

The Transformation Rules Registry is a registry structured 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.

16.2.1 Constraints on Transformation Rules Registries

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.

16.3 The Specified Registry

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

16.4 Processor support for transformations

A Conformant Processor and a Validating Conformant Processor:

Appendix A References

HTML
W3C (World Wide Web Consortium). "HTML 4.01 Specification"
Dave Raggett
, Arnaud Le Hors, and Ian Jacobs.
(See http://www.w3.org/TR/html401/)
IETF RFC 2119
IETF (Internet Engineering Task Force). "RFC 2119: Key words for use in RFCs to Indicate Requirement Levels"
Scott Bradner.

(See http://www.ietf.org/rfc/rfc2119.txt)
Inline XBRL Schema
XBRL International Inc.. "Inline XBRL Part 2: Schema 1.0"
Philip Allen
, and Ian Stokes-Rees.
(See http://www.xbrl.org/Specification/inlineXBRL-part2/REC-2010-04-20/inlineXBRL-part2-REC-2010-04-20.html)
Inline XBRL Transformations
XBRL International Inc.. "Inline XBRL Transformations 1.0"
Philip Allen
, and Ian Stokes-Rees.
(See http://www.xbrl.org/Specification/inlineXBRL-specifiedTransformations/REC-2010-04-20/inlineXBRL-specifiedTransformations-REC-2010-04-20.html)
TECH-WG-PROCESSES
XBRL International Inc. "XBRL International Technical Working Group and Work Product Process"
XBRL International Standards Board.

(See http://www.xbrl.org/XSB/XBRL_Technical_Working_Group_Processes-Approved-2007-04-17.htm)
XBRL 2.1
XBRL International Inc.. "Extensible Business Reporting Language (XBRL) 2.1 Includes Corrected Errata Up To 2008-07-02"
Phillip Engel
, Walter Hamscher, Geoff Shuetrim, David vun Kannon, and Hugh Wallis.
(See http://www.xbrl.org/Specification/XBRL-RECOMMENDATION-2003-12-31+Corrected-Errata-2008-07-02.htm)
XBRL Function Definitions
XBRL International Inc.. "Function definition 1.0"
Geoff Shuetrim.

(See http://www.xbrl.org/Specification/functionDefinition/REC-2009-06-22/functionDefinition-REC-2009-06-22.html)
XBRL Registry
XBRL International Inc.. "XBRL Registry Specification 1.0"
Geoff Shuetrim.

(See http://www.xbrl.org/Specification/registry/REC-2009-06-22/registry-REC-2009-06-22.html)
XLINK
W3C (World Wide Web Consortium). "XML Linking Language (XLink) Version 1.0"
Steve DeRose
, Eve Maler, and David Orchard.
(See http://www.w3.org/TR/xlink/)
XML
W3C (World Wide Web Consortium). "Extensible Markup Language (XML) 1.0 (Fifth Edition)"
Tim Bray
, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, and François Yergeau.
(See http://www.w3.org/TR/REC-xml/)
XML Base
W3C (World Wide Web Consortium). "XML Base"
Johnathan Marsh.

(See http://www.w3.org/TR/xmlbase/)
XML Infoset
W3C (World Wide Web Consortium). "XML Information Set (Second Edition)"
John Cowan
, and Richard Tobin.
(See http://www.w3.org/TR/2004/REC-xml-infoset-20040204)
XML Names
W3C (World Wide Web Consortium). "Namespaces in XML 1.0 (Second Edition)"
Tim Bray
, Dave Hollander, Andrew Layman, and Richard Tobin.
(See http://www.w3.org/TR/REC-xml-names/)
XML Schema Datatypes
W3C (World Wide Web Consortium). "XML Schema Part 2: Datatypes Second Edition"
Paul V. Biron
, and Ashok Malhotra.
(See http://www.w3.org/TR/xmlschema-2/)
XML Schema Structures
W3C (World Wide Web Consortium). "XML Schema Part 1: Structures Second Edition"
Henry S. Thompson
, David Beech, Murray Maloney, and Noah Mendelsohn.
(See http://www.w3.org/TR/xmlschema-1/)
XPath 1.0
W3C (World Wide Web Consortium). "XML Path Language (XPath) 1.0"
James Clark
, and Steve DeRose.
(See http://www.w3.org/TR/xpath/)

Appendix B Intellectual property status (non-normative)

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).

Appendix C Acknowledgements (non-normative)

This document could not have been written without the contributions of many people.

Appendix D Document history (non-normative)

DateAuthorDetails
20 April 2010Philip Allen

Recommendation v1.0.

17 August 2011Philip Allen

Errata release, replacing the use of s-equal with reference-equal.

28 February 2013Philip Allen

Public Working Draft, incorporating:

Addition of ix:continuation.

Added references to definitions of content and footnote resource.

Replaced footnote links with new structure based on ix:relationship.

Corrected tupleID from xs:ID to xs:NCName.

Allowed nesting of ix:nonFraction and ix:fraction.

Appendix E Errata corrections in this document

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 13 February 2013.

No errata have been incorporated into this document.