XBRL Infoset 0.3

Public Working Draft 04 February 2009

Copyright ©2009 XBRL International Inc., All Rights Reserved.

This version:
<http://www.xbrl.org/Specification/infoset/PWD-2009-02-04/infoset-PWD-2009-02-04.html>
Editor:
Ignacio Hernández-Ros, Reporting Estandar S.L. <ignacio@reportingstandard.com>
Contributors:
Hugh Wallis, XBRL International Inc. <hughwallis@xbrl.org>
Geoff Shuetrim, Galexy <geoff@galexy.net>

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 versioning-feedback@xbrl.org, and to submit notification of any relevant patent rights of which they are aware and provide supporting documentation.

Abstract

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.

Table of Contents

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

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

Examples

1 A normative example
2 A non-normative example
3 An example of poor usage

Definitions

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


1 Introduction

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.

1.1 Background

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:

  • A taxonomy schema "A.xsd" for the namespace 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.
  • A different taxonomy schema "B.xsd" for the same namespace 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.

1.2 Relationship to other work

This document pertains to XBRL as defined in the XBRL Specification [XBRL 2.1].

1.3 Language independence

The official language of XBRL International's own work products is English and the preferred spelling convention is UK English.

1.4 Terminology

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.

1.5 Document conventions

1.5.1 Typographic conventions

1.5.1.1 Definition notation

Definitions are highlighted with green text.

1.5.1.2 Footnote notation

Comments which are informative, but not essential to the understanding of the point at hand, are provided in footnotes. All footnotes are non-normative.

1.5.1.3 Element and attribute notation

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.

1.5.2 Formatting conventions

The following highlighting is used for normative technical material in this document:

Example 1: A normative example

Text of the normative example.

The following highlighting is used for non-normative examples in this document:

Example 2: A non-normative example

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.

Example 3: An example of poor usage

The example itself.

1.6 Namespaces and namespace prefixes

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.

Table 1: Namespaces and namespace prefixes
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

1.7 XPath

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.

2 XBRL Infoset

2.1 Definitions

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.

2.2 The Information Items

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

2.2.1 The DTS Information Item

A DTS information item is the information item that contains all of the XBRL information in the corresponding DTS.

Table 2: The DTS Information Item
# 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

2.2.2 The XBRL Document Information Item

Table 3: The XBRL Document Information Item
# 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

2.2.3 The XBRL Taxonomy Information Item

Table 4: The XBRL Taxonomy Information Item
# 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

2.2.4 The Imported XBRL Taxonomy 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.

Table 5: The Imported XBRL Taxonomy Information Item
# 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

2.2.5 The Role Type Information Item

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.

Table 6: The Role Type Information Item
# 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

2.2.6 The Arcrole Type Information Item

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.

Table 7: The Arcrole Type Information Item
# 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

2.2.7 The Used On Information Item

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.

Table 8: The Used On Information Item
# 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

2.2.8 The XBRL Concept Information Item

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.

Table 9: The XBRL Concept Information Item
# 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

2.2.9 The XBRL Item Information Item

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.

Table 10: The XBRL Item Information Item
# 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

2.2.10 The XBRL Tuple Information Item

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.

Table 11: The XBRL Tuple Information Item
# Property Description Type
1. [Superclass] The XBRL Concept Information Item Table 9 this Item is based on. Superclass of type Table 9

2.2.11 The XBRL Linkbase Information Item

Note that this element also contains the properties of a XBRL Document Information Item.

Table 12: The XBRL Linkbase 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

2.2.12 The Extended Link Information Item

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.

Table 13: The Extended Link Information Item
# 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

2.2.13 The Documentation Information Item

Table 14: The Documentation Information Item
# 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

2.2.14 The Relationship Information Item

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.

Table 15: The Relationship Information Item
# 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

2.2.15 The Resource Information Item

Table 16: The Resource Information Item
# 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

Appendix A References

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)
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)
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 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 2.0
W3C (World Wide Web Consortium). "XML Path Language (XPath) 2.0"
Anders Berglund, Scott Boag, Don Chamberlin, Mary F. Fernández, Michael Kay, Jonathan Robie, and Jérôme Siméon.
(See http://www.w3.org/TR/xpath20/)

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 including the participants in the Versioning Working Group.

Appendix D Document history (non-normative)

DateAuthorDetails
04 January 2007Ignacio Hernández-Ros

First skeletal draft created.

15 February 2007Ignacio 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 2007Ignacio 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 2007Ignacio 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 2007Ignacio Hernández-Ros

Shorter property names.

Added section 2.3 about comparing the elements in the Versioning Infoset.

22 May 2007Ignacio Hernández-Ros

Removed the Order property in an XBRL Relationship Information Item and replaced with [Previous] and [Next] properties.

24 May 2007Ignacio 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 2007Ignacio Hernández-Ros

Removed section 2.3

24 May 2007Ignacio 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 2007Ignacio Hernández-Ros

Removed the [Default] property of a Tuple.

28 May 2007Ignacio 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 2007Ignacio 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 2007Ignacio 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 2008Hugh Wallis

Converted from RTF to HTML using Spec for Specs

Editorial for UK English

Added a number of comments

24 July 2008Geoff Shuetrim

Added comments arising from issues arising during drafting of the versioning syntax specification.

10 August 2008Ignacio 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 2008Hugh Wallis

Provided some additional links and whitespace removal.

02 December 2008Hugh Wallis

Editorial removal of comments and updating preparatory to publication as a new PWD.

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