Copyright ©2009 XBRL International Inc., All Rights Reserved.
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 versioning-feedback@xbrl.org, and to submit notification of any relevant patent rights of which they are aware and provide supporting documentation.
This document is not an XBRL specification as such because it does not define validation rules, relationships or any form of syntax. This document is a formal description of the content of a DTS (Instance documents excluded) without any reference to the syntax used to represent it in any serialisation.
This document was created with the aim of being used as reference documentation by XBRL specifications and software consuming XBRL taxonomies or processing information in a DTS.
The scope of this document is limited to a Taxonomy schema and linkbases. Potential Infoset objects belonging to XBRL Instance documents are not currently defined in this document. Future extensions representing information from an Instance Document are possible at a later time.
1 Introduction
1.1 Background
1.2 Relationship to other work
1.3 Language independence
1.4 Terminology
1.5 Document conventions
1.5.1 Typographic conventions
1.5.1.1 Definition notation
1.5.1.2 Footnote notation
1.5.1.3 Element and attribute notation
1.5.2 Formatting conventions
1.6 Namespaces and namespace prefixes
1.7 XPath
2 XBRL Infoset
2.1 Definitions
2.2 The Information Items
2.2.1 The DTS Information Item
2.2.2 The XBRL Document Information Item
2.2.3 The XBRL Taxonomy Information Item
2.2.4
The Imported XBRL Taxonomy Information Item
2.2.5 The Role Type Information Item
2.2.6 The Arcrole Type Information Item
2.2.7 The Used On Information Item
2.2.8 The XBRL Concept Information Item
2.2.9 The XBRL Item Information Item
2.2.10 The XBRL Tuple Information Item
2.2.11 The XBRL Linkbase Information Item
2.2.12 The Extended Link Information Item
2.2.13 The Documentation Information Item
2.2.14 The Relationship Information Item
2.2.15 The Resource Information Item
A References
B Intellectual property status (non-normative)
C Acknowledgements (non-normative)
D Document history (non-normative)
E Errata corrections in this document
1 Namespaces and namespace prefixes
2 The DTS Information Item
3
The XBRL Document Information Item
4
The XBRL Taxonomy Information Item
5
The Imported XBRL Taxonomy Information Item
6
The Role Type Information Item
7
The Arcrole Type Information Item
8 The Used On Information Item
9
The XBRL Concept Information Item
10
The XBRL Item Information Item
11
The XBRL Tuple Information Item
12
The XBRL Linkbase Information Item
13
The Extended Link Information Item
14
The Documentation Information Item
15
The Relationship Information Item
16 The Resource Information Item
1 A normative example
2 A non-normative example
3 An example of poor usage
Arc, arcroleRef, base set, child, concept, context, duplicate item, descendant, DTS (discoverable taxonomy set), element, entity, fact, instance, item, linkbase, linkbaseRef, p equal, roleRef, taxonomy, taxonomy schema, u equal, XBRL instance
DTS information item
DTS starting point
Relationship
Source [concept(s)]
Target [concept(s)]
XBRL Information Item
XBRL Infoset
XBRL Taxonomy Document
XBRL document
XBRL instance
XBRL linkbase
rfc2119 terminology
The XBRL Infoset (Information Set) is an abstraction layer on top of the syntax layer in which XBRL taxonomies and XBRL linkbases (in a DTS) define concepts, resources and its relationships.
There are multiple examples that show how the information about a DTS can be written in one or many different files without any impact on applications using the DTS. To highlight just one:
http://foo
defining two concepts
tx:One
and
tx:Two
may contain one presentation linkbase with one
parent-child arc in the
http://www.xbrl.org/2003/role
connecting the two concepts as of
tx:One
is the parent of
tx:Two
.
http://foo
and defining the same concepts (tx:One
and
tx:Two
), may have two embedded presentation linkbases
in the same
http://www.xbrl.org/2003/role
role, one saying that
tx:Two
is the parent of
tx:One
and the other prohibiting the previous
relationship and creating another one saying
that
tx:One
is the parent of
tx:Two
.
Both taxonomies are equivalent from the perspective of consuming applications. Regardless of whether taxonomy "B.xsd" may be seen as more complex or hard to maintain than "A.xsd", both of them define the same concepts and the same relationships between the concepts. Both are equivalent taxonomies because both define the same information set.
This document pertains to XBRL as defined in the XBRL Specification [XBRL 2.1].
The official language of XBRL International's own work products is English and the preferred spelling convention is UK English.
Parts of this document may reiterate for expository clarity certain semantic restrictions imposed by [XBRL 2.1] , but this document does not modify [XBRL 2.1] . In the event of any conflicts between this document and [XBRL 2.1] , [XBRL 2.1] prevails.
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, in this specification, are to be interpreted as described in [IETF RFC 2119].
Arc, arcroleRef, base set, child, concept, context, duplicate item, descendant, DTS (discoverable taxonomy set), element, entity, fact, instance, item, linkbase, linkbaseRef, p equal, roleRef, taxonomy, taxonomy schema, u equal, XBRL instance are as defined by [XBRL 2.1].
An arc defines a
relationship
between its
source
and
target
concepts. The nature of that
relationship
is determined by its
xlink:arcrole
and other attributes.
Source [concept(s)]
are the concepts identified by the URI content
of the
@href
attributes of the locator-type elements in the
same extended-type link element, which have the
same label attribute content as the content of
the
@from
attribute of an arc.
Target [concept(s)]
are the concepts identified by the URI content
of the
@href
attributes of the locator-type elements in the
same extended-type link element, which have the
same
@label
attribute content as the content of the
@to
attribute of an arc.
Comments which are informative, but not essential to the understanding of the point at hand, are provided in footnotes. All footnotes are non-normative.
When referring to a specific element, it will be identified by
its namespace prefix and local name. For example, the root
element for a specification container element would be referred to as
<variable:generalVariable>
.
Attributes are also identified by their local name and, where
appropriate, their namespace prefix. Attributes are
distinguished from elements by prefixing them by an
@
symbol. Thus,
@id
refers to the attribute with the name id
.
When referring to any attribute, so long as it has a specific
namespace, the local name is replaced by an asterisk (
*
).
Thus, the notation
@xml:*
specifies any attribute
in the namespace
http://www.w3.org/XML/1998/namespace
.
The following highlighting is used for normative technical material in this document:
Text of the normative example.
The following highlighting is used for non-normative examples in this document:
Text of the helpful example.
Next paragraph of the helpful example.
Example 3 shows the formatting for non-normative examples of poor, discouraged or disallowed usage.
The example itself.
Namespace prefixes [XML Names] will be used
for elements and attributes in
the form ns:name
where ns
is the
namespace prefix and name
is the local name.
Throughout this specification, the mappings
from namespace prefixes to actual namespaces is consistent
with
Table
1.
The prefix column in Table 1 is non normative. The namespace URI column is normative.
Prefix | Namespace URI |
---|---|
xml
|
http://www.w3.org/XML/1998/namespace
|
xbrli
|
http://www.xbrl.org/2003/instance
|
xs
|
http://www.w3.org/2001/XMLSchema
|
xlink
|
http://www.w3.org/1999/xlink
|
link
|
http://www.xbrl.org/2003/linkbase
|
xl
|
http://www.xbrl.org/2003/XLink
|
XPath expressions that appear in this document are [XPATH 2.0] expressions executed in a schema aware processor.
The prefixes used in the [XPATH 2.0] expressions are indicated in Section 1.6 above.
An XBRL taxonomy document is an instance of an [XML Schema Structures] document that is also valid according to [XBRL 2.1].
An
XBRL linkbase document
is an XML fragment whose root element is the
link:linkbase
element defined in the section 3.5.2 of
[XBRL 2.1]
that is a valid instance of an XML document or
fragment according to the schemas that define
its content and the validation rules defined in
[XBRL 2.1].
Note that the link:linkbase
may not be
the root of the document because [XBRL 2.1]
allows linkbases be embedded in the XML
schema.
An
XBRL instance document
is an XML document or XML fragment whose root
element is the
xbrli:xbrl
element as defined in section 4.1 of
[XBRL 2.1]
that is valid according to the validation rules
defined in
[XBRL 2.1].
An XBRL document is an XBRL taxonomy document , an XBRL linkbase or an XBRL instance .
A DTS starting point is, for the purposes of this document, either a XBRL taxonomy document , or a XBRL linkbase .
A XBRL Information Item is an abstract name to refer to any of the objects defined in tables in this document.
The XBRL Infoset is the set of all XBRL Information Items in a DTS.
This document defines an abstract data set called the XBRL Infoset. The XBRL Infoset defined in this document is build on top of the XSD Infoset and the XML Infoset [XML Infoset] and in certain parts this document refers to them.
Although [XML Infoset] says it is not exhaustive the XBRL Infoset described in this document is complete at the XBRL level to perform XBRL validation, even if it is not exhaustive at XML level.
Some properties of XBRL Information Items refer to other properties defined in a generic XSD Infoset. The XBRL Infoset is independent on any specific XSD Infoset. XBRL vendors are free to choose the XSD data model they want or to implement their own XSD Information set.
An XBRL Infoset can be created for any valid XBRL Document .
The XBRL Infoset consists of a number of XBRL Information Items. The XBRL Infoset for a DTS will contain all the Information Items found in all discovered XBRL documents according to the rules described in section 3.2 of [XBRL 2.1]. XBRL documents ,in turn, contains other XBRL Information Items. Not all Information Items in the [XML Infoset] are part of the XBRL Information Item. The XBRL Information Item excludes from the [XML Infoset] items or properties that add no semantics as a result of XBRL processing operations such as resolving equivalent relationships specified in section 3.5.3.9.7.4 and rules of prohibiting and overriding relationships described in section 3.5.3.9.7.5 of [XBRL 2.1].
A DTS information item is the information item that contains all of the XBRL information in the corresponding DTS.
# | Property | Description | Type |
---|---|---|---|
1. | [Roots] | The set of URLs that are XBRL Taxonomy Schemas or XBRL Linkbases that were used to start the DTS discovery process defined in section 3.2 of the XBRL specification. Note that according to section 3.2 of the XBRL specification an XBRL Instance document may also be used as the starting point of DTS discovery. For the purposes of this document the DTS starting point MUST be a set of at least one XBRL Taxonomy Schemas and a set of zero or more XBRL linkbases. | URIs |
2. | [Concepts] | Unordered list of all Concept Information Items (see Table 9) . | List of Table 9 objects |
3. | [Resources] | Unordered list of all XBRL Resource Information Items (see Table 16) . | List of Table 16 objects |
# | Property | Description | Type |
---|---|---|---|
1. | [Parents] | An unordered list of the XBRL Document Information Items (see Table 3) that cause this document to be included in the DTS. | List of Table 3 objects |
2. | [URI] |
This is the absolute document URI of
this Document Information Item. The
value of the [URI]
property can be
obtained by the
[XPATH 2.0]
expression
document-uri(root()) ) .
|
xs:URI |
3. | [Additional properties] | Defined below depending on whether the XBRL document is an XBRL Taxonomy Information Item (see Table 4) or an XBRL Linkbase Information Item (see Table 12) . | Not applicable |
4. | [The Document Information Item] |
As defined in section 2.1 of
[XML Infoset]. Note: the Document Information
Item contains almost everything that
appears in the source XML file.
Fragments of this Document
Information Item define the content
of different XBRL Information Items.
When possible, the XBRL Information Items have
been identified using
[XPATH 2.0]
sentences operating using the XBRL
Document Information Item as the
context for evaluation. The content
of this Information Item can be
obtained as a result of the
doc([Document URL])
[XPATH 2.0]
function.
|
Not applicable |
# | Property | Description | Type |
---|---|---|---|
1. | [Superclass] | The XBRL Document Information Item Table 3 of this XBRL Taxonomy. | Table 3 |
2. | [Namespace] |
A URI that is the content of the
@targetNamespace
attribute of the
schema
element. See
http://www.w3.org/TR/xmlschema-1/#element-schema.
If the taxonomy does not define
any specific namespace, the content
of this property may be an empty
URI. It can be located in the XBRL
Document Information Item among the
node(s) identified by the
[XPATH 2.0]
expression
@targetNamespace . This is a common property of the
XSD Infoset.
|
URI |
3. | [Roles] |
Unordered list of Role Type
Information Items
Table
6
defined in this taxonomy schema.
They can be located in the XBRL
Document Information Item among the
set of nodes identified by the
[XPATH 2.0]
expression
xs:annotation/xs:appinfo/link:roleType
.
|
List of Table 6 objects |
4. | [Arcroles] |
Unordered list of Arcrole Type
Information Items
Table
7
defined in this taxonomy schema.
They can be located in the XBRL
Document Information Item among the
set of nodes identified by the
[XPATH 2.0]
expression
xs:annotation/xs:appinfo/link:arcroleType
.
|
List of Table 7 objects |
5. | [Linkbases] |
Unordered list of XBRL Document
Information Items
Table
3
representing XBRL Linkbases
Information Items
Table
12.
They can be located in the XBRL
Document Information Item among the
set of nodes identified by the
[XPATH 2.0]
expression
xs:annotation/xs:appinfo/link:linkbaseRef
for external linkbases and
xs:annotation/xs:appinfo/link:linkbase
for embedded linkbases.
|
List of Table 12 objects |
6. | [Imports] |
The Imported XBRL Taxonomy
Information Items
Table
4
referenced as imported taxonomies
using XML Schema imports. They can
be located in the XBRL Document
Information Item among the set of
nodes identified by the
[XPATH 2.0]
expression
xs:import .
This is a common property of the
XSD Infoset.
|
List of Table 4 objects |
7. | [Concepts] | The XBRL Concept Information Items Table 9 defined in this schema. This is normally a subset of the element declarations property of the XSD Infoset. See http://www.w3.org/TR/xmlschema-1/#element_declarations. | List of Table 9 objects |
NON NORMATIVE NOTE: Any included schemas using the XML Schema Include mechanism modify the content of the current XBRL Taxonomy Information Item. The Schema referenced in the Include statement MUST be merged with the current Schema before the XBRL Item Information Item declarations and XBRL Tuple Information Item declarations are processed.
Element definitions, Simple type definitions, Complex type definitions, Attributes, Attribute groups and any other XML Schema element in the XSD Infoset that are not used by XBRL Item Information Items (see Table 10) or XBRL Tuple Information Items (see Table 11) directly or indirectly are not part of the XBRL Infoset. Taxonomy editors could locate those element definitions using [The Document Information Item] property of the XBRL Document Information Item
NON NORMATIVE NOTE: Note that the
@namespace
and
@schemaLocation
attributes of the
import
element are not part of the XBRL Infoset because
the content of the imported schema is part of
the Infoset.
# | Property | Description | Type |
---|---|---|---|
1. | [Parent] | The XBRL Taxonomy Information Item Table 4 where the import statement appears. | Object of type Table 4 |
2. | [Content] | The XBRL Document Information Item Table 3 of the imported schema. The content can be obtained by following the rules of DTS Discovery in section 3.2 of [XBRL 2.1]. | Object of type Table 4 |
3. | [Attributes] |
An unordered set of XML Attribute
Information Items as defined in
section 2.3 of
[XML Infoset].
Only attributes from the
http://www.w3.org/XML/1998/namespace
namespace are allowed. The sequence
of attributes can be obtained by the
following [XPATH 2.0] expression:
@*[node-name(.) !=
QName("","namespace") and
node-name(.) !=
QName("","schemaLocation")]
|
Object List |
NON NORMATIVE NOTE: Note that the ID is not part of the XBRL Infoset; the [Uses] property contains the usages of this Role Type instead.
All Role Types defined in [XBRL 2.1] are static definitions with the empty sequence as the value of the [Parent] property. All Role Types created because of the existence of unreferenced URIs in custom linkbases or custom resources will be declared as virtual Role Types. Virtual Role Types do not have a parent, are unique within the DTS and can be used everywhere.
# | Property | Description | Type |
---|---|---|---|
1. | [Parent] | The XBRL Taxonomy Information Item Table 4 where this role type is defined. | Object of type Table 4 |
2. | [Definition] |
Optional, text string with human
readable information about the role
type definition. The content of the
definition string can be obtained
with the
[XPATH 2.0]
expression
link:definition/text() .
|
xs:string |
3. | [UsedOn] |
Unordered list of Used On
Information items
Table
8.
The content of the Used On XBRL
Information Items can be obtained
from processing the nodes returned
by the
[XPATH 2.0]
expression
link:usedOn .
|
List of Table 8 objects |
4. | [URI] |
The URI of the defined role. The
role URI can be obtained with the
[XPATH 2.0]
expression
@roleURI .
|
xs:URI |
5. | [Uses] | Unordered list of Extended Link Information Item Table 13 or Resource Information Item Table 16 where this Role Type is used. | List of Objects of type Table 13 or Table 16 |
6. | [Static] | true when the role type is defined in [XBRL 2.1], false otherwise. | xs:boolean |
7. | [Virtual] | true when the role type is not defined in any XBRL Taxonomy in the DTS Table 4 but it is used in custom extended links or resources. | xs:boolean |
All Arcrole Types defined in [XBRL 2.1] are static definitions with the empty sequence as the value of the [Parent] property.
All Arcrole Types found in custom arcs in custom linkbases without an explicit reference to a role type via a roleRef element as described in sections 4.5 and 3.5.2.5 of [XBRL 2.1] will result in the definition of a virtual Arcrole Type. Virtual Arcrole Types do not have a parent, can be used on any arc type without restrictions and any cycles are allowed.
# | Property | Description | Type |
---|---|---|---|
1. | [Parent] | The XBRL Taxonomy Information Item Table 4 where this arcrole type is defined. | Object of type Table 4 |
2. | [Definition] |
Optional, text string with human
readable information about the
arcrole type definition. The content
of the definition string can be
obtained with the
[XPATH 2.0]
expression
link:definition/text() .
|
xs:string |
3. | [UsedOn] |
Unordered list of Used On
Information items
Table
8.
The content of the Used On XBRL
Information Items can be obtained
from processing the nodes returned
by the
[XPATH 2.0]
expression
link:usedOn .
|
List of Table 8 objects |
4. | [URI] |
The URI of the defined arcrole. The
arcrole URI can be obtained with the
[XPATH 2.0]
expression
@arcroleURI .
|
xs:URI |
5. | [Cycles] |
The value of Cycles Allowed can be
any ,
undirected
or
none . The value of the
[Cycles]
property
can be obtained with the
[XPATH 2.0]
expression
xs:token(@cyclesAllowed)
.
|
xs:token |
6. | [Uses] | Unordered list of Relationship Information Items Table 15 where this Arcrole Type is used. | List of Table 15 objects |
7. | [Static] | true when the arcrole type is defined in [XBRL 2.1], false otherwise. | xs:boolean |
8. | [Virtual] | true when the arcrole type is not defined in any XBRL Taxonomy in the DTS Table 4 but it is used in relationships inside custom extended links. | xs:boolean |
NON NORMATIVE NOTE: [in-scope namespaces] as defined in the XML Element Information Item in section 2.2 of [XML Infoset] is not a property of this element. The QName property is evaluated by using the in-scope namespaces of this element.
# | Property | Description | Type |
---|---|---|---|
1. | [Parent] | The Role Type Information Item Table 6 or Arcrole Type Information Item Table 7 where this element is used. | Object of type Table 6 or Table 7 |
2. | [Target] |
The QName of an XML element
Information Item. It can be obtained
by evaluating the following
[XPATH 2.0]
expression
resolve-QName(text(),.)
using the
link:usedOn
element as the context for
evaluation.
|
xs:QName |
This abstract object represents a concept defined in a taxonomy. A concept can be an XBRL Item or an XBRL Tuple. Both have properties in common and the XBRL Concept Information Item represents the properties in common between Items and Tuples.
Note that element declarations that are not XBRL Item declarations or XBRL Tuple declarations are not part of the XBRL Infoset.
# | Property | Description | Type |
---|---|---|---|
1. | [Parent] | The XBRL Taxonomy Information Item Table 4 where this concept is defined. | Object of type Table 4 |
2. | [Name] | The Item name. This is a common property of any XSD Infoset. | xs:NCName |
3. | [Type] |
The Item type definition. This could
be a simple type or a complex type
1. This is a common property of the
XSD Infoset.
The object model of the type definition is application dependant. |
XSDType |
4. | [Substitution Group] | The element substitution group. This is a common property of the XSD Infoset. | xs:QName |
5. | [Nillable] |
Boolean value that is true if
xsi:nil="true"
is valid in an instance document.
This is a common property of the XSD
Infoset.
|
xs:boolean |
6. | [Abstract] |
Boolean value that is
true
if the concept will never be
instantiated. This is a common
property of the XSD Infoset.
|
xs:boolean |
7. | [Block] |
Valid values are
#all ,
extension ,
restriction
and
substitution
or the empty sequence. This is a
common property of the XSD Infoset.
|
xs:NMToken |
8. | [Fixed] | The fixed value. If there is not a fixed attribute in the element definition the [Fixed] property also has no value. This is a common property of the XSD Infoset. | xs:string |
9. | [Final] |
Valid values are
#all ,
extension ,
restriction
or the empty sequence. This is a
common property of the XSD Infoset.
|
xs:NMToken |
10. | [From] | Unordered list of Relationship Information Items Table 15 in which this element participates as the source element of the relationship. | List of Table 15 objects |
11. | [To] | Unordered list of Relationship Information Items Table 15 in which this element participates as the target element of the relationship. | List of Table 15 objects |
12. | [Attributes] |
An unordered set of XML Attribute
Information Items as defined in
section 2.3 of
[XML Infoset]
except the id attribute, all attributes in the
xbrli
namespace (periodType
and
balance ) and the attributes with no namespace used to
provide XML Schema semantics to the element
definition (for example abstract and nillable );
all of them are explicitly excluded
from the XBRL Infoset.
|
XML Attribute List |
13. | [Children] | As defined in point 4 of the Section 2.2 of [XML Infoset]. The value of the [Children] attribute excludes the type definition because it is included in the [Type] property. | Multiple XML Objects |
1. See: http://www.w3.org/TR/xmlschema-2/#dc-defn and http://www.w3.org/TR/xmlschema-1/#Complex_Type_Definitions
Note that the element ID is not part of the XBRL Infoset. The relationships in which this element is used are part of the XBRL Infoset.
# | Property | Description | Type |
---|---|---|---|
1. | [Superclass] | The XBRL Concept Information Item Table 9 this Item is based on. | Superclass of type Table 9 |
2. | [Period Type] |
The Item period type declaration.
The value of the
[Period Type]
property can be obtained with the
[XPATH 2.0]
expression
xs:token(@xbrli:periodType)
|
xs:token |
3. | [Balance] |
The Item balance type declaration.
This is an optional attribute in the
item declaration. Possible values
are
() ,
credit
or
debit . The value of the
[Balance]
property can be obtained with the
[XPATH 2.0]
expression
xs:token(@xbrli:balance)
|
xs:token |
4. | [Default] | The element default value. If there is no default attribute in the element definition the [Default] property also has no value. This is a common property of the XSD Infoset. | xs:string |
Tuples usually are containers of other XBRL Concept Information Items or elements that does not require contextual information in the instance document Table 9. The tuple content is defined in the tuple content model. The tuple content model is captured in the [Type] property of the XBRL Concept Information item Table 9 and serialized in the XML file using elements defined in the W3C XML Schema specification. In order to avoid duplication of information, this document does not include additional properties about what concepts are inside a Tuple definition. Applications using this XBRL Infoset must process the content of the [Type] property in order to obtain that information.
# | Property | Description | Type |
---|---|---|---|
1. | [Superclass] | The XBRL Concept Information Item Table 9 this Item is based on. | Superclass of type Table 9 |
Note that this element also contains the properties of a XBRL Document Information Item.
# | Property | Description | Type |
---|---|---|---|
1. | [Superclass] | The XBRL Document Information Item Table 3 where the XBRL Linkbase is serialised. This could be an XBRL Taxonomy if this is an embedded linkbase or an XBRL Linkbase if the linkbase is in a separate file. | Superclass of type Table 3 |
2. | [Documentation] |
List of
link:documentation
elements as Documentation
Information Items
Table
14
in document order. The value of the
[Documentation]
property can be obtained processing
the nodes returned by the
[XPATH 2.0]
expression link:documentation .
|
List of Table 14 objects |
3. | [Links] |
Unordered list of Extended Link
Information Items
Table
13
declared in this linkbase. The
[Links] property can be obtained processing
the nodes returned by the
[XPATH 2.0]
expression
schema-element(xl:extended)
.
|
List of Table 13 objects |
4. | [Attributes] |
An unordered set of XML Attribute
Information Items as defined in
section 2.3 of
[XML Infoset]. Only attributes in the
http://www.w3.org/XML/1998/namespace
namespace are allowed. The value of
the
[Attributes]
property can be obtained by the
[XPATH 2.0]
expression
@xml:* .
|
XML Attribute List
|
The content of the
xlink:title
attribute is not included because
[XBRL 2.1]
says it has no XBRL semantics. Extended link
Information items are part of XBRL Linkbase
Information Items
Table
12.
# | Property | Description | Type |
---|---|---|---|
1. | [Parent] | The XBRL Linkbase Information Item Table 12 where where this Extended Link Information Item exists. | Object of type Table 12 |
2. | [Type] |
The Extended Link type obtained from
the element QName. The value of the
[Type]
property can be obtained by the
[XPATH 2.0]
expression
node-name(.) . Different custom links are
identified by the element node name.
|
xs:QName |
3. | [Role] |
The Role Type Information Item
Table
6
where the role is defined. Note this
is not the role URI as it appears in
the
xlink:role
attribute of the extended link
element but a reference to the Role
Type Information Item resolved via a
link:roleRef
element to the Role Type or the
static role Type definition. The
serialisation of the XBRL Extended
Link Information Item would put the
[URI]
property of the Role Type
Information Item
in the
xlink:role
attribute. For the role types
defined in
[XBRL 2.1]
the [Role] property
points to a
static Role Type definition. For
role types used in custom extended
links that are not referenced via
link:roleRef
elements to any role type definition
a Virtual Role Type should be
returned.
|
Object of type Table 6 |
4. | [Documentation] |
List of
link:documentation
elements as Documentation
Information Items
Table
14
in document order. The value of the
[Documentation] property can be
obtained processing the nodes
returned by the
[XPATH 2.0]
expression
link:documentation
|
List of Table 14 objects |
5. | [Relationships] | Unordered list of Relationship Information Items Table 15 that exist in this extended link after resolving all equivalent relationships according to the section 3.5.3.9.7.4 of [XBRL 2.1]. Note that one xl:arc may represent several XBRL Relationships. | List of Table 15 objects |
6. | [Resources] |
Unordered list of Resource
Information Items
Table
16
that exist in this extended link. Note: The infoset include all resources referenced or not by relationships. |
List of Table 16 objects |
7. | [Attributes] |
An unordered set of XML Attribute
Information Items as defined in
section 2.3 of
[XML Infoset]. Only attributes on the
http://www.w3.org/XML/1998/namespace
namespace are allowed. The value of
the [Attributes] property can be
obtained by the
[XPATH 2.0]
expression
@xml:* .
|
XML Attribute List |
# | Property | Description | Type |
---|---|---|---|
1. | [Parent] | The Extended Link Information Item Table 13 or XBRL Linkbase Information Item Table 12 where this Documentation Information Item exists. | Object of type Table 13 or Table 12 |
2. | [Text] |
The content of the
link:documentation
element. The value of the [text]
property can be obtained by the
[XPATH 2.0]
expression
text() .
|
xs:string |
3. | [Attributes] |
An unordered set of XML Attribute
Information Items as defined in
section 2.3 of
[XML Infoset]. The value of the [Attributes]
property can be obtained by the
[XPATH 2.0]
expression
@*
|
XML Attribute List |
A relationship is the result of resolving all
equivalent relationships according to section
3.5.3.9.7.4 of
[XBRL 2.1]. Therefore, the XBRL Infoset includes the value
of the
@use
and
@priority
attributes on the arc with highest priority
among the equivalent arcs.
An arc in an extended link may connect n objects in its source to m objects in its target. An XBRL Relationship Information Item represents the connection between just one source element and one target element. One arc represents n*m relationships. XBRL APIs are free to optimise the number of arcs in an extended link during the serialization phase.
# | Property | Description | Type |
---|---|---|---|
1. | [Parent] | The Extended Link Information Item Table 13 where this relationship exists. | Object of type Table 13 |
2. | [Type] |
The relationship type is the QName
of the container element. The value
of the
[Type]
property can be
obtained by the
[XPATH 2.0]
expression
node-name(.) .
Different relationship types are
identified by different element node
names.
|
xs:QName |
3. | [From] | The object that is the source of this relationship. The object type can be one of the following: One XBRL Resource Information Item Table 16, or one XBRL Concept Information Item Table 9, or one XML Fragment. | Object of type Table 16, or Table 9, or XML Fragment |
4. | [To] | The object that is the target of this relationship. The object type can be one of the following: The object type can be one of the following: One XBRL Resource Information Item Table 16, or one XBRL Concept Information Item Table 9, or one XML Fragment. | Object of type Table 16, or Table 9, or XML Fragment |
5. | [Arcrole] |
The Arcrole Type Information Item
Table
7
where this arc role is defined. Note
this is not only the role URI as it
appears in the
xlink:arcrole
attribute of the arc element but a
reference to the Arcrole Type
Information Item resolved via a
link:arcroleRef
element to the Arcrole Type or the
static or virtual arc role Type
definition. The
serialization of the Relationship
Information Item would put the
[URI]
property of the Arcrole
Type Information Item
in the
xlink:arcrole
attribute. For the arc role types
defined in
[XBRL 2.1]
the
[Arcrole]
property points to a static Arcrole
Type definition. For arc role types
used relationships in custom
Linkbases that are not referenced
via
link:arcroleRef
elements to any Arc role type
definition a Virtual Arcrole Type is
returned.
|
Object of type Table 7 |
6. | [Order] | The value of the order attribute on arcs or the default value if there is no value indicated. Refer to section 3.5.3.9.5 of [XBRL 2.1]. | xs:decimal |
7. | [Use] |
The value of the
@use
attribute on the arc with highest
priority. The value can be obtained
by the
[XPATH 2.0]
expression
if (@use) then xs:token(@use)
else ()
|
xs:token |
8. | [Priority] |
The value of the
@priority
attribute on the arc with highest
priority. The value can be obtained
by the
[XPATH 2.0]
expression
if (@priority) then
xs:integer(@priority) else ()
|
xs:integer |
9. | [Attributes] |
An unordered set of XML Attribute
Information Items as defined in
section 2.3 of
[XML Infoset]
excluding attributes
@order ,
@use ,
@priority and
@xlink:* . The value of the
[Attributes]
property can be obtained by the
[XPATH 2.0]
expression
@*[node-name(.) !=
QName("","use") and node-name(.)
!= QName("","order") and
node-name(.) !=
QName("","priority") and
not(namespace-uri-from-QName(.)
eq "
http://www.w3.org/1999/xlink")]
.
|
XML Attribute List |
# | Property | Description | Type |
---|---|---|---|
1. | [Parent] | The Extended Link Information Item Table 13 where this resource exists. | Object of type Table 13 |
2. | [Type] |
The resource type is the QName of
the container element. The value of
the
[Type]
property can be obtained
by the
[XPATH 2.0]
expression
node-name(.) .
Different resource types are
identified by different element node
names.
|
xs:QName |
3. | [Role] |
The Role Type Information Item
Table
6
where the role is defined. Note this
is not the role URI as it appears in
the
@xlink:role
attribute of the resource element
but a reference to the Role Type
Information Item resolved via a
link:roleRef
element to the Role Type or the
static role Type definition. The
serialization of the Resource
Information Item would put the
[URI]
property of the Role Type
Information Item in the
@xlink:role
attribute. For the role types
defined in the
[XBRL 2.1]
the
[Role]
property
points to a static Role Type
definition. For role types used in
custom extended links that are not
referenced via
link:roleRef
elements to any role type definition
a Virtual Role Type should be
returned.
|
Object of type Table 6 |
4. | [Children] |
The content of the Element
Information Item as defined in the
Section 2.2 of
[XML Infoset]
of this resource. The value of the
[Children]
property
can be obtained by the
[XPATH 2.0]
expression
* .
|
Multiple XML Objects |
5. | [From] | Unordered list of Relationship Information Items Table 15 in which this element participates as the source element of the relationship. | List of Table 15 objects |
6. | [To] | Unordered list of Relationship Information Items Table 15 in which this element participates as the target element of the relationship. | List of Table 15 objects |
7. | [Attributes] |
An unordered set of XML Attribute
Information Items as defined in
section 2.3 of
[XML Infoset]
excluding the
@id
attribute and all
@xlink:* attributes. The value of the
[Attributes]
property can be obtained by the
[XPATH 2.0]
expression
@*[node-name(.) !=
QName("","id") and
not(namespace-uri-from-QName(.)
eq "
http://www.w3.org/1999/xlink")]
.
|
XML Attribute List |
8. | [Value] | The content of the resources when they are based on an XSD simple type | Multiple |
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 including the participants in the Versioning Working Group.
Date | Author | Details |
---|---|---|
04 January 2007 | Ignacio Hernández-Ros |
First skeletal draft created. |
15 February 2007 | Ignacio Hernández-Ros |
Updated Introduction and Background Added XPath 2.0 expressions on XBRL Information Items Added static definitions for role types defined in the XBRL 2.1 specification Lots of clarifications and notes added to properties on the elements. |
21 February 2007 | Ignacio Hernández-Ros |
Updated properties are: Content of a Imported XBRL Information item MAY not exist Linkbases in a XBRL Taxonomy Information item are not ordered |
15 March 2007 | Ignacio Hernández-Ros |
Updated XPath 2.0 expressions. Removed the XBRL Pointer of a Relationship Information Item and the XBRL Locator Information Item. Updated the Relationship Information Item. Sources and targets of a relationship are the objects pointed and not the locators that points to the objects. |
15 April 2007 | Ignacio Hernández-Ros |
Shorter property names. Added section 2.3 about comparing the elements in the Versioning Infoset. |
22 May 2007 | Ignacio Hernández-Ros |
Removed the Order property in an XBRL Relationship Information Item and replaced with [Previous] and [Next] properties. |
24 May 2007 | Ignacio Hernández-Ros |
Changed [To] and [From] properties of the XBRL Relationship Information Item to contain just one element. One Arc may represent more than one relationship. |
24 May 2007 | Ignacio Hernández-Ros |
Removed section 2.3 |
24 May 2007 | Ignacio Hernández-Ros |
Title changed from just the versioning Infoset to the XBRL Infoset in general. The versioning Infoset is definitively a subset of this Infoset or can be defined upon this one. This Infoset contains every piece of information that impacts XBRL validation of Taxonomies, Linkbases and Instance Documents. |
25 May 2007 | Ignacio Hernández-Ros |
Removed the [Default] property of a Tuple. |
28 May 2007 | Ignacio Hernández-Ros |
[Order] is back as a property of a relationship. The order is a determined value under all scenarios. The relationship order may be undetermined if not specified. Two relationships cannot be properly ordered if they contain the same value or the same inferred value in the order attribute. |
07 August 2007 | Ignacio Hernández-Ros |
Item Information Items and Tuple Information Items are simplified by creating a common Concept Information Item with common properties to both. The Balance attribute on Items is added. Attributes on the xbrli namespace are excluded from the attributes property of a Concept Information Item Elements defining the data type are excluded from the [Children] property of a concept definition. |
14 August 2007 | Ignacio Hernández-Ros |
Text data type changed to String. Added the empty sequence as value for the Fixed property of a Concept Information Item. Added the list of resources item to the DTS Information Item Changed XML to xml: where the list of allowed attributes is reduced to the xml namespace. Added the missing type XML Attribute List to the attributes property of a resource. Explanation about where the content of a tuple is in the Infoset. |
18 July 2008 | Hugh Wallis |
Converted from RTF to HTML using Spec for Specs Editorial for UK English Added a number of comments |
24 July 2008 | Geoff Shuetrim |
Added comments arising from issues arising during drafting of the versioning syntax specification. |
10 August 2008 | Ignacio Hernández-Ros |
Changes according to comments in the specification Added definitions of, XBRL Document, DTS Starting Point, XBRL Information Item, and XBRL Infoset. Removed definition of non valid XBRL documents. Changed the Parent property of some objects to a superclass property. This change resolved some of the issues in double interpretation of the parent property. Changed all types refering to Object or Object List to indicate the object type or types. Content property of Imported XBRL Taxonomy Information Item now does not remove the oficial schemas defined in the XBRL specification. Role Type and Arcrole Type information items incorporates two new properties to indicate if the role type is virtual, static or defined in the dts. Property types incorporates the xs: prefix for XSD data types. Changed some notes into NON NORMATIVE notes. Explicitly excluded all attributes defined in the XML Schema specification from the Attributes property of the concept Information Item. The Priority property on relationships is of xs:integer data type according to the schema. Added the Resources property to the extended link information item Updated version to 0.3 |
11 August 2008 | Hugh Wallis |
Provided some additional links and whitespace removal. |
02 December 2008 | Hugh Wallis |
Editorial removal of comments and updating preparatory to publication as a new PWD. |
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 Versioning Working Group up to and including 04 February 2009. Hyperlinks to relevant e-mail threads may only be followed by those who have access to the relevant mailing lists. Access to internal XBRL mailing lists is restricted to members of XBRL International Inc.
No errata have been incorporated into this document.