97
EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL © UBmatrix 2005, all rights reserved 1 of 97 Expressing Financial Reporting Information Patterns Using XBRL (The Patterns Document) By Charles Hoffman, CPA ([email protected]) DRAFT The author would like to acknowledge the following individuals who made significant contributions to this document, directly or indirectly: Josef Macdonald, Jim Richards, Roger Debreceny, Thomas Egan, Walter Hamscher, Jeff Naumann, David Prather, Geoff Shuetrim, David Scott Stokes, Alan Teixeira, Brad Homer, Hugh Wallis. 1. Summary This document describes and provides examples of how to: 1. express financial reporting concepts within an XBRL taxonomy, and 2. report the values of such concepts as facts within an XBRL instance document. Both of the above are explained so as to comply with the XBRL Specification Version 2.1 [XBRL], the Financial Reporting Taxonomy Architecture 1.0 [FRTA]

Expressing Financial Reporting Information Patterns Using XBRL

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 1 of 97

Expressing Financial Reporting Information Patterns Using XBRL

(The Patterns Document)

By Charles Hoffman, CPA ([email protected])

DRAFT

The author would like to acknowledge the following individuals who made significant contributions to this document, directly or indirectly: Josef Macdonald, Jim Richards, Roger Debreceny, Thomas Egan, Walter Hamscher, Jeff Naumann, David Prather, Geoff Shuetrim, David Scott Stokes, Alan Teixeira, Brad Homer, Hugh Wallis.

1. Summary This document describes and provides examples of how to:

1. express financial reporting concepts within an XBRL taxonomy, and

2. report the values of such concepts as facts within an XBRL instance document.

Both of the above are explained so as to comply with the XBRL Specification Version 2.1 [XBRL], the Financial Reporting Taxonomy Architecture 1.0 [FRTA]

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 2 of 97

(candidate recommendation 2005-01-29), and the Financial Reporting Instance Standards 1.0 [FRIS] (public working draft of 2004-11-05).

All XBRL files used in this document and provided with this document have been validated using three separate validators to and are deemed to be fully XBRL, FRTA, FRIS (to the extent FRIS is implemented) conformant. However, the document is a usage primer and if there are differences between this document and the XBRL Specification, FRTA, and FRIS; then clearly those specifications should be followed.

This document is intended to be useful to:

1) Non-technical (from a computer science perspective) financial reporting domain experts who will create XBRL taxonomies and instance documents that will be used for financial reporting in their domain or will work with technical (from a computer science perspective) developers to create such XBRL documents, and.

2) Technical (from a computer science perspective) users of XBRL such as software developers.

Users of this document are assumed to have a basic general/fundamental understanding of XML, XML Schema, the XBRL 2.1 Specification, FRTA and FRIS. This document can contribute to a general understanding of the above specifications. This document assumes a basic knowledge of financial reporting.

This document and supplemental files covers XBRL Specification version 2.1, and is not applicable to prior versions of XBRL.

There is a set of files which accompanies this document which contains physical files for each taxonomy and instance document, other useful files such as taxonomy printouts, organized in a viewer which makes referring to the files easier.

2. Status This document is a draft. It will be completed when the FRTA and FRIS are both released as recommendations.

3. Table of Contents 1. Summary ...........................................................................................1 2. Status................................................................................................2 3. Table of Contents ................................................................................2 4. Introduction........................................................................................3

4.1. Summary of the patterns ...............................................................4 4.2. Patterns Files ...............................................................................6

5. Key Concepts and XBRL Fundamentals ...................................................7 5.1. Types of concepts/fact values: Items and tuples................................8 5.2. Instance document basics ..............................................................8 5.3. Financial Reporting Taxonomies Architecture and Financial Reporting Instance Standards ............................................................................... 10 5.4. Separating Presentation and Data ................................................. 10 5.5. Understanding the Patterns .......................................................... 11

6. Complete Taxonomy Examples ............................................................ 11 7. General Considerations Applying to All Patterns ..................................... 11

7.1. Elements ................................................................................... 12 7.2. Label links ................................................................................. 12 7.3. Reference links ........................................................................... 12 7.4. Presentation links ....................................................................... 12

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 3 of 97

7.5. Calculation links.......................................................................... 12 7.6. Definition links ........................................................................... 12 7.7. Instance document fact values...................................................... 12 7.8. Reading taxonomy printout screenshots ......................................... 13

8. Financial Reporting Patterns................................................................ 13 8.1. Simple concept........................................................................... 14 8.2. Unrelated concepts ..................................................................... 17 8.3. Related concepts ........................................................................ 20 8.4. Basic calculation ......................................................................... 26 8.5. Net/gross calculation ................................................................... 30 8.6. Table of numeric concepts............................................................ 33 8.7. Grand total with subtotals calculation............................................. 38 8.8. Movement analyses..................................................................... 42 8.9. Multiple calculations .................................................................... 50 8.10. Finite number of values for concepts .......................................... 56 8.11. Complex concept (tuple)........................................................... 59 8.12. Multiple values for one concept.................................................. 62 8.13. Complex concept with totals...................................................... 66 8.14. Complex concept with multiple periods ....................................... 70 8.15. Reuse of concepts pattern......................................................... 74 8.16. Master/Detail .......................................................................... 78 8.17. Allowing for different levels of disclosure..................................... 81 8.18. Movements in Tuple ................................................................. 83 8.19. Grouped Report....................................................................... 88 8.20. Reconciliation.......................................................................... 92

9. References ....................................................................................... 96 10. About the Author ........................................................................... 96

4. Introduction Patterns exist in many places in our world and computer scientists are trained to recognize these patterns. Patterns are clues as to how to best express real-world concepts to computers.

Financial reporting has such patterns. Many of these common patterns are expressed in this document with examples of how to construct XBRL taxonomies to express them using XBRL.

In addition to the patterns, sample instance documents (files reporting fact values based on these XBRL taxonomies) are also provided because they provide help in understanding the taxonomies as they represent the data which needs to be expressed.

It is important that XBRL taxonomy creators understand these patterns and use them when creating XBRL taxonomies because:

1. Understanding these patterns will help create XBRL taxonomies correctly.

2. Understanding these patterns will help those creating extension taxonomies to be consistent with the base taxonomies they are extending.

3. In order for financial statement users to understand the taxonomies, it is important that taxonomies are created consistently.

4. In order to maximize comparability with the minimal amount of effort, taxonomies should be created consistently.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 4 of 97

In addition, when building taxonomies it is also important to understand the end results - instance documents. In order to understand how to build a piece of a taxonomy, think about what the impact will be on instances, and take into account contexts in which the data will be reported. An understanding of what instance documents contain and how they work is important when building taxonomies because eventually that is what taxonomies will be used for - to build instance documents.

4.1. Summary of the patterns The patterns are listed here in two perspectives. These different perspectives are intended to be useful to those making use of this document. The first perspective is simply a list of the patterns in order from least complex to most complex, later patterns building on the earlier patterns. This is helpful to someone trying to learn XBRL.

This is the list of patterns from least complex to most complex, each pattern introducing a few new characteristics of XBRL:

# Name Description File prefix 1 Simple concept one concept (helps show what belongs in a

taxonomy and what goes in the instance document)

SimpleConcept

2 Unrelated concepts several unrelated concepts (shows information about different data types, balance types, etc)

UnrelatedConcepts

3 Related concepts several related concepts (introduces the concept of the presentation link base)

RelatedConcepts

4 Basic calculation related concepts involved in a calculation (introduces the concept of the calculation linkbase); in addition, this shows using a scenario and footnote

BasicCalculation

5 Net/gross calculation

net/gross type of calculation (introduces the concept of calculation weights and the balance attribute)

NetGrossCalculation

6 Table of numeric concepts

a simple table (ties presentation and calculation together, creating a little more complicated taxonomy and instance document)

TableOfNumericConcepts

7 Grand total with subtotals calculation

several interrelated calculations (shows how to handle subtotals)

GrandTotalSubtotalsCalculation

8 Movement analyses

a simple movement analysis, beginning balance, changes, ending balance (introduces "the movement analysis" which is one of the more complex patterns in XBRL, shows some limitations XBRL has in doing calculations)

MovementsAnalysis

9 Multiple calculations

multiple calculations for the same base concept (introduces the concept of extended links to separate networks of calculations, or different ways to arrive at the same value)

MultipleCalculations

10 Finite number of values for concepts

finite number of values in a list (introduces the concept of "lists" of information by showing something which is NOT a list)

FiniteNumberOfValues

11 Complex concept (tuple)

a complex data type, related information which repeats (introduces the "tuple" and complex data which needs to be tied together)

ComplexConcept

12 Multiple values for one concept

data which repeats (points out that any repeating data probably needs a tuple)

MultipleNumberOfValues

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 5 of 97

# Name Description File prefix 13 Complex concept

with totals data which repeats and has calculations associated with it (shows how to do calculations within a tuple, and totaling the members of tuples)

ComplexConceptWithTotals

14 Complex concept with multiple periods

multiple periods of data within repeating data (shows how to handle multiple periods within a tuple)

ComplexConceptMultiplePeriods

15 Reuse of concepts pattern

using a set of concepts in multiple places (shows how to reuse a tuple)

ReusableConcept

16 Master/Detail nested complex data or complex data which contains additional complex data (introduces nested tuples, or a tuple within a tuple)

MasterDetail

17 Allowing for different levels of disclosure

allowing for different levels of presenting information (shows a way to ease into XBRL and shows the difference between an abstract element and a string and how it impacts what a user can do with a taxonomy)

DifferentLevels

18 Movements in Tuple

a repeating movement analysis (shows how to do a movement analysis within a tuple)

MovementsInTuple

19 Grouped Report complex repeating data summarized in a report (shows how to express a complicated set of data)

GroupedReport

20 Reconciliation reconciliation of one account to another account using a list of data (shows how to reconcile two concepts, not necessarily a beginning and ending balance, using the members of a tuple)

Reconciliation

The next perspective lists common financial reporting concepts and cross-references them to the pattern which shows how to express the financial concepts in XBRL.

Common Financial Reporting Components

Pattern(s)

Balance Sheet, Income Statement Table of numeric concepts Cash Flow Statement Table of numeric concepts, Movements analysis Statement of Equity Movements analysis Accounting Policies Related concepts Financial Highlights Unrelated concepts Related parties and related party transactions disclosures

Master/Detail

Reconciliation between net income per IFRS and net income per US GAAP

Reconciliation

Breakout of property, plant and equipment by class

Basic calculation

Subsequent Events Multiple values for one concept Maturities of debt over the next five years

Finite number of values

Breaking out tax by current and deferred portions, and by foreign and domestic

Multiple calculations

A third way to cross reference financial reporting to XBRL patterns is visually. The following are some common ways that financial reports look, and a cross reference to the XBRL pattern:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 6 of 97

[CSH: This is just an idea at this point. Would basically provide screenshots with cross-references to the patterns]

4.2. Patterns Files This document has included in it entire XBRL instance documents and taxonomies in many cases and fragments of XBRL in other cases. Usually, an entire taxonomy and all its linkbases are not included, but rather only the components important to discuss the pattern.

A ZIP file which contains taxonomies, instance documents, printouts, example patterns, and other information exists which shows the entire taxonomy and instance document, all of which have been validated through three XBRL validators. This ZIP file can be obtained from the author of this document or UBmatrix.

For each of the 20 patterns, the following information exists in this one ZIP file:

• A human readable version of the pattern so users can see what that pattern looks like (in PDF and HTML).

• An XBRL taxonomy (fully FRTA compliant) created to express the information contained in that pattern.

• Taxonomy printouts for the taxonomy (presentation, calculation and sometimes only the element list).

• An XBRL instance document (fully FRIS compliant) using the taxonomy mentioned above.

• An XSLT style sheet which generates the HTML rendering of the instance document information (see 1 above).

• An XSLT style sheet which generates the XSL-FO output (see 8 below) which can be used to create a PDF rendering (see 1 above) of the instance information in a human readable format.

• The HTML output as mentioned in 5 above.

• The FO output as mentioned in 6 above.

• The PDF output from the FOP which is generated by sending the FO to a rendering engine, which generates PDF.

• A calculation trace which shows that the numbers in the instance document add up correctly.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 7 of 97

In addition, all these files are organized in the form of a "viewer" which makes using these files easier. The following screen shot shows the viewer:

5. Key Concepts and XBRL Fundamentals In order to understand how to create XBRL taxonomies and instance documents it is important to understand a few fundamental, key concepts about XBRL. This document does not endeavour to explain these concepts in detail. But rather, these key concepts are highlighted here to help provide a frame around what is being expressed. These key concepts impact how certain things must be done within an XBRL taxonomy and instance document.

These key concepts are highlighted here and discussed below:

1. XBRL taxonomies define concepts. XBRL instance documents report fact values for concepts that have been defined in XBRL taxonomies.

2. There are two basic building blocks used within taxonomies: items and tuples. Items express name/value pairs for unrelated concepts. Tuples “bind together” parts that consist of compound facts.

3. Contextual information relating to fact values of concepts (such as entity, period, scenario) is expressed in instance documents that contain the fact values, not in taxonomies that express concept definitions.

4. Decimal, precision, and units are important for numeric information that are defined in instance documents, not taxonomies.

5. The FRTA provides additional constraints above and beyond the constraints required by XBRL itself in order to maximize consistency and comparability within the domain of financial reporting.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 8 of 97

6. There is a fundamental difference between “data” and “presentation”. The focus of XBRL and this document is data. However, how information is presented may provide clues as to how information is expressed as XBRL concepts within a taxonomy.

This information is further explained in the remainder of this section.

5.1. Types of concepts/fact values: Items and tuples This discussion begins by discussing the two fundamental data types in XBRL - the item and the tuple.

Fundamentally, all taxonomies are constructed of items and tuples. Tuples are constructed of items and other tuples.

7.1.1 Items An item contains data. Examples of a single text item are a paragraph of text that explains an accounting policy or a single word that describes an accounting policy such as “FIFO”. An example of a numeric item is something like the number of employees of an entity or the depreciation expense of buildings.

Single text/numeric items are not associated with any other fact and are not grouped in any way; they stand on their own. You differentiate one fact from other facts by assigning values to entity information, period information, and such in an instance document, making that fact unique for a particular period and/or a particular entity.

7.1.2 Tuples Tuples connect data. Tuples can basically be thought of as a complex data type. A tuple is used to indicate that two or more facts are associated, such as the association between fields in a row of a database table. For example, suppose you had the concepts “Name” and “Salary” in a taxonomy. A tuple is used to connect the “Name” and the “Salary” so that if two names and salary items are known to be related. So, “John Doe” and the salary “$50,000” is not confused with the name “Jane Doe” and the salary “$100,000”. In addition, who are Jane Doe and John Doe? Are they employees? Or directors?

If you look at this information using a tuple called “Director” which has item elements “Name” and “Salary”, each “Director” tuple connects the “Name” with correct “Salary” element.

Tuples contain items, or they can contain other tuples. For example, a company may have a number of related parties which are described using certain items. Each related party may have multiple transactions which are described by different items. The tuple “Related Parties” contain the nested tuple “Related Party Transactions.”

5.2. Instance document basics In order to build proper taxonomies, it is critical to understand XBRL instance documents. Many taxonomy development errors result from a lack of understanding of the features available when creating instance documents.

While taxonomies can be thought of as providing the definition of concepts or “dictionaries of terms”, instance documents are more like “databases” that report fact values based on concepts defined in taxonomies.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 9 of 97

Instance documents provide mechanisms to describe contextual information about these fact values. As such, it is important this contextual information not be defined in a taxonomy. For example, the entity and period for the fact should generally not be described in a taxonomy; instance documents express this information.

XBRL instance documents are explained by the XBRL Specification [XBRL]. Other sources of information to understand instance documents are also available. Users of this document are assumed to have a good understanding of instance documents.

However, this brief explanation will help users of this document to refresh their knowledge as to what information should be expressed within a taxonomy and what information should be expressed within an instance document. It is not a comprehensive explanation of instance documents, only a refresher to help set the perspective for building taxonomies.

Instance documents provide the following mechanisms for describing contextual information for numeric and non-numeric fact values, and unit and decimal/precision information relating to numeric fact values.

1. Context: A context contains information which describes the entity, entity segment, period, and scenario a fact value is associated with.

a. Entity: The entity context describes the entity that the fact is about. For example a company, a subsidiary within a company, a department within a subsidiary, or even an employee of a department.

b. Segment: The segment context further describes the entity which can be used when the entity identifier is insufficient detail to differentiate the information.

c. Period: The period context describes the period to which the fact value relates. Examples include a specific instant in time (such as “as at December 31, 2003”) or duration of time (such as “For the year ended December 31, 2003”).

d. Scenario: The scenario context is used to associate terms such as “actual”, “budgeted”, “pro forma”, “restricted”, “unrestricted”, and so forth, to a reported fact value.

2. Unit: The unit describes the unit of measurement associated with a reported fact value. For example, it commonly explains the currency used, such as “USD” for US Dollars” or “EUR” for Euros”, to express a monetary fact.

3. Decimal/Precision: Decimal and precision are used to communicate the precise value of numeric information. See the XBRL Specification [XBRL] for a thorough discussion of decimal and precision. Decimal is the preferred method of reporting this information per FRTA.

The key point to remember from this discussion is that, in general, the contextual information expressed in instance documents should not be contained in taxonomies.

There are exceptions to these rules. For example, a taxonomy for a tax return that requires information for the current period and prior period might best contain concepts for the current period and concepts for the prior period. If taxonomy creators consciously violate these best practices to achieve a desired result in a specific circumstance, that would be acceptable practice. However, not being conscious of certain information relating to how instance documents work can cause problems for users desiring to use information contained in instance documents. Putting this contextual information in taxonomies creates

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 10 of 97

comparability problems and is the equivalent of “hard coding” information within a taxonomy.

5.3. Financial Reporting Taxonomies Architecture and Financial Reporting Instance Standards The XBRL Specification specifies how XBRL taxonomies and instance documents must be created.

The Financial Reporting Taxonomies Architecture (FRTA) places additional constraints on XBRL taxonomies which are intended to express information used in financial reporting. These constraints are intended to enhance comparability of financial information expressed using XBRL.

The Financial Reporting Instance Standards (FRIS) places additional constraints on instance documents used for financial reporting. All instance documents and taxonomies that are valid under the FRTA and FRIS are valid XBRL documents; however, not all XBRL documents are valid under the FRTA and FRIS. Again, these constraints are intended to enhance comparability of financial information expressed using XBRL.

The examples in this document are intended to comply with FRTA and FRIS.

While FRTA and FRIS are intended for financial reporting, other domains will likely find the FRTA and FRIS useful and may choose to comply with those specifications. Or, other domains may choose to create documents similar to FRTA and FRIS which meet their specific needs in order to create consistency within those domains.

5.4. Separating Presentation and Data Financial statements (and other business reports) express information. This information is expressed in certain presentation forms that can be clues on how to best express that information in an XBRL taxonomy. These forms of presentation are basically “data patterns”. Identifying these patterns helps understand how to express information in taxonomies and how to do so consistently.

There is a fundamental difference between “data” and “presentation”. This distinction must be understood in order to build taxonomies in the correct manner. This fundamental distinction between data and presentation is used to design the taxonomy. Presentation can sometimes provide “clues” as to the data you are trying to express. Sometimes a presentation clue, if not properly understood, can be misleading. A table of data containing columns and rows is a good example of where a presentation focus can lead to errors in the taxonomy contents.

Financial information can be quite complex and highly technical. It can be quite difficult to work with the data if it is simply a list of one data point after another. Think of a movement analysis. Imagine having to create or review a movement analysis if the data was not viewable in a format which is common for looking at this type of data.

With the patterns files are contained XSLT style sheets which contain formatting information.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 11 of 97

5.5. Understanding the Patterns The following information for is presented for each pattern to help the users of this document understand the patterns and how to express information of a specific pattern using XBRL:

1. Overview: A brief narrative explanation of the important characteristics of the financial reporting pattern.

2. Example of Pattern: An example of the financial reporting pattern is typically a screen shot from a financial statement that shows what the information that needs to be expressed “looks like”; that is, how it is presented. These examples could be any combination of how presentation, calculation and definition links “look”.

3. Taxonomy Pattern: An XBRL taxonomy that shows the concepts, and relations between the concepts, to make up this financial reporting pattern.

4. Instance Document: An instance document is provided to show how instance documents of this data pattern look.

5. Discussion: A general discussion relating to this pattern if further discussion is warranted.

6. Other Examples of Pattern: References to other examples of this pattern in the IFRS-GP and US-GAAP-CI taxonomies to help further clarify this pattern.

6. Complete Taxonomy Examples There are two complete financial reporting type taxonomies that embody the examples presented in this document. These taxonomies are:

1. IFRS-GP taxonomy (http://xbrl.iasb.org/int/fr/ifrs/gp/2005-01-15)

2. US GAAP CI (http://www.xbrl.org/us/USFRTF/2004-08-15/Taxonomy Framework Overview.htm)

Many concepts used in this document were used when creating the IFRS-GP and US GAAP taxonomies. The IFRS-GP taxonomy expresses International Financial Reporting Standards (IFRS) [IFRS-GP]. The US GAAP CI taxonomy expresses US Generally Accepted Accounting Standards (US-GAAP-CI) [US-GAAP-CI]. Both of these taxonomies follow the Architecture for Financial Reporting Taxonomies [FRTA].

These two sets of taxonomies provide additional examples and guidance which can be used to understand XBRL. Creators of other taxonomies are encouraged to use these two taxonomy sets, in addition to this document, as guidance in creating taxonomies.

7. General Considerations Applying to All Patterns The following are general considerations and assumptions that apply to all the financial reporting patterns covered in this document. It covers, for example, general information that is applicable to all taxonomies. For example, only one label linkbase is generally provided. When the label linkbase is understood, the same concepts apply, basically, to all taxonomies. Also, for instance documents, all monetary values are expressed in Euros. The same concepts apply to financial reporting presented in US Dollars.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 12 of 97

7.1. Elements Financial reporting concepts are expressed as XML Schema elements with additional information attached - such as xbrli:balance and xbrli:periodType. At times other XML Schema elements are used - such as nillable and abstract. Schema files and the definition of elements are the primary focus of this document. Other linkbases are provided in order to provide a complete understanding of this material. Where not essential, the linkbase information is omitted.

7.2. Label links Generally, in the examples only one label is provided for the samples shown. Actual taxonomies may have multiple labels in multiple languages and/or with multiple roles contained in multiple files. When multiple labels are useful to an explanation, multiple labels will be presented. However, in general, only one label will typically be presented. If multiple labels are presented, they may be contained in one file. This does not indicate the preferred modularity for labels. It is simply the easiest way to make sample files available.

7.3. Reference links References to authoritative literature are not provided in the samples provided. Actual taxonomies would provide such references. In the set of sample files, the “Income Statement” pattern includes references.

7.4. Presentation links Presentation links will be shown for most samples in this document to help explain the pattern. There are many ways a taxonomy creator or taxonomy user may want to view their taxonomy. In this material, only one view (which is consistent with FRTA) is presented.

7.5. Calculation links Calculation links are provided whenever calculations are expressed in a sample pattern. Calculations are a complex area of XBRL. The more common situations relating to the area of financial reporting will be covered by this document. For the calculation links covered in this document, examples will be provided in the form of calculation linkbases and narrative explanations.

7.6. Definition links At this stage in the evolution of XBRL, financial reporting taxonomies do not make extensive use of definition links. Definition links are made available as needed.

7.7. Instance document fact values For all these patterns shown, the user can make the following assumptions relating to fact values contained in instance documents:

1. Unless indicated otherwise, all amounts are shown in thousands of EUROS.

2. All data is for a hypothetical entity called “Sample Company”. This company has an identifier of SAMP which comes from http://www.SampleCompany.com.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 13 of 97

3. All labels are expressed only in one language - English - using the “standard” label role. Labels are not over-ridden by the instance document creator.

4. Scenarios are shown in one of the patterns so a sense for what they are can be communicated.

5. Segments work very similar to scenarios and are not used in these examples.

6. One example of footnotes is provided.

7.8. Reading taxonomy printout screenshots For each taxonomy pattern, screenshots of taxonomy printouts are provided in order to help understand the taxonomy. The following is a ledged which assists in understanding these reports. Below is a description of the column headers of these reports:

• ID – Unique identifier for report line

• Bal – Balance (D=Debit, C=Credit, Blank=None)

• Wgt – Weight (1, -1, etc)

• Per – Period Type (I=Instance, D=Duration)

• Nil – Nillable Attribute (T=True, Blank=False)

• Type – Type Attribute (Monetary=xbrli:monetaryItemType, etc.); it the type is surrounded by parenthesis () then the concept is abstract. For example, "(String)" means the concept is abstract; whereas "String" is not abstract.

• NS – Namespace Prefix

• Label – Concept Label

• Reference – Reference values, if provided

8. Financial Reporting Patterns The patterns that follow are common to financial reporting. Understanding these patterns will help taxonomy creators understand how to express financial concepts correctly within an XBRL taxonomy.

These patterns build in terms of complexity - earlier patterns are simpler; complex patterns are discussed later.

If not presented in this document, information that will help readers of this document fully understand each pattern, will be included in the sample files. For example, label linkbases are not normally shown in this document as they are not important for understanding the patterns; however, the label linkbases are provided in the set of sample files.

These samples will help users who are trying to thoroughly understand the subtleties of the taxonomy patterns to obtain detailed information about these patterns.

The patterns start showing the two fundamental building blocks that are used by all other patterns in this document: the item (simple concept) and the tuple (complex or compound concept).

For the financial reporting patterns explained in this document, a separate taxonomy has been created for each reporting pattern. This is to provide a

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 14 of 97

simple, complete example for each pattern that is as easy as possible to understand. In practice, reporting will be from sets of base taxonomies, such as the IFRS-GP or US-GAAP-CI, with industry and perhaps company extensions. The purpose of this document is not to discuss extensions or show the optimal way to modularize taxonomies; rather to show complete, comprehensive examples of specific financial reporting patterns.

A ZIP file containing all schema files, linkbases, and instance documents for patterns expressed in this document can be obtained from the following URL (or contact UBmatrix):

http://www.UBmatrix.com/Patterns/Patterns-2005-01-30.zip

8.1. Simple concept One of the fundamental concepts of XBRL is the “item”. Items express a single concept in a taxonomy, and one value per context in an instance document. Generally, the vast majority of concepts defined in a taxonomy will be items. Items can “stand on their own”.

8.1.1. Example of pattern The following is an example of this pattern in a financial statement:

The pattern above shows one concept, “Net income”. In this screenshot, what is being reported are three values for one concept - “Net income”, for three periods, 2003, 2002, and 2001.

8.1.2. Taxonomy pattern The following is a screenshot of the element list of this taxonomy:

The following is an example of this pattern in a taxonomy:

Example: Schema for simple concept pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/SimpleConcept" targetNamespace="http://www.UBmatrix.com/Patterns/SimpleConcept" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="SimpleConcept-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="SimpleConcept-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef"

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 15 of 97

xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_NetIncome" name="NetIncome" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> </schema>

Points to note:

1. XBRL taxonomies may or may not contain linkbases. Linkbases contain additional, supplemental information; they are not required.

2. There are no relations in this taxonomy, only concepts expressed as XML Schema elements.

The following is the label linkbase this pattern in a taxonomy:

Example: Label linkbase for simple concept pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase xbrl-linkbase-2003-12-31.xsd"> <labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link" xlink:title="Labels, All"> <loc xlink:type="locator" xlink:href="SimpleConcept.xsd#ci_NetIncome" xlink:label="ci_NetIncome" /> <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ci_NetIncome" xlink:to="ci_NetIncome_link" /> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ci_NetIncome_link" xml:lang="en">Net Income</label> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="ci_NetIncome_link" xml:lang="en">Documentation for Net Income</label> </labelLink> </linkbase>

Points to note:

1. Note the locator (loc), label arc (labelArc), and label resource (label) which make up the label.

2. Note that there is no presentation linkbase, calculation linkbase, or references linkbase as there is no presentations, calculations, or references in this taxonomy.

8.1.3. Instance document for pattern The following is a sample instance document that expresses facts for the taxonomy concepts:

Example: Instance document for simple concept pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ci="http://www.UBmatrix.com/Patterns/SimpleConcept" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/SimpleConcept SimpleConcept.xsd"> <link:schemaRef xlink:type="simple" xlink:href="SimpleConcept.xsd" /> <context id="D-2003">

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 16 of 97

<entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2003-01-01</startDate> <endDate>2003-12-31</endDate> </period> </context> <context id="D-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2002-01-01</startDate> <endDate>2002-12-31</endDate> </period> </context> <context id="D-2001"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2001-01-01</startDate> <endDate>2001-12-31</endDate> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:NetIncome contextRef="D-2003" unitRef="U-Monetary" decimals="INF">7024000</ci:NetIncome> <ci:NetIncome contextRef="D-2002" unitRef="U-Monetary" decimals="INF">7210000</ci:NetIncome> <ci:NetIncome contextRef="D-2001" unitRef="U-Monetary" decimals="INF">6659000</ci:NetIncome> </xbrl>

Points to note:

1. The scenario element within the context element indicates that the fact values in this instance document are “actual” values.

8.1.4. Discussion Simple concepts that contain one single text or numeric fact value are very straight forward, as are instance documents that represent them. They are a simple name/value pair.

The balance sheet, income statement, cash flows statement, and statement of equity are comprised of simple concepts, all of which are numeric items.

In the example above, note the following:

1. Only one concept is contained in the taxonomy.

2. Three items are contained in the instance document; each item has a different context, in this case period.

Note that this taxonomy contains only one element. Therefore, it is impossible to create a link between itself and another element and therefore cannot create relationships between itself and other elements for inclusion of, say, a presentation linkbase. However, FRTA requires the existence of a presentation linkbase. In order to meet FRTA compliance, an empty presentation linkbase is provided.

8.1.5. Other examples of pattern Examples of this pattern include financial highlights, a balance sheet, an income statement, a statement of cash flows, a statement of equity.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 17 of 97

8.2. Unrelated concepts This pattern expands on the Simple Concept pattern discussed previously by having several simple, unrelated concepts in one taxonomy. The term “unrelated” is used to mean there is no direct relationship between the items within the taxonomy. Items may be “related” in that they have the same context (entity, period, scenario), or in some other way; but this is not how the term related is being used in this case. The information has these characteristics:

1. The pieces of information are unrelated; therefore there are no XBRL relationships (calculation, definition, presentation) between the elements.

2. The elements do not repeat; therefore they should not be contained within tuples.

3. There may be multiple contexts in which a piece of information is provided - such as for specific entities or for specific period, or both - but these characteristics (entity or period) are differentiated using instance document contexts, not additional taxonomy elements.

8.2.1. Example of pattern The following is an example of this pattern in a financial statement.

In the example above, six financial highlight concepts are being communicated in a report. The six facts are reported for three periods, 2003, 2002, and 2001.

8.2.2. Taxonomy pattern The following is a screen shot of the element list view of this taxonomy pattern:

The actual taxonomy for these elements is:

Example: Schema for unrelated concepts pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 -->

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 18 of 97

<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/UnrelatedConcepts" targetNamespace="http://www.UBmatrix.com/Patterns/UnrelatedConcepts" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="UnrelatedConcepts-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="UnrelatedConcepts-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_Sales" name="Sales" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_OperatingIncome" name="OperatingIncome" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_NetIncome" name="NetIncome" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_CashFlowsFromOperatingActivites" name="CashFlowsFromOperatingActivites" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_FreeCashFlow" name="FreeCashFlow" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_NumberOfEmployees" name="NumberOfEmployees" type="xbrli:decimalItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> </schema>

Points to note:

1. The taxonomy printout is in alphabetical order. The order in which the elements are listed is determined by the software used to build the taxonomy. In the taxonomy file, the order of the elements is not important.

8.2.3. Instance document for pattern The following is a sample instance document which expresses facts for these taxonomy concepts:

Example: Instance document for unrelated concepts pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ci="http://www.UBmatrix.com/Patterns/UnrelatedConcepts" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/UnrelatedConcepts UnrelatedConcepts.xsd"> <link:schemaRef xlink:type="simple" xlink:href="UnrelatedConcepts.xsd" /> <context id="D-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2003-01-01</startDate>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 19 of 97

<endDate>2003-12-31</endDate> </period> </context> <context id="D-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2002-01-01</startDate> <endDate>2002-12-31</endDate> </period> </context> <context id="D-2001"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2001-01-01</startDate> <endDate>2001-12-31</endDate> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <unit id="U-Pure"> <measure>xbrli:pure</measure> </unit> <ci:Sales contextRef="D-2003" unitRef="U-Monetary" decimals="INF">32038000</ci:Sales> <ci:Sales contextRef="D-2002" unitRef="U-Monetary" decimals="INF">35805000</ci:Sales> <ci:Sales contextRef="D-2001" unitRef="U-Monetary" decimals="INF">32465000</ci:Sales> <ci:OperatingIncome contextRef="D-2003" unitRef="U-Monetary" decimals="INF">7277000</ci:OperatingIncome> <ci:OperatingIncome contextRef="D-2002" unitRef="U-Monetary" decimals="INF">7883000</ci:OperatingIncome> <ci:OperatingIncome contextRef="D-2001" unitRef="U-Monetary" decimals="INF">7343000</ci:OperatingIncome> <ci:NetIncome contextRef="D-2003" unitRef="U-Monetary" decimals="INF">7024000</ci:NetIncome> <ci:NetIncome contextRef="D-2002" unitRef="U-Monetary" decimals="INF">7210000</ci:NetIncome> <ci:NetIncome contextRef="D-2001" unitRef="U-Monetary" decimals="INF">6659000</ci:NetIncome> <ci:CashFlowsFromOperatingActivites contextRef="D-2003" unitRef="U-Monetary" decimals="INF">7342000</ci:CashFlowsFromOperatingActivites> <ci:CashFlowsFromOperatingActivites contextRef="D-2002" unitRef="U-Monetary" decimals="INF">7612000</ci:CashFlowsFromOperatingActivites> <ci:CashFlowsFromOperatingActivites contextRef="D-2001" unitRef="U-Monetary" decimals="INF">6893000</ci:CashFlowsFromOperatingActivites> <ci:FreeCashFlow contextRef="D-2003" unitRef="U-Monetary" decimals="INF">4073000</ci:FreeCashFlow> <ci:FreeCashFlow contextRef="D-2002" unitRef="U-Monetary" decimals="INF">4525000</ci:FreeCashFlow> <ci:FreeCashFlow contextRef="D-2001" unitRef="U-Monetary" decimals="INF">3525000</ci:FreeCashFlow> <ci:NumberOfEmployees contextRef="D-2003" unitRef="U-Pure" decimals="INF">1231</ci:NumberOfEmployees> <ci:NumberOfEmployees contextRef="D-2002" unitRef="U-Pure" decimals="INF">1165</ci:NumberOfEmployees> <ci:NumberOfEmployees contextRef="D-2001" unitRef="U-Pure" decimals="INF">985</ci:NumberOfEmployees> </xbrl>

Points to note:

1. The only difference between this taxonomy and the other taxonomy with “NetIncome” is that this taxonomy has additional elements. There are no presentation, calculation, or definition relations in this taxonomy.

2. The “NumberOfEmployees” has a different unit context than the monetary facts.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 20 of 97

8.2.4. Discussion The only difference between the “Unrelated concepts” and the “Simple concept” examples is that the “Unrelated concepts” taxonomy has more elements. Even though there is more than one element, the taxonomy expresses no presentation, calculation, or definition relationships.

This is a very simple taxonomy to create and use.

Below is an extension of this example. The financial information below includes fact values for “Pharmaceuticals Segment” sales, “Generics Segment” sales, and “Consumer Health Segment” sales.

How many additional elements must be added to the taxonomy to express these three additional facts? The answer is zero. These fact values are expressed with the same “Sales” element as the “Sales” line item of the financial information. To express the three additional segments, three new contexts are created, one for each of these segments.

If additional periods were added, or if budgeted information was also disclosed along with actual information, no new concepts would be added to the taxonomy. Instead, additional contexts would be added in the instance document.

Again, as there are no relationships between concepts in this taxonomy and FRTA requires a presentation linkbase, an empty presentation linkbase is provided to make this taxonomy FRTA compliant.

8.3. Related concepts At times taxonomies contain elements that are related. The term “related” here is defined to mean there is some relationship between the elements as defined by the taxonomy. XBRL provides three mechanisms to relate taxonomy concepts by graphing links to provide tree views: presentation links, calculation links, and definition links.

Elements may be related in that they have the same context (entity, period, scenario), but these are in a flat hierarchy, rather than a tree view.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 21 of 97

Also, this type of relationship is different from a concept which must be bound to another concept using a tuple to be understood, as taxonomy authors use tuples to organize collections of elements, rather than relate one element to another element.

Related elements can be understood individually, but it is helpful to somehow organize the elements in some manner to make using the elements easier.

For example, if a taxonomy had 2,000 elements and a user had to locate one specific element to use within an instance document, it may be useful to organize the taxonomy according to some scheme, and break the taxonomy into groups of related elements. One purpose of this is to help organize a taxonomy to make using that taxonomy easier.

Examples of this might be something like:

1. Breaking a taxonomy out into “Accounting Policies” and “Explanatory Disclosures”.

2. Breaking “Accounting Policies” out into each individual category of accounting policy, such as “Intangible Asset Policy” and “Inventories Policy”.

3. Breaking an individual disclosure out into separate categories such as “Property, Plant and Equipment Under Finance Leases”, “Detail of Property, Plant and Equipment Pledged as Security”, and “Revalued Property, Plant and Equipment.”

The example of this pattern will focus on presentation relationships. Other patterns will focus on calculations and definitions, or show two or more relationships working together with the same set of concepts.

8.3.1. Example of pattern Consider the following example pattern.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 22 of 97

The pattern above shows a condensed set of accounting policy disclosures that might appear in a financial statement. The items are related; however, there are no calculation links between the elements. You can see from the “outline” type of presentation that the main section is Accounting Policies. Accounting Policies has several sub-sections: Inventories, Financial Instruments, Provisions. Also, Financial Instruments has several sub-sections: Trade receivables, Investments in securities and Bank Borrowings. Use of the “outline” view and features such as bold, indentation, and different font of section levels, the disclosure is much easier to read and understand than a flat list of concepts.

8.3.2. Taxonomy pattern The following is an example of this pattern in a taxonomy:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 23 of 97

The following is the taxonomy for this pattern:

Example: Schema for related concepts pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/RelatedConcepts" targetNamespace="http://www.UBmatrix.com/Patterns/RelatedConcepts" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="RelatedConcepts-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="RelatedConcepts-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_AccountingPolicies" name="AccountingPolicies" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_BasisReporting" name="BasisReporting" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_Inventories" name="Inventories" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_BasisforReportingInventories" name="BasisforReportingInventories" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_BasisforComputingCostInventories" name="BasisforComputingCostInventories" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_FinancialInstruments" name="FinancialInstruments" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_TradeReceivables" name="TradeReceivables" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_InvestmentsinSecurities" name="InvestmentsinSecurities" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_BankBorrowings" name="BankBorrowings" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_BasisforComputingFinanceCharges" name="BasisforComputingFinanceCharges" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_Provisions" name="Provisions" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" /> <element id="ci_RecognisionProvisions" name="RecognisionProvisions" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" />

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 24 of 97

</schema>

The following is the presentation linkbase for this pattern:

Example: Presentation linkbase for related concepts pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase xbrl-linkbase-2003-12-31.xsd"> <presentationLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link" xlink:title="Presentation, All"> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_BasisReporting" xlink:label="ci_BasisReporting" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_AccountingPolicies" xlink:label="ci_AccountingPolicies" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_Inventories" xlink:label="ci_Inventories" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_BasisforReportingInventories" xlink:label="ci_BasisforReportingInventories" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_BasisforComputingCostInventories" xlink:label="ci_BasisforComputingCostInventories" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_FinancialInstruments" xlink:label="ci_FinancialInstruments" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_TradeReceivables" xlink:label="ci_TradeReceivables" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_InvestmentsinSecurities" xlink:label="ci_InvestmentsinSecurities" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_BankBorrowings" xlink:label="ci_BankBorrowings" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_Provisions" xlink:label="ci_Provisions" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_RecognisionProvisions" xlink:label="ci_RecognisionProvisions" /> <loc xlink:type="locator" xlink:href="RelatedConcepts.xsd#ci_BasisforComputingFinanceCharges" xlink:label="ci_BasisforComputingFinanceCharges" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_AccountingPolicies" xlink:to="ci_BasisReporting" order="1" use="optional" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_AccountingPolicies" xlink:to="ci_Inventories" order="2" use="optional" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_Inventories" xlink:to="ci_BasisforReportingInventories" order="1" use="optional" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_Inventories" xlink:to="ci_BasisforComputingCostInventories" order="2" use="optional" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_AccountingPolicies" xlink:to="ci_FinancialInstruments" order="3" use="optional" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_FinancialInstruments" xlink:to="ci_TradeReceivables" order="1" use="optional" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_FinancialInstruments" xlink:to="ci_InvestmentsinSecurities" order="2" use="optional" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_FinancialInstruments" xlink:to="ci_BankBorrowings" order="3" use="optional" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_BankBorrowings" xlink:to="ci_BasisforComputingFinanceCharges" order="1" use="optional" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_AccountingPolicies" xlink:to="ci_Provisions" order="4" use="optional" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_Provisions" xlink:to="ci_RecognisionProvisions" order="1" use="optional" /> </presentationLink> </linkbase>

Points to note:

1. This taxonomy pattern introduces a presentation linkbase which creates relations between concepts.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 25 of 97

Note that the taxonomy pattern follows, somewhat, the financial disclosure “outline”. Also note that the indentation, different fonts, etc. which make the taxonomy easier to read are not part of presentation offered by the XBRL standard itself.

8.3.3. Instance document for pattern The following is a sample instance document that expresses the facts for the taxonomy concepts:

Example: Instance document for related concepts pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ci="http://www.UBmatrix.com/Patterns/RelatedConcepts" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/RelatedConcepts RelatedConcepts.xsd"> <link:schemaRef xlink:type="simple" xlink:href="RelatedConcepts.xsd" /> <context id="D-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2003-01-01</startDate> <endDate>2003-12-31</endDate> </period> </context> <ci:BasisReporting contextRef="D-2003">Historical Cost</ci:BasisReporting> <ci:BasisforReportingInventories contextRef="D-2003">Lower of cost and net realisable value</ci:BasisforReportingInventories> <ci:BasisforComputingCostInventories contextRef="D-2003">weighted average method</ci:BasisforComputingCostInventories> <ci:FinancialInstruments contextRef="D-2003">Financial assets and liabilities are recognised on the Group's balance sheet when the Group has become a party to the contractual provisions of the investment.</ci:FinancialInstruments> <ci:TradeReceivables contextRef="D-2003">Trade receivables are stated at their nominal value as reduced by appropriate allowances for estimated irrecoverable amounts.</ci:TradeReceivables> <ci:InvestmentsinSecurities contextRef="D-2003">Investments in securities are recognised on a trade-date basis and are initially measured at cost.</ci:InvestmentsinSecurities> <ci:BasisforComputingFinanceCharges contextRef="D-2003">accrual basis</ci:BasisforComputingFinanceCharges> <ci:RecognisionProvisions contextRef="D-2003">Provisions are recognised when the Group has a present obligation as a result of a past event which it is probable will result in an outflow of economic benefits that can be reasonably estimated.</ci:RecognisionProvisions> </xbrl>

Points to note:

1. Text can be included in instance documents, as well as numbers.

8.3.4. Discussion From the above example, notice how breaking up a long list of taxonomy concepts makes reading that taxonomy easier. In some taxonomy creation tools, different types of relationships are indicated by indenting elements on a printed output. This indentation is only a metaphor to clearly show the relationship.

Taxonomy developers need to consider their desired result when creating categories. As mentioned in the previous section, there is a difference between providing an element as “abstract” or with a “string” data type; each achieves different goals.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 26 of 97

A calculation linkbase is not needed with these types of relations as there are no calculation type relations to express. There is also no need for definition relationships in this case.

8.4. Basic calculation This pattern introduces the notion of calculation relationships by showing a very basic pattern that contains a simple calculation. Previously, patterns were either unrelated or only had a presentation relationship. This pattern has both a presentation relationship and a calculation relationship.

8.4.1. Example of pattern The following is an example of this pattern in a financial statement.

In this pattern of presenting financial information, five detailed components of property, plant and equipment are shown along with a total of those components. Information is provided for two periods.

8.4.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

This next screenshot shows the calculation view of the same taxonomy:

Note: There is one very significant difference between these taxonomy printouts. The presentation view shows “Total Property, Plant and Equipment” at the bottom of the list - the position in which it would be shown in an actual financial statement. The calculation view shows “Total Property, Plant and Equipment” at the top of the list. This is because the metaphor shown by the tool creating this printout uses a tree hierarchy to show the calculation relationship.

Also note that an abstract element - “Property, Plant and Equipment” - is used to organize the child elements. Without it there would be no place to hold the six concepts relating to the detailed components and the total of property, plant and

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 27 of 97

equipment. However, this abstract element is not needed; in fact, it cannot be shown in the calculation relationship as it is not involved in any calculation.

It is important to understand the two points presented above as these same organization and presentation of taxonomy concepts are used throughout the remainder of this document.

This is the actual taxonomy:

Example: Schema for basic calculation pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/BasicCalculation" targetNamespace="http://www.UBmatrix.com/Patterns/BasicCalculation" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="BasicCalculation-label.xml"/> <link:linkbaseRef xlink:type="simple" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="BasicCalculation-presentation.xml"/> <link:linkbaseRef xlink:type="simple" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="BasicCalculation-calculation.xml"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_PropertyPlantEquipment" name="PropertyPlantEquipment" substitutionGroup="xbrli:item" xbrli:periodType="instant" abstract="true" nillable="true" type="xbrli:stringItemType" /> <element id="ci_Building" name="Building" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" /> <element id="ci_ComputerEquipment" name="ComputerEquipment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" /> <element id="ci_FurnitureFixtures" name="FurnitureFixtures" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" /> <element id="ci_Land" name="Land" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:balance="debit" nillable="true" xbrli:periodType="instant" /> <element id="ci_Other" name="Other" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:balance="debit" nillable="true" xbrli:periodType="instant" /> <element id="ci_TotalPropertyPlantEquipment" name="TotalPropertyPlantEquipment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" /> </schema>

The following is the calculation linkbase for this pattern:

Example: Calculation linkbase for basic calculation pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase xbrl-linkbase-2003-12-31.xsd">

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 28 of 97

<calculationLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link" xlink:title="Calculations, All"> <loc xlink:type="locator" xlink:href="BasicCalculation.xsd#ci_TotalPropertyPlantEquipment" xlink:label="ci_TotalPropertyPlantEquipment" /> <loc xlink:type="locator" xlink:href="BasicCalculation.xsd#ci_Land" xlink:label="ci_Land" /> <loc xlink:type="locator" xlink:href="BasicCalculation.xsd#ci_Building" xlink:label="ci_Building" /> <loc xlink:type="locator" xlink:href="BasicCalculation.xsd#ci_FurnitureFixtures" xlink:label="ci_FurnitureFixtures" /> <loc xlink:type="locator" xlink:href="BasicCalculation.xsd#ci_ComputerEquipment" xlink:label="ci_ComputerEquipment" /> <loc xlink:type="locator" xlink:href="BasicCalculation.xsd#ci_Other" xlink:label="ci_Other" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TotalPropertyPlantEquipment" xlink:to="ci_Land" order="1" weight="1" use="optional" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TotalPropertyPlantEquipment" xlink:to="ci_Building" order="2" weight="1" use="optional" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TotalPropertyPlantEquipment" xlink:to="ci_FurnitureFixtures" order="3" weight="1" use="optional" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TotalPropertyPlantEquipment" xlink:to="ci_ComputerEquipment" order="4" weight="1" use="optional" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item"xlink:from="ci_TotalPropertyPlantEquipment" xlink:to="ci_Other" order="5" weight="1" use="optional" /> </calculationLink> </linkbase>

Points to note:

1. There is no real difference between an XML Schema file containing elements with no relations and an XML Schema file containing elements with calculation relations, other than a reference to the linkbase containing the calculations.

2. Calculation relations are defined in the calculation linkbase. Note that the calculation linkbase provides an ordering if the relationships and weights for the calculation relations.

3. There is no relation between the calculation linkbase and the presentation linkbase; each stands on its own. However, if each provides different messages that could be confusing to users. An example would be if a mistake was made and “Other” was in the presentation linkbase, but was not included in the calculation linkbase.

8.4.3. Instance document for pattern The following is a sample instance document that contains the facts for the taxonomy concepts:

Example: Instance document for basic calculation pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ci="http://www.UBmatrix.com/Patterns/BasicCalculation" xmlns:scenarios="http://www.xbrl.org/frta/scenarios" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/BasicCalculation BasicCalculation.xsd http://www.xbrl.org/frta/scenarios scenarios.xsd"> <link:schemaRef xlink:type="simple" xlink:href="BasicCalculation.xsd" /> <context id="I-2003"> <entity>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 29 of 97

<identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> <scenario> <scenarios:ReportingScenario><scenarios:Actual /></scenarios:ReportingScenario> </scenario> </context> <context id="I-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2002-12-31</instant> </period> <scenario> <scenarios:ReportingScenario><scenarios:Actual /></scenarios:ReportingScenario> </scenario> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:Land contextRef="I-2003" unitRef="U-Monetary" decimals="INF">5347000</ci:Land> <ci:Land contextRef="I-2002" unitRef="U-Monetary" decimals="INF">1147000</ci:Land> <ci:Building contextRef="I-2003" unitRef="U-Monetary" decimals="INF">244508000</ci:Building> <ci:Building contextRef="I-2002" unitRef="U-Monetary" decimals="INF">366375000</ci:Building> <ci:FurnitureFixtures contextRef="I-2003" unitRef="U-Monetary" decimals="INF">34457000</ci:FurnitureFixtures> <ci:FurnitureFixtures contextRef="I-2002" unitRef="U-Monetary" decimals="INF">34457000</ci:FurnitureFixtures> <ci:ComputerEquipment contextRef="I-2003" unitRef="U-Monetary" decimals="INF">4169000</ci:ComputerEquipment> <ci:ComputerEquipment contextRef="I-2002" unitRef="U-Monetary" decimals="INF">5313000</ci:ComputerEquipment> <ci:Other contextRef="I-2003" unitRef="U-Monetary" decimals="INF">6702000</ci:Other> <ci:Other contextRef="I-2002" unitRef="U-Monetary" decimals="INF">6149000</ci:Other> <ci:TotalPropertyPlantEquipment contextRef="I-2003" unitRef="U-Monetary" decimals="INF">295183000</ci:TotalPropertyPlantEquipment> <ci:TotalPropertyPlantEquipment contextRef="I-2002" unitRef="U-Monetary" decimals="INF">413441000</ci:TotalPropertyPlantEquipment> </xbrl>

Points to note:

1. XBRL takes context into consideration when performing calculations. Calculations will not cross contexts.

2. Scenarios are introduced in this pattern.

8.4.4. Discussion A basic calculation adds one additional component to what has been seen previously - the calculation linkbase. In the example above, a very simple calculation is expressed. Each element has the same “balance” attribute value - “debit”. Both the balance attribute and the weight must be considered when building the concepts in the taxonomy (where the balance attribute is located) and calculation linkbase (where the weight attribute is located). This will be considered in the next pattern.

It is important to keep in mind that, at this time, XBRL does not have a method to express calculations across contexts. When working with calculations, each concept involved in the calculation must be in the same context. In the future

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 30 of 97

cross-context calculations will be possible; however, at this time they are not. This will impact certain types of calculations and whether they can be expressed. This will be discussed later in this document.

Other issues relating to the decimal and precision attribute values of instance documents must also be considered in calculations. This is beyond the scope of this document. You will need to read the XBRL Specification for this information [XBRL].

Calculations are one of the more complex areas of XBRL. Additional issues relating to calculations will be explained in future examples of patterns containing more complex issues. This example was kept simple to make only the basic introductory points relating to calculations.

8.5. Net/gross calculation Another common pattern used in accounting is to show a “Gross” value, some type of “Adjustment” and a resulting “Net” value. For example, “Receivables, Net” may be comprised of “Receivables, Gross” and an adjustment for “Allowance for Doubtful Accounts”.

8.5.1. Example of pattern The following is an example of this pattern in a financial statement:

8.5.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

This screenshot shows the calculation view of the same taxonomy:

Recalling from the “Basic Calculation” pattern discussed previously, there are different views for the presentation relationships and the calculation relationships. The abstract concept “Trade Receivables” is used only in the presentation view to organize the concepts shown in the presentation view. The concept “Trade Receivables, Net” shows up at the bottom of the presentation view and at the top of the calculation view.

It is important to note that the concept “Allowance for Doubtful Accounts” has a balance attribute value of “credit” and a weight of “-1”. In the “Basic Calculation” pattern all concepts had a balance attribute value that was the same (“debit”)

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 31 of 97

and if concepts were involved in a calculation, they would all have a weight of “1”.

In this pattern, the concept “Allowance for Doubtful Accounts” is a contra-asset account. Its’ natural balance would be a credit.

An alternative approach would be to assign a balance type of “debit” to this element, a weight of “1” and expect creators of instance documents to enter a negative value for “Allowance for Doubtful Accounts”. In this example, however, we assigned a “credit” value for the balance attribute, assigned a weight of “-1” to the calculation link, and expect creators of instance documents to enter a positive value for “Allowance for Doubtful Accounts”.

If you are creating a base taxonomy, then this would be a matter of preference. Either would work, but how the pieces fit together must work correctly. Which option you select if you are extending a base taxonomy should be determined by what the base taxonomy does in this situation.

Here is the actual taxonomy:

Example: Schema for net/gross calculation pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/NetGrossCalculation" targetNamespace="http://www.UBmatrix.com/Patterns/NetGrossCalculation" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="NetGrossCalculation-label.xml"/> <link:linkbaseRef xlink:type="simple" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="NetGrossCalculation-presentation.xml"/> <link:linkbaseRef xlink:type="simple" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="NetGrossCalculation-calculation.xml"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_TradeReceivables" name="TradeReceivables" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" abstract="true" nillable="true" /> <element id="ci_TradeReceivablesGross" name="TradeReceivablesGross" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" nillable="true" /> <element id="ci_AllowanceDoubtfulAccounts" name="AllowanceDoubtfulAccounts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" /> <element id="ci_TradeReceivablesNet" name="TradeReceivablesNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" nillable="true" /> </schema>

Points to note:

1. The difference between this calculation and the basic calculation is that the basic calculation has all concepts with the same balance attribute values whereas this calculation has concepts that may have different balance attribute values, depending on the approach taken.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 32 of 97

8.5.3. Instance document for pattern The following is a sample instance document that contains the facts for the taxonomy concepts:

Example: Instance document for net/gross calculation pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ci="http://www.UBmatrix.com/Patterns/NetGrossCalculation" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/NetGrossCalculation NetGrossCalculation.xsd"> <link:schemaRef xlink:type="simple" xlink:href="NetGrossCalculation.xsd" /> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <context id="I-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2002-12-31</instant> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:TradeReceivablesGross contextRef="I-2003" unitRef="U-Monetary" decimals="INF">18280000</ci:TradeReceivablesGross> <ci:TradeReceivablesGross contextRef="I-2002" unitRef="U-Monetary" decimals="INF">13472000</ci:TradeReceivablesGross> <ci:AllowanceDoubtfulAccounts contextRef="I-2003" unitRef="U-Monetary" decimals="INF">5687000</ci:AllowanceDoubtfulAccounts> <ci:AllowanceDoubtfulAccounts contextRef="I-2002" unitRef="U-Monetary" decimals="INF">4682000</ci:AllowanceDoubtfulAccounts> <ci:TradeReceivablesNet contextRef="I-2003" unitRef="U-Monetary" decimals="INF">12593000</ci:TradeReceivablesNet> <ci:TradeReceivablesNet contextRef="I-2002" unitRef="U-Monetary" decimals="INF">8790000</ci:TradeReceivablesNet> </xbrl>

Points to note:

1. Notice that the values for “Allowance for Doubtful Accounts” is entered into the document as a positive number. The weight attribute (recorded in the calculation linkbase) of “-1” is how the calculation knows the value is subtracted to obtain the Net amount.

2. There is no relation between presentation and calculation. If a user wants to display the value as positive or negative on the actual printed financial statement (with or without parenthesis or with a negative sign or not) has no bearing on how the calculation is expressed in XBRL.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 33 of 97

8.5.4. Discussion The only real difference between the “Net/gross” calculation and the “Basic calculation” is that the basic calculation has concepts where the balance attributes are all the same, while the net/gross calculation has concepts where the balance attributes are different. This change in the balance attribute value impacts how weights are assigned to calculation relationships. While this is a very simple difference, it is the preferred way to create taxonomies.

8.6. Table of numeric concepts A balance sheet, income statement, and cash flows statement are examples of tables of numeric concepts. This pattern is very similar to the “basic calculation” and the “grand total with subtotals” patterns. that the difference is that this pattern has many more concepts and perhaps many more subtotals.

8.6.1. Example of pattern The following is an example of this pattern in a financial statement:

The pattern above shows a balance sheet fragment of a classified balance sheet. Assets are shown and classified as current and non current. Data is presented for two periods, 2003 and 2002, and expressed in thousands of Euros in the printed document.

8.6.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 34 of 97

The following is a screen shot of the calculation view of this taxonomy pattern:

This is the actual taxonomy:

Example: Schema for table of numeric concepts pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/TableOfNumericConcepts" targetNamespace="http://www.UBmatrix.com/Patterns/TableOfNumericConcepts" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="TableOfNumericConcepts-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="TableOfNumericConcepts-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="TableOfNumericConcepts-calculation.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_AssetsPresentation" name="AssetsPresentation" abstract="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_CashCashEquivalents" name="CashCashEquivalents" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" />

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 35 of 97

<element id="ci_CurrentAssetsPresentation" name="CurrentAssetsPresentation" abstract="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Goodwill" name="Goodwill" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_Inventories" name="Inventories" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_InvestmentInAssociates" name="InvestmentInAssociates" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_InvestmentProperty" name="InvestmentProperty" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_NonCurrentAssetsPresentation" name="NonCurrentAssetsPresentation" abstract="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Prepayments" name="Prepayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_PropertyPlantEquipment" name="PropertyPlantEquipment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_TotalAssets" name="TotalAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_TotalCurrentAssets" name="TotalCurrentAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_TotalNonCurrentAssets" name="TotalNonCurrentAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_TradeOtherReceivables" name="TradeOtherReceivables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> </schema>

8.6.3. Instance document for pattern The following is a sample instance document that contains sample facts for the taxonomy concepts:

Example: Instance document for table of numeric concepts pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ci="http://www.UBmatrix.com/Patterns/TableOfNumericConcepts" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/TableOfNumericConcepts TableOfNumericConcepts.xsd"> <link:schemaRef xlink:type="simple" xlink:href="TableOfNumericConcepts.xsd" /> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <context id="I-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2002-12-31</instant> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:PropertyPlantEquipment contextRef="I-2003" unitRef="U-Monetary" decimals="INF">540000000</ci:PropertyPlantEquipment> <ci:PropertyPlantEquipment contextRef="I-2002" unitRef="U-Monetary" decimals="INF">400000000</ci:PropertyPlantEquipment>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 36 of 97

<ci:InvestmentProperty contextRef="I-2003" unitRef="U-Monetary" decimals="INF">150000000</ci:InvestmentProperty> <ci:InvestmentProperty contextRef="I-2002" unitRef="U-Monetary" decimals="INF">150000000</ci:InvestmentProperty> <ci:Goodwill contextRef="I-2003" unitRef="U-Monetary" decimals="INF">140000000</ci:Goodwill> <ci:Goodwill contextRef="I-2002" unitRef="U-Monetary" decimals="INF">150000000</ci:Goodwill> <ci:InvestmentInAssociates contextRef="I-2003" unitRef="U-Monetary" decimals="INF">60000000</ci:InvestmentInAssociates> <ci:InvestmentInAssociates contextRef="I-2002" unitRef="U-Monetary" decimals="INF">60000000</ci:InvestmentInAssociates> <ci:TotalNonCurrentAssets contextRef="I-2003" unitRef="U-Monetary" decimals="INF">890000000</ci:TotalNonCurrentAssets> <ci:TotalNonCurrentAssets contextRef="I-2002" unitRef="U-Monetary" decimals="INF">760000000</ci:TotalNonCurrentAssets> <ci:Inventories contextRef="I-2003" unitRef="U-Monetary" decimals="INF">350000000</ci:Inventories> <ci:Inventories contextRef="I-2002" unitRef="U-Monetary" decimals="INF">175000000</ci:Inventories> <ci:TradeOtherReceivables contextRef="I-2003" unitRef="U-Monetary" decimals="INF">490000000</ci:TradeOtherReceivables> <ci:TradeOtherReceivables contextRef="I-2002" unitRef="U-Monetary" decimals="INF">590000000</ci:TradeOtherReceivables> <ci:Prepayments contextRef="I-2003" unitRef="U-Monetary" decimals="INF">5000000</ci:Prepayments> <ci:Prepayments contextRef="I-2002" unitRef="U-Monetary" decimals="INF">5000000</ci:Prepayments> <ci:CashCashEquivalents contextRef="I-2003" unitRef="U-Monetary" decimals="INF">849000000</ci:CashCashEquivalents> <ci:CashCashEquivalents contextRef="I-2002" unitRef="U-Monetary" decimals="INF">547000000</ci:CashCashEquivalents> <ci:TotalCurrentAssets contextRef="I-2003" unitRef="U-Monetary" decimals="INF">1694000000</ci:TotalCurrentAssets> <ci:TotalCurrentAssets contextRef="I-2002" unitRef="U-Monetary" decimals="INF">1317000000</ci:TotalCurrentAssets> <ci:TotalAssets contextRef="I-2003" unitRef="U-Monetary" decimals="INF">2584000000</ci:TotalAssets> <ci:TotalAssets contextRef="I-2002" unitRef="U-Monetary" decimals="INF">2077000000</ci:TotalAssets> </xbrl>

8.6.4. Discussion As you can see, the instance document above is very similar to the other patterns presenting item type concepts; there are just more actual fact values in the instance document. The presentation format and calculation format should be familiar by now.

Financial statements, such as the balance sheet, income statement, and cash flows statement, are fairly easy to express using XBRL. The statement of stockholders’ equity has some unique aspects, that will be discussed later. These other statements are nothing more than a list of concepts (the line-items in the statement) and values (the amount for the line-item) with one or more contexts (the column of the table). This all comes down to “name/value pairs” with each name having several contexts for different periods, different entities, or different reporting scenarios.

Again, this pattern introduces no new issues. It points out that large groupings of concepts, such as a balance sheet, income statement or statement of cash flows,

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 37 of 97

are generally nothing more than a large number of concepts with multiple levels of subtotals and grand totals.

What follows is another example of a table of numeric concepts. This example shows a complete income statement in the form of a presentation linkbase and a calculation linkbase. The actual schema files are contained in the set of sample files, but are not included in the document due to the length of the files.

The income statement is one of the more complex statements to reflect in the form of a presentation linkbase due to the number of calculations involved.

The following is the presentation linkbase for the income statement:

Note that the presentation view shows the taxonomy concepts in the order they would likely appear in an actual income statement, line item by line item. Several elements have “(Presentation)” appended to the end of the label. Also notice that all of these elements are abstract elements. These elements were

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 38 of 97

added in order to organize the presentation hierarchy. Without these abstract elements, the listing would simply be a flat list.

Also note that the term “Total” appears to make the calculations clearer. For example, note elements 28 through 31. Element 31 is the total of elements 28 through 30. This is not clear in the presentation view (but it is clear in the calculation view). To make this a bit clearer, the word “Total” is placed in front of each element which is a total.

The following is the calculation linkbase for the income statement.

Although the printout is not necessarily intuitive, once the user understands how XML/XBRL trees are created, the calculations should become clear. For example, the concept “Net Income (Loss) Transferred to Equity” is at the top of the printout, as this concept is the “bottom line” of this calculation.

An instance document for this income statement would look very similar to the instance document for the balance sheet.

8.7. Grand total with subtotals calculation Building on calculations, at times it is necessary to express several levels of totals - for example subtotals and a grand total. In addition, different users may desire to see different subtotals. These issues will be explained in this pattern.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 39 of 97

8.7.1. Example of pattern The following is an example of this pattern in a financial statement:

The pattern above totaled income tax expense by current and deferred portions; and then provides a total income tax expense. Information is provided for two periods, 2003 and 2002.

8.7.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

The following is a screen shot of the calculation view of this taxonomy pattern:

This is the actual taxonomy:

Example: Schema for grand total subtotals calculation pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/GrandTotalSubtotalsCalculation" targetNamespace="http://www.UBmatrix.com/Patterns/GrandTotalSubtotalsCalculation" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 40 of 97

<appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="GrandTotalSubtotalsCalculation-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="GrandTotalSubtotalsCalculation-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="GrandTotalSubtotalsCalculation-calculation.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_IncomeTaxExpense" name="IncomeTaxExpense" abstract="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_ForeignIncomeTaxExpenseCurrent" name="ForeignIncomeTaxExpenseCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_DomesticIncomeTaxExpenseCurrent" name="DomesticIncomeTaxExpenseCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_TotalIncomeTaxExpenseCurrent" name="TotalIncomeTaxExpenseCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_ForeignIncomeTaxExpenseDeferred" name="ForeignIncomeTaxExpenseDeferred" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_DomesticIncomeTaxExpenseDeferred" name="DomesticIncomeTaxExpenseDeferred" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_TotalIncomeTaxExpenseDeferred" name="TotalIncomeTaxExpenseDeferred" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_TotalIncomeTaxExpense" name="TotalIncomeTaxExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /></schema>

8.7.3. Instance document for pattern The following is a sample instance document that contains the facts for the taxonomy concepts:

Example: Instance document for grand total subtotals calculations pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ci="http://www.UBmatrix.com/Patterns/GrandTotalSubtotalsCalculation" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/GrandTotalSubtotalsCalculation GrandTotalSubtotalsCalculation.xsd"> <link:schemaRef xlink:type="simple" xlink:href="GrandTotalSubtotalsCalculation.xsd" /> <context id="D-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2003-01-01</startDate> <endDate>2003-12-31</endDate> </period> </context> <context id="D-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 41 of 97

<period> <startDate>2002-01-01</startDate> <endDate>2002-12-31</endDate> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:ForeignIncomeTaxExpenseCurrent contextRef="D-2003" unitRef="U-Monetary" decimals="INF">5408000</ci:ForeignIncomeTaxExpenseCurrent> <ci:ForeignIncomeTaxExpenseCurrent contextRef="D-2002" unitRef="U-Monetary" decimals="INF">1994000</ci:ForeignIncomeTaxExpenseCurrent> <ci:DomesticIncomeTaxExpenseCurrent contextRef="D-2003" unitRef="U-Monetary" decimals="INF">7972000</ci:DomesticIncomeTaxExpenseCurrent> <ci:DomesticIncomeTaxExpenseCurrent contextRef="D-2002" unitRef="U-Monetary" decimals="INF">1426000</ci:DomesticIncomeTaxExpenseCurrent> <ci:TotalIncomeTaxExpenseCurrent contextRef="D-2003" unitRef="U-Monetary" decimals="INF">13380000</ci:TotalIncomeTaxExpenseCurrent> <ci:TotalIncomeTaxExpenseCurrent contextRef="D-2002" unitRef="U-Monetary" decimals="INF">3420000</ci:TotalIncomeTaxExpenseCurrent> <ci:ForeignIncomeTaxExpenseDeferred contextRef="D-2003" unitRef="U-Monetary" decimals="INF">6046000</ci:ForeignIncomeTaxExpenseDeferred> <ci:ForeignIncomeTaxExpenseDeferred contextRef="D-2002" unitRef="U-Monetary" decimals="INF">838000</ci:ForeignIncomeTaxExpenseDeferred> <ci:DomesticIncomeTaxExpenseDeferred contextRef="D-2003" unitRef="U-Monetary" decimals="INF">-90000</ci:DomesticIncomeTaxExpenseDeferred> <ci:DomesticIncomeTaxExpenseDeferred contextRef="D-2002" unitRef="U-Monetary" decimals="INF">0</ci:DomesticIncomeTaxExpenseDeferred> <ci:TotalIncomeTaxExpenseDeferred contextRef="D-2003" unitRef="U-Monetary" decimals="INF">5956000</ci:TotalIncomeTaxExpenseDeferred> <ci:TotalIncomeTaxExpenseDeferred contextRef="D-2002" unitRef="U-Monetary" decimals="INF">838000</ci:TotalIncomeTaxExpenseDeferred> <ci:TotalIncomeTaxExpense contextRef="D-2003" unitRef="U-Monetary" decimals="INF">19336000</ci:TotalIncomeTaxExpense> <ci:TotalIncomeTaxExpense contextRef="D-2002" unitRef="U-Monetary" decimals="INF">4258000</ci:TotalIncomeTaxExpense> </xbrl>

8.7.4. Discussion The original screenshot above summarized income tax first by current and deferred portions, and then provided a total income tax expense summarizing the subtotal for current expense and the subtotal for deferred expense. Alternatively, this summarization might have been used:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 42 of 97

This method of breaking income tax expense down begins with the foreign and domestic portions, then breaks each of those components into their current and deferred portions.

Yet another alternative would have been to show both calculations within a taxonomy, or to show no subtotals in the taxonomy, only the grand total.

Which subtotals are presented will need to be determined on a case by case basis. Common practice and disclosure requirements will likely guide taxonomy creators as to which calculations might be included. Too few disclosures can be as problematic as too many unused calculations.

8.8. Movement analyses A common pattern found in financial information is a reconciliation that contains a beginning balance, changes to that balance, and the resulting ending balance. This pattern basically reconciles the ending balance to the beginning balance and changes. This is commonly referred to as a “movement analysis”. In addition, sometimes there are adjustments to the beginning balance, so the reconciliation includes an originally stated balance and adjustments to the originally stated balance to arrive at a restated beginning balance.

It is important to point out that the movement analysis reconciles the beginning balance, an instant periodType in XBRL, to an ending balance, an instant periodType in XBRL. However, both have different contexts because they are in different periods. The beginning balance is the same concept, but the ending balance of the previous period.

The changes between the beginning and ending balance are a duration periodType in XBRL. Therefore the flows are in a different context again from both the beginning balance and the ending balance. XBRL, at this point, cannot express calculations across multiple contexts. Therefore, it is not possible to express all the calculations that exist in a movement analysis using XBRL at this time.

Just because the calculation relations cannot be expressed, all fact values can still be presented and calculations can be performed by consuming applications and should work correctly. It is just that XBRL currently cannot express the calculation relationships.

Several new issues will be presented as a result of discussing this pattern, these points are made below.

8.8.1. Example of pattern The following is an example of this pattern in a financial statement:

The screenshot above shows a movement analysis for Property, Plant and Equipment as it may appear in a financial statement. Note that the property,

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 43 of 97

plant and equipment categories are listed down the left side and the reconciling items are listed across the top. The movement analysis reconciles the beginning balance of Property, Plant and Equipment as of January 1, 2003, to the ending balance as of December 31, 2003.

This reconciliation is clearly condensed showing three Property, Plant and Equipment categories and three reconciliation items. Any number of categories or reconciling items can be shown in a movement analysis.

Below is the same movement analysis but with the reconciling items shown down the side and the Property, Plant and Equipment categories shown across the top.

There is no better way of understanding why the separation of presentation from the actual facts presented than by comparing these two methods of presenting the same information. Both presentations are common. Neither presentation is better than the other. Whether reconciling items go down the side or across the top is simply a matter of preference.

The XBRL taxonomy that expresses this pattern should show only one set of concepts. The instance document that expresses the fact values for these concepts has no presentation information contained in it; it is simply a listing of the facts. Users of the financial information can use any presentation format they desire to display this information. However, the presentation format does not affect the way of exchanging the information.

However, each movement analysis should be expressed the same way for all movement analyses contained within a taxonomy. Expressing some analyses one way and others expressed using another method is not considered acceptable and will make if difficult for software developers.

8.8.2. Taxonomy pattern The following is an example of this pattern in a taxonomy.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 44 of 97

Points to note:

1. Note that the element “Land and Buildings” appears twice; once with the preferred label “Land and Buildings, Beginning Balance” and again with the preferred label “Land and Buildings, Ending Balance”. This is also the case for the other components of Property, Plant and Equipment.

2. The beginning and ending balance line items appear in the presentation view as they are part of the movement analysis reconciliation; however, they do not appear in the calculation view.

The following is a screen shot of the calculation view of this taxonomy pattern:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 45 of 97

This is the taxonomy:

Example: Schema for movement analysis pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/MovementsAnalysis" targetNamespace="http://www.UBmatrix.com/Patterns/MovementsAnalysis" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:roleType roleURI="http://www.UBmatrix.com/Patterns/MovementsAnalysis/role/Totals" id="Totals"> <link:definition>Totals</link:definition> <link:usedOn>link:calculationLink</link:usedOn> </link:roleType> <link:linkbaseRef xlink:type="simple" xlink:href="MovementsAnalysis-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="MovementsAnalysis-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="MovementsAnalysis-calculation.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" />

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 46 of 97

<element id="ci_AdditionsFurnitureFixtures" name="AdditionsFurnitureFixtures" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> <element id="ci_AdditionsLandBuildings" name="AdditionsLandBuildings" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> <element id="ci_AdditionsOther" name="AdditionsOther" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> <element id="ci_AdditionsTotalPropertyPlantEquipment" name="AdditionsTotalPropertyPlantEquipment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> <element id="ci_DisposalsFurnitureFixtures" name="DisposalsFurnitureFixtures" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_DisposalsLandBuildings" name="DisposalsLandBuildings" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_DisposalsOther" name="DisposalsOther" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_DisposalsTotalPropertyPlantEquipment" name="DisposalsTotalPropertyPlantEquipment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_FurnitureFixtures" name="FurnitureFixtures" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_FurnitureFixturesChangesPresentation" name="FurnitureFixturesChangesPresentation" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" /> <element id="ci_FurnitureFixturesPresentation" name="FurnitureFixturesPresentation" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" /> <element id="ci_LandBuildings" name="LandBuildings" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_LandBuildingsChangesPresentation" name="LandBuildingsChangesPresentation" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" /> <element id="ci_LandBuildingsPresentation" name="LandBuildingsPresentation" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_MovementInPropertyPlantEquipment" name="MovementInPropertyPlantEquipment" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_Other" name="Other" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_OtherChangesPresentation" name="OtherChangesPresentation" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" /> <element id="ci_OtherPresentation" name="OtherPresentation" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_TotalChangeFurnitureFixtures" name="TotalChangeFurnitureFixtures" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> <element id="ci_TotalChangeOther" name="TotalChangeOther" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> <element id="ci_TotalChangesLandBuildings" name="TotalChangesLandBuildings" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> <element id="ci_TotalChangeTotalPropertyPlantEquipment" name="TotalChangeTotalPropertyPlantEquipment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> <element id="ci_TotalPropertyPlantEquipment" name="TotalPropertyPlantEquipment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_TotalPropertyPlantEquipmentChangesPresentation" name="TotalPropertyPlantEquipmentChangesPresentation" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" /> <element id="ci_TotalPropertyPlantEquipmentPresentation" name="TotalPropertyPlantEquipmentPresentation" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" /> <element id="ci_TranslationDifferenceFurnitureFixtures" name="TranslationDifferenceFurnitureFixtures" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> <element id="ci_TranslationDifferenceLandBuildings" name="TranslationDifferenceLandBuildings" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" />

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 47 of 97

<element id="ci_TranslationDifferenceOther" name="TranslationDifferenceOther" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> <element id="ci_TranslationDifferenceTotalPropertyPlantEquipment" name="TranslationDifferenceTotalPropertyPlantEquipment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" /> </schema>

The following is a fragment of the label linkbase showing three labels being created for presentation of “Land and Building”; the standard label, a label for the beginning balance of the movement analysis, and a label for the ending balance of the movement analysis:

Example: Labels linkbase for a movement analysis pattern <loc xlink:type="locator" xlink:href="MovementsAnalysis.xsd#ci_FurnitureFixtures" xlink:label="ci_FurnitureFixtures" /> <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ci_FurnitureFixtures" xlink:to="ci_FurnitureFixtures_lbl" /> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ci_FurnitureFixtures_lbl" xml:lang="en">Furniture and Fixtures</label> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="ci_FurnitureFixtures_lbl" xml:lang="en">Furniture and Fixtures, Beginning Balance</label> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="ci_FurnitureFixtures_lbl" xml:lang="en">Furniture and Fixtures, Ending Balance</label>

The following is a fragment of the presentation linkbase showing the preferredLabel attribute being used to show which label should be used for the end of the period value:

Example: Presentation linkbase for a movement analysis pattern <loc xlink:type="locator" xlink:href="MovementsAnalysis.xsd#ci_LandBuildings" xlink:label="ci_LandBuildings" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ci_LandBuildingsPresentation" xlink:to="ci_LandBuildings" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role#periodStartLabel" /> Points to note:

1. While the calculation view does not show the relation between the beginning balance, changes, and ending balance (as it cannot be expressed in XBRL at this time), the presentation view shows this relationship to some degree. This is why the beginning balance and ending balance concepts are shown.

2. The beginning balance and ending balance are not different concepts; rather they are one concept with three different labels - one label as it might appear on a balance sheet, one label for the beginning balance, and a third label for the ending balance. This is achieved by using the preferredLabel attribute on the presentation arcs to indicate to use the beginning balance or ending balance label, rather than the standard label. Examine the presentation linkbase for this pattern for more information.

3. The concepts with “(Presentation)” appended at the end are only in the taxonomy to make the taxonomy more readable. If they did not exist, the movement analysis would be nothing more than one flat list of concepts that would be harder to read. Remember that abstract elements never appear in an instance document.

4. The “Total” is just another category within the movement analysis.

5. The movement analysis has calculations running in two dimensions. For example, “Land and Building” has “Additions”, “Disposals”, and “Translation Difference” which adds up to “Total Changes, Land and Buildings”. Also, “Additions, Total Property, Plant and Equipment” has the components “Additions, Land and Buildings”, “Additions, Furniture and

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 48 of 97

Fixtures” and “Additions, Other”. Both calculations are shown in the taxonomy calculation view.

8.8.3. Instance document for pattern The following is a sample instance document that contains sample facts for the movement analysis taxonomy concepts:

Example: Instance document for movement analysis pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ci="http://www.UBmatrix.com/Patterns/MovementsAnalysis" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/MovementsAnalysis MovementsAnalysis.xsd"> <link:schemaRef xlink:type="simple" xlink:href="MovementsAnalysis.xsd" /> <context id="I-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2002-12-31</instant> </period> </context> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <context id="D-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2003-01-01</startDate> <endDate>2003-12-31</endDate> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:LandBuildings contextRef="I-2002" unitRef="U-Monetary" decimals="INF">244508000</ci:LandBuildings> <ci:AdditionsLandBuildings contextRef="D-2003" unitRef="U-Monetary" decimals="INF">109659000</ci:AdditionsLandBuildings> <ci:DisposalsLandBuildings contextRef="D-2003" unitRef="U-Monetary" decimals="INF">193000</ci:DisposalsLandBuildings> <ci:TranslationDifferenceLandBuildings contextRef="D-2003" unitRef="U-Monetary" decimals="INF">12401000</ci:TranslationDifferenceLandBuildings> <ci:LandBuildings contextRef="I-2003" unitRef="U-Monetary" decimals="INF">366375000</ci:LandBuildings> <ci:FurnitureFixtures contextRef="I-2002" unitRef="U-Monetary" decimals="INF">34457000</ci:FurnitureFixtures> <ci:AdditionsFurnitureFixtures contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:AdditionsFurnitureFixtures> <ci:DisposalsFurnitureFixtures contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:DisposalsFurnitureFixtures> <ci:TranslationDifferenceFurnitureFixtures contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:TranslationDifferenceFurnitureFixtures> <ci:FurnitureFixtures contextRef="I-2003" unitRef="U-Monetary" decimals="INF">34457000</ci:FurnitureFixtures> <ci:Other contextRef="I-2002" unitRef="U-Monetary" decimals="INF">6702000</ci:Other>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 49 of 97

<ci:AdditionsOther contextRef="D-2003" unitRef="U-Monetary" decimals="INF">7100000</ci:AdditionsOther> <ci:DisposalsOther contextRef="D-2003" unitRef="U-Monetary" decimals="INF">262000</ci:DisposalsOther> <ci:TranslationDifferenceOther contextRef="D-2003" unitRef="U-Monetary" decimals="INF">-7487000</ci:TranslationDifferenceOther> <ci:Other contextRef="I-2003" unitRef="U-Monetary" decimals="INF">6053000</ci:Other> <ci:TotalPropertyPlantEquipment contextRef="I-2002" unitRef="U-Monetary" decimals="INF">285667000</ci:TotalPropertyPlantEquipment> <ci:AdditionsTotalPropertyPlantEquipment contextRef="D-2003" unitRef="U-Monetary" decimals="INF">116759000</ci:AdditionsTotalPropertyPlantEquipment> <ci:DisposalsTotalPropertyPlantEquipment contextRef="D-2003" unitRef="U-Monetary" decimals="INF">455000</ci:DisposalsTotalPropertyPlantEquipment> <ci:TranslationDifferenceTotalPropertyPlantEquipment contextRef="D-2003" unitRef="U-Monetary" decimals="INF">4914000</ci:TranslationDifferenceTotalPropertyPlantEquipment> <ci:TotalPropertyPlantEquipment contextRef="I-2003" unitRef="U-Monetary" decimals="INF">406885000</ci:TotalPropertyPlantEquipment> <ci:TotalChangeFurnitureFixtures contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:TotalChangeFurnitureFixtures> <ci:TotalChangeOther contextRef="D-2003" unitRef="U-Monetary" decimals="INF">-649000</ci:TotalChangeOther> <ci:TotalChangesLandBuildings contextRef="D-2003" unitRef="U-Monetary" decimals="INF">121867000</ci:TotalChangesLandBuildings> <ci:TotalChangeTotalPropertyPlantEquipment contextRef="D-2003" unitRef="U-Monetary" decimals="INF">121218000</ci:TotalChangeTotalPropertyPlantEquipment> </xbrl>

Points to note:

1. The same concept name is used for the beginning and ending balance, but the context is different for each fact value.

2. Although XBRL cannot express the calculation relationships between the beginning balance, additions, disposals, translation difference, and ending balance, it does not mean that the fact values cannot be expressed, nor does it mean that the relation does not exist. The reconciliation still adds up; it is just that the calculation relations cannot be expressed using XBRL.

3. The fact value for “TranslationDifferenceOther” is entered as a negative number. The fact value for “DisposalsOther” is entered into the instance document as a positive number. Both of these fact values are shown as negative numbers in the screenshot of the printed format of the pattern. You can see why by examining the balance attribute value and the associated weights.

8.8.4. Discussion The movement analysis pattern looks fairly simple. In fact, it is fairly simple and straight forward. However, it does introduce a few twists that no other pattern has to this point.

One major issue is that the movement analysis pattern uses fact values that will be expressed in different contexts - the beginning balance, the changes, and the ending balance are each in different contexts. The fundamental issue with this is to be aware that XBRL cannot, at this time, express these calculation relationships across contexts.

A second point to note is that a movement analysis has calculations in two dimensions: from top to bottom, and from side to side. Both of these dimensions need to be expressed in taxonomies.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 50 of 97

Another twist to the movement analysis is if adjustments to the beginning balance require a restatement. This occurs in, for example, a statement of equity occasionally. For example:

This pattern can be broken down into two movement analyses. The first analysis is from the “Originally Stated” balance to the “Restated” balance. The second is from the “Restated” balance to the “Ending” balance. The “Adjustments” section is similar to the “Changes” section. The “Originally Stated” balance fact value and the “Restated” balance fact value have the same period, but do have different scenario context values; the “Restated” balance fact value has an element within the scenario context to indicate that it is a restated value.

8.9. Multiple calculations Often in financial reporting it is the case that one concept has multiple breakdowns or calculation trees. For example, “Trade and Other Receivables, Total, Net” can be arrived at by adding:

• The current and non current portions: “Trade and Other Receivables, Net, Current” and “Trade and Other Receivables, Net, Non Current”.

• The components: “Trade Receivables, Net”, “Finance Lease Receivables, Net”, “Other Receivables, Net”.

• The gross and net portions: “Trade and Other Receivables, Gross, Current”, and “Allowances for Bad and Doubtful Accounts, Current”.

In addition, each of these calculation trees has sub trees. For example, “Trade and Other Receivables, Gross” and “Trade and Other Receivables, Net” both have component trees and current and non current trees.

When building these calculations using XBRL, a taxonomy creator must be sure to avoid double counting of elements; if not, a calculation will be expressed incorrectly. Also, when building multiple calculations it can become quite complicated trying to express these relationships so that they are understandable to taxonomy users.

8.9.1. Example of pattern The following is an example of this pattern in a financial statement:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 51 of 97

In the pattern above, that the concept “Trade and other receivables, net, total” is arrived at in three different ways: by component, by net and gross portion, and by current and non current portion.

8.9.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

This screenshot shows the calculation view of the same taxonomy:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 52 of 97

The taxonomy looks very similar to the “Basic Calculation” or the “Net/Gross” calculation patterns, except that three calculation trees are shown, rather than one. The main point to derive from this pattern is how to express multiple calculation trees for one value. In this example, “Trade and Other Receivables, Net, Total”, is shown by component, by the net and gross portions, and by current and non current portions.

This is the actual taxonomy:

Example: Schema for multiple calculations pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/MultipleCalculations" targetNamespace="http://www.UBmatrix.com/Patterns/MultipleCalculations" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:roleType roleURI="http://www.UBmatrix.com/Patterns/MultipleCalculations/role/ByComponent" id="ByComponent"> <link:definition>By component</link:definition> <link:usedOn>link:calculationLink</link:usedOn> <link:usedOn>link:presentationLink</link:usedOn> </link:roleType> <link:roleType roleURI="http://www.UBmatrix.com/Patterns/MultipleCalculations/role/ByNetGrossPortion" id="ByNetGrossPortion"> <link:definition>By Net/Gross Portion</link:definition> <link:usedOn>link:calculationLink</link:usedOn> <link:usedOn>link:presentationLink</link:usedOn> </link:roleType> <link:roleType roleURI="http://www.UBmatrix.com/Patterns/MultipleCalculations/role/ByCurrentNonCurrentPortion" id="ByCurrentNonCurrentPortion"> <link:definition>By Current/Non Current Portion</link:definition> <link:usedOn>link:calculationLink</link:usedOn> <link:usedOn>link:presentationLink</link:usedOn> </link:roleType> <link:linkbaseRef xlink:type="simple" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="MultipleCalculations-label.xml"/> <link:linkbaseRef xlink:type="simple" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="MultipleCalculations-presentation.xml"/> <link:linkbaseRef xlink:type="simple" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="MultipleCalculations-calculation.xml"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_TradeOtherReceivables" name="TradeOtherReceivables" abstract="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" /> <element id="ci_TradeOtherReceivablesNetTotalbyComponent" name="TradeOtherReceivablesNetTotalbyComponent" abstract="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" /> <element id="ci_TradeOtherReceivablesNetTotalByCurrentNonCurrentPortions" name="TradeOtherReceivablesNetTotalByCurrentNonCurrentPortions" abstract="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" />

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 53 of 97

<element id="ci_TradeReceivablesNetTotal" name="TradeReceivablesNetTotal" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_FinanceLeaseReceivableNetTotal" name="FinanceLeaseReceivableNetTotal" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_OtherReceivablesNetTotal" name="OtherReceivablesNetTotal" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_TradeOtherReceivablesGrossTotal" name="TradeOtherReceivablesGrossTotal" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_AllowanceDoubtfulAccountsTotal" name="AllowanceDoubtfulAccountsTotal" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" /> <element id="ci_TradeOtherReceivablesNetCurrent" name="TradeOtherReceivablesNetCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_TradeOtherReceivablesNetNonCurrent" name="TradeOtherReceivablesNetNonCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_TradeOtherReceivablesNetTotal" name="TradeOtherReceivablesNetTotal" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" /> <element id="ci_TradeOtherReceivablesNetTotalbyNetGrossPortions" name="TradeOtherReceivablesNetTotalbyNetGrossPortions" abstract="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> </schema>

The following is the calculation linkbase for this taxonomy:

Example: Calculation linkbase for multiple calculations pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase xbrl-linkbase-2003-12-31.xsd"> <!-- Seperate extended link - By Component --> <roleRef xlink:type="simple" xlink:href="MultipleCalculations.xsd#ByComponent" roleURI="http://www.UBmatrix.com/Patterns/MultipleCalculations/role/ByComponent" /> <calculationLink xlink:type="extended" xlink:role="http://www.UBmatrix.com/Patterns/MultipleCalculations/role/ByComponent" xlink:title="By Component"> <loc xlink:type="locator" xlink:href="MultipleCalculations.xsd#ci_TradeOtherReceivablesNetTotal" xlink:label="ci_TradeOtherReceivablesNetTotal" /> <loc xlink:type="locator" xlink:href="MultipleCalculations.xsd#ci_TradeReceivablesNetTotal" xlink:label="ci_TradeReceivablesNetTotal" /> <loc xlink:type="locator" xlink:href="MultipleCalculations.xsd#ci_FinanceLeaseReceivableNetTotal" xlink:label="ci_FinanceLeaseReceivableNetTotal" /> <loc xlink:type="locator" xlink:href="MultipleCalculations.xsd#ci_OtherReceivablesNetTotal" xlink:label="ci_OtherReceivablesNetTotal" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TradeOtherReceivablesNetTotal" xlink:to="ci_TradeReceivablesNetTotal" order="1" weight="1" use="optional" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TradeOtherReceivablesNetTotal" xlink:to="ci_FinanceLeaseReceivableNetTotal" order="2" weight="1" use="optional" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TradeOtherReceivablesNetTotal" xlink:to="ci_OtherReceivablesNetTotal" order="3" weight="1" use="optional" /> </calculationLink> <!-- Seperate extended link - By Net/Gross --> <roleRef xlink:type="simple" xlink:href="MultipleCalculations.xsd#ByNetGrossPortion" roleURI="http://www.UBmatrix.com/Patterns/MultipleCalculations/role/ByNetGrossPortion" />

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 54 of 97

<calculationLink xlink:type="extended" xlink:role="http://www.UBmatrix.com/Patterns/MultipleCalculations/role/ByNetGrossPortion" xlink:title="By Net/Gross Portion"> <loc xlink:type="locator" xlink:href="MultipleCalculations.xsd#ci_TradeOtherReceivablesNetTotal" xlink:label="ci_TradeOtherReceivablesNetTotal" /> <loc xlink:type="locator" xlink:href="MultipleCalculations.xsd#ci_TradeOtherReceivablesGrossTotal" xlink:label="ci_TradeOtherReceivablesGrossTotal" /> <loc xlink:type="locator" xlink:href="MultipleCalculations.xsd#ci_AllowanceDoubtfulAccountsTotal" xlink:label="ci_AllowanceDoubtfulAccountsTotal" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TradeOtherReceivablesNetTotal" xlink:to="ci_TradeOtherReceivablesGrossTotal" order="1" weight="1" use="optional" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TradeOtherReceivablesNetTotal" xlink:to="ci_AllowanceDoubtfulAccountsTotal" order="2" weight="-1" use="optional" /> </calculationLink> <!-- Seperate extended link - By Current/Non Current --> <roleRef xlink:type="simple" xlink:href="MultipleCalculations.xsd#ByCurrentNonCurrentPortion" roleURI="http://www.UBmatrix.com/Patterns/MultipleCalculations/role/ByCurrentNonCurrentPortion" /> <calculationLink xlink:type="extended" xlink:role="http://www.UBmatrix.com/Patterns/MultipleCalculations/role/ByCurrentNonCurrentPortion" xlink:title="By Current/Non Current Portion"> <loc xlink:type="locator" xlink:href="MultipleCalculations.xsd#ci_TradeOtherReceivablesNetTotal" xlink:label="ci_TradeOtherReceivablesNetTotal" /> <loc xlink:type="locator" xlink:href="MultipleCalculations.xsd#ci_TradeOtherReceivablesNetCurrent" xlink:label="ci_TradeOtherReceivablesNetCurrent" /> <loc xlink:type="locator" xlink:href="MultipleCalculations.xsd#ci_TradeOtherReceivablesNetNonCurrent" xlink:label="ci_TradeOtherReceivablesNetNonCurrent" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TradeOtherReceivablesNetTotal" xlink:to="ci_TradeOtherReceivablesNetCurrent" order="1" weight="1" use="optional" /> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ci_TradeOtherReceivablesNetTotal" xlink:to="ci_TradeOtherReceivablesNetNonCurrent" order="2" weight="1" use="optional" /> </calculationLink> </linkbase>

Points to note:

1. There are three different extended links in the calculation linkbase, each with a different extended link role – “By Component”, “By Net/Gross Portion” and “By Current/Non Current Portion”. This is how the calculations are differentiated, making sure there is no double counting in the calculations.

2. While the calculations WERE in different extended links which is required to segregate the three separate calculations into three separate “networks” as discussed above, it is not necessary to segregate the presentation links for the three calculations into three networks as there are no conflicts. However, it can be a good idea to have both the presentation and calculation views to look as similar as possible by creating the same extended links in both and segregating the presentation view similar to how the calculations view is segregated. In the example here, this is not done.

3. It is not appropriate to use three separate concepts/elements which all are intended to express the value of “Trade and Other Receivables, Net, Total” and use “essence-alias” definition links between the three elements. This was how this was achieved previously, but the “essence-alias” approach has disadvantages. Using separate calculation linkbases entries is currently considered to be the most appropriate approach.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 55 of 97

8.9.3. Instance document for pattern The following is a sample instance document which contains the facts for these taxonomy concepts:

Example: Instance document for multiple calculations pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ci="http://www.UBmatrix.com/Patterns/MultipleCalculations" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/MultipleCalculations MultipleCalculations.xsd"> <link:schemaRef xlink:type="simple" xlink:href="MultipleCalculations.xsd" /> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <context id="I-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2002-12-31</instant> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <!-- Total used by all three calculations, NOT duplicated for each calculation --> <ci:TradeOtherReceivablesNetTotal contextRef="I-2003" unitRef="U-Monetary" decimals="INF">12593000</ci:TradeOtherReceivablesNetTotal> <ci:TradeOtherReceivablesNetTotal contextRef="I-2002" unitRef="U-Monetary" decimals="INF">8790000</ci:TradeOtherReceivablesNetTotal> <!-- By component --> <ci:TradeReceivablesNetTotal contextRef="I-2003" unitRef="U-Monetary" decimals="INF">8790000</ci:TradeReceivablesNetTotal> <ci:TradeReceivablesNetTotal contextRef="I-2002" unitRef="U-Monetary" decimals="INF">6431000</ci:TradeReceivablesNetTotal> <ci:FinanceLeaseReceivableNetTotal contextRef="I-2003" unitRef="U-Monetary" decimals="INF">2498000</ci:FinanceLeaseReceivableNetTotal> <ci:FinanceLeaseReceivableNetTotal contextRef="I-2002" unitRef="U-Monetary" decimals="INF">1263000</ci:FinanceLeaseReceivableNetTotal> <ci:OtherReceivablesNetTotal contextRef="I-2003" unitRef="U-Monetary" decimals="INF">1305000</ci:OtherReceivablesNetTotal> <ci:OtherReceivablesNetTotal contextRef="I-2002" unitRef="U-Monetary" decimals="INF">1096000</ci:OtherReceivablesNetTotal> <!-- By net/gross --> <ci:TradeOtherReceivablesGrossTotal contextRef="I-2003" unitRef="U-Monetary" decimals="INF">18280000</ci:TradeOtherReceivablesGrossTotal> <ci:TradeOtherReceivablesGrossTotal contextRef="I-2002" unitRef="U-Monetary" decimals="INF">13472000</ci:TradeOtherReceivablesGrossTotal> <ci:AllowanceDoubtfulAccountsTotal contextRef="I-2003" unitRef="U-Monetary" decimals="INF">5687000</ci:AllowanceDoubtfulAccountsTotal> <ci:AllowanceDoubtfulAccountsTotal contextRef="I-2002" unitRef="U-Monetary" decimals="INF">4682000</ci:AllowanceDoubtfulAccountsTotal> <!-- By current/non current --> <ci:TradeOtherReceivablesNetCurrent contextRef="I-2003" unitRef="U-Monetary" decimals="INF">6340000</ci:TradeOtherReceivablesNetCurrent>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 56 of 97

<ci:TradeOtherReceivablesNetCurrent contextRef="I-2002" unitRef="U-Monetary" decimals="INF">5701000</ci:TradeOtherReceivablesNetCurrent> <ci:TradeOtherReceivablesNetNonCurrent contextRef="I-2003" unitRef="U-Monetary" decimals="INF">6253000</ci:TradeOtherReceivablesNetNonCurrent> <ci:TradeOtherReceivablesNetNonCurrent contextRef="I-2002" unitRef="U-Monetary" decimals="INF">3089000</ci:TradeOtherReceivablesNetNonCurrent> </xbrl>

Point to note:

1. Although the total “Trade and Other Receivables, Net, Total” appears three times in the printed financial information, it appears only once in the instance document.

8.9.4. Discussion The only new piece of information expressed by this pattern is how to properly express multiple calculation trees that total to the same concept without double counting.

In the past, XBRL handled this by creating separate concepts for each calculation tree. Indicating that the elements expressed the value of the same concept was shown by having an “essence-alias” (or same-as) definition link between the concepts. This is NOT the appropriate mechanism to express this type of relation. The fundamental disadvantage is that there are three elements in a taxonomy to express the same concept. This makes comparisons more difficult.

8.10. Finite number of values for concepts Sometimes for a financial disclosure there a known number of disclosure items are provided. For example, for long-term debt subsequent disbursements of long-term debt for each of the next five years, plus all years thereafter is disclosed. This pattern is different from having an unknown number of disclosures. A tuple allows an unlimited number of fact values to be reported for the concepts that are members of that tuple.

There are two objectives that are trying to be achieved within the taxonomy. The first objective is to indicate to instance document creators what disclosures are required. The second objective is that comparability of the concepts disclosed should be maximized. A tuple is not the appropriate building block to use to express this pattern.

8.10.1. Example of pattern The following is an example of this pattern in a financial statement:

The pattern above presents future minimum lease payments under non cancelable operating leases. The disclosure requires exactly three values; the

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 57 of 97

sum of values not later than one year, values later than one year and less than five years, and the sum of values later than five years.

A tuple would not be appropriate in this case as the number of values is finite; known to be exactly three. If a tuple were used to express this pattern, the disclosures required would not be clear in the taxonomy. In addition, because of the nature of tuples, comparability of each of the line items would be more difficult if the concepts were expressed as a tuple. Some users may enter, for example, “Not later than one year” and another may enter “NOT LATER THAN 1 YEAR”. These two values are not equal because XML (and therefore XBRL) is case sensitive.

Two years information is being presented, 2003 and 2002.

8.10.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

The following is a screen shot of the calculation view of this taxonomy pattern:

This is the actual taxonomy:

Example: Schema for finite number of values pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/FiniteNumberOfValues" targetNamespace="http://www.UBmatrix.com/Patterns/FiniteNumberOfValues" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="FiniteNumberOfValues-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" /> <link:linkbaseRef xlink:type="simple" xlink:href="FiniteNumberOfValues-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" /> <link:linkbaseRef xlink:type="simple" xlink:href="FiniteNumberOfValues-calculation.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" /> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_LaterthanFiveYears" name="LaterthanFiveYears" type="xbrli:monetaryItemType"

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 58 of 97

substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" /> <element id="ci_LaterthanOneYearLessthanFiveYears" name="LaterthanOneYearLessthanFiveYears" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" /> <element id="ci_NonCancelableFutureMinimumLeasePaymentsOperatingLeases" name="NonCancelableFutureMinimumLeasePaymentsOperatingLeases" abstract="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" /> <element id="ci_NotLaterthanOneYear" name="NotLaterthanOneYear" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" /> <element id="ci_TotalCommitmentsUnderNonCancelableLeases" name="TotalCommitmentsUnderNonCancelableLeases" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" /> </schema>

8.10.3. Instance document for pattern The following is a sample instance document that contains sample facts for the taxonomy concepts:

Example: Instance document for finite number of values calculations pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ci="http://www.UBmatrix.com/Patterns/FiniteNumberOfValues" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/FiniteNumberOfValues FiniteNumberOfValues.xsd"> <link:schemaRef xlink:type="simple" xlink:href="FiniteNumberOfValues.xsd" /> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <context id="I-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2002-12-31</instant> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:NotLaterthanOneYear contextRef="I-2003" unitRef="U-Monetary" decimals="INF">309000</ci:NotLaterthanOneYear> <ci:NotLaterthanOneYear contextRef="I-2002" unitRef="U-Monetary" decimals="INF">297000</ci:NotLaterthanOneYear> <ci:LaterthanOneYearLessthanFiveYears contextRef="I-2003" unitRef="U-Monetary" decimals="INF">1420000</ci:LaterthanOneYearLessthanFiveYears> <ci:LaterthanOneYearLessthanFiveYears contextRef="I-2002" unitRef="U-Monetary" decimals="INF">1439000</ci:LaterthanOneYearLessthanFiveYears> <ci:LaterthanFiveYears contextRef="I-2003" unitRef="U-Monetary" decimals="INF">692000</ci:LaterthanFiveYears> <ci:LaterthanFiveYears contextRef="I-2002" unitRef="U-Monetary" decimals="INF">930000</ci:LaterthanFiveYears> <ci:TotalCommitmentsUnderNonCancelableLeases contextRef="I-2003" unitRef="U-Monetary" decimals="INF">2421000</ci:TotalCommitmentsUnderNonCancelableLeases> <ci:TotalCommitmentsUnderNonCancelableLeases contextRef="I-2002" unitRef="U-Monetary" decimals="INF">2666000</ci:TotalCommitmentsUnderNonCancelableLeases>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 59 of 97

</xbrl>

8.10.4. Discussion The new concept introduced by this pattern is that if there are a known number of fact values that are reported in what looks like a list, then it is not appropriate to use a tuple; rather separate item concepts for the members of the list should be created. If there are, however, an unknown number of members to that list, then a tuple must be used to express the list.

When tuples are used comparability is reduced as the values that instance document creators may add to the member items of the tuple are not restricted in any way.

8.11. Complex concept (tuple) As mentioned in the previous section, XBRL basically has two types of data; items and tuples. Items were discussed in the previous section; now we will explain tuples.

Recall that items as simple concepts are simply a “name/value pair”.

A tuple can be thought of as a “complex” or “compound” concept; that is, one or more concepts that must be bound together in order to be properly understood.

For example, if an organization must disclose director information, and for each director that director’s salary, bonus, and director compensation is disclosed, the tuple “binds” a director’s name, salary, bonus, and director compensation together. This is much like rows in a database table. Using the example of a row in a database, each row has fields of data and the fields of data for that row go together, not with another row. Tuples achieve this purpose within XBRL. A tuple can associate two or more items.

The following is fundamental information about tuples:

1. Tuples associate two or more elements that MUST be together to be understood.

2. Tuples allow information to repeat. Even if you have one piece of information, to repeat that information you must use a tuple.

3. The tuple provides “context” to items. Items MAY be used in more than one tuple. The tuple element itself, which will appear in an instance document, provides context for that item.

4. If there are an unknown number of possible values, a tuple MUST be used to express the information.

5. Tuples can contain items or other tuples. Tuples can be nested to any level.

6. By themselves, tuples do not contain data and do not have a context. Items contained within tuples contain fact values (which in turn have a context).

8.11.1. Example of pattern The following is a table of directors’ compensation for an entity. There may one or more directors within an entity. For each director, the information desired to be captured is the name of the director, the related salary, bonuses, director fees and the fair value of options granted.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 60 of 97

Within an XBRL taxonomy there needs to be some method for associating a specific director with the required data for that director. This needs to be reported for each director. Otherwise, how would you know which salary went with which director? This is done using a tuple.

This example is simplified to focus on the key aspects of this pattern. Additional complexity will be added to this pattern later in order to build on this basic pattern.

8.11.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

This is the actual taxonomy:

Example: Schema for complex concept pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/ComplexConcept" targetNamespace="http://www.UBmatrix.com/Patterns/ComplexConcept" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="ComplexConcept-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"/> <link:linkbaseRef xlink:type="simple" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="ComplexConcept-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_DetailDirectorCompensation" name="DetailDirectorCompensation" xbrli:periodType="duration" abstract="true" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" /> <element id="ci_Director" name="Director" substitutionGroup="xbrli:tuple" nillable="true" > <complexType> <complexContent>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 61 of 97

<restriction base="anyType"> <sequence> <element ref="ci:Name" minOccurs="1" maxOccurs="1" /> <element ref="ci:Salary" minOccurs="0" maxOccurs="1" /> <element ref="ci:Bonus" minOccurs="0" maxOccurs="1" /> <element ref="ci:DirectorFees" minOccurs="0" maxOccurs="1" /> <element ref="ci:FairValueOptionsGranted" minOccurs="0" maxOccurs="1" /> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_Name" name="Name" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_Salary" name="Salary" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_Bonus" name="Bonus" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_DirectorFees" name="DirectorFees" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_FairValueOptionsGranted" name="FairValueOptionsGranted" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> </schema>

Points to note:

1. The concept “Name” has a nillable attribute value of “false” as this element should never be empty; it is a primary/unique key for the tuple.

2. Of the four child elements within the tuple, one is required and the other three are optional. “Name” is required as minOccurs is set to 1 and maxOccurs is set to 1. The other elements are optional as minOccurs for the element reference is set to 0.

3. The abstract element “DetailDirectorCompensation” is used only to organize the taxonomy. This element can never appear in an instance document.

8.11.3. Instance document for pattern The following is a sample instance document which expresses facts for the taxonomy concepts:

Example: Instance document for complex concept pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/ComplexConcept" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/ComplexConcept ComplexConcept.xsd"> <link:schemaRef xlink:type="simple" xlink:href="ComplexConcept.xsd" /> <context id="D-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2003-01-01</startDate> <endDate>2003-12-31</endDate> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:Director> <ci:Name contextRef="D-2003">Ho Ching</ci:Name>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 62 of 97

<ci:Salary contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Salary> <ci:Bonus contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Bonus> <ci:DirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">60000</ci:DirectorFees> <ci:FairValueOptionsGranted contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:FairValueOptionsGranted> </ci:Director> <ci:Director> <ci:Name contextRef="D-2003">Boon Swan Fo</ci:Name> <ci:Salary contextRef="D-2003" unitRef="U-Monetary" decimals="INF">879639</ci:Salary> <ci:Bonus contextRef="D-2003" unitRef="U-Monetary" decimals="INF">1213486</ci:Bonus> <ci:DirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:DirectorFees> <ci:FairValueOptionsGranted contextRef="D-2003" unitRef="U-Monetary" decimals="INF">569000</ci:FairValueOptionsGranted> </ci:Director> <ci:Director> <ci:Name contextRef="D-2003">Tan Guong Ching</ci:Name> <ci:Salary contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Salary> <ci:Bonus contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Bonus> <ci:DirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">24200</ci:DirectorFees> <ci:FairValueOptionsGranted contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:FairValueOptionsGranted> </ci:Director> <ci:Director> <ci:Name contextRef="D-2003">Ng Kee Choe</ci:Name> <ci:Salary contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Salary> <ci:Bonus contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Bonus> <ci:DirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">57000</ci:DirectorFees> <ci:FairValueOptionsGranted contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:FairValueOptionsGranted> </ci:Director> </xbrl>

8.11.4. Discussion If you look at the screenshot, you will note that the presentation of the information for director information is in the form of a table. Information that is expressed in tables sometimes, but not always, provides a clue that the data must be expressed as a tuple to be understood. You can think of this as a spreadsheet table or database table. The exception to this rule is when the data in the different “columns” is context related, such as period or entity. In such cases, the data is not a tuple. The data in a tuple share the same period and entity context information but relate to different “fields” within those context values.

For example, if you look at a balance sheet it might appear that you have a tuple, but this is not the case. In a balance sheet, you may have columns for different year’s data and each year is expressed in a separate column of a table. But this is not a tuple because the period or year presented is expressed in the instance document “context” element. Therefore, you do not need a tuple to indicate the periods with which the balance sheets are associated. This association is expressed in the context of each fact within the instance document.

8.12. Multiple values for one concept In contrast to the pattern above that shows how a finite number of concepts and fact values are expressed, this pattern shows where there may be an unlimited number of fact values. The only way to capture fact values that repeat and a context (entity, period, or segment) cannot be used to differentiate one fact value from another fact values is to use a tuple.

8.12.1. Example of pattern The following is an example of this pattern in a financial statement:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 63 of 97

This pattern shows disclosure of events that occurred after the balance sheet date; often called subsequent events. The number of events could range from zero to any number of events. As such, a tuple must be used to provide for more than one fact value in instance documents. Contexts cannot be used to differentiate the fact values.

In the case above, three events have occurred and each is described in a separate paragraph.

8.12.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

There are several points to note relating to this taxonomy pattern:

1. The concept “Events After Balance Sheet Date” is a string, rather than abstract. This allows for the disclosure of a block of text to describe the events after balance sheet date, if the instance document creator chooses to do this. By not providing this element, or making this element abstract, there would be no element available to disclose a block of text, and the instance document creator MUST provide the individual details.

2. The string concept “Events After Balance Sheet Date” refers to “events”, as more than one event may be disclosed. The tuple concept “Event After Balance Sheet Date” refers to one event at a time; therefore it is singular.

3. The concept “Description of Event Which Occurred After Balance Sheet Date” is a string in where instance document creators can basically enter anything. As such, comparability is reduced. The concept is required.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 64 of 97

4. The concept “Type of Event Which Occurred After Balance Sheet Date” is an attempt to overcome the lack of comparability. An explicit list, defined within a taxonomy, may be required as a value for an element to increase comparability. The concept is optional.

5. If an amount is available for the event, the concept “Amount of Event Which Occurred After Balance Sheet Date” is available to capture that value. The concept is optional.

6. Again, any number of events may be disclosed using this taxonomy structure.

This is the actual taxonomy:

Example: Schema for multiple number of values pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/MultipleNumberOfValues" targetNamespace="http://www.UBmatrix.com/Patterns/MultipleNumberOfValues" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="MultipleNumberOfValues-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="MultipleNumberOfValues-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_EventsAfterBalanceSheetDate" name="EventsAfterBalanceSheetDate" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_EventAfterBalanceSheetDate" name="EventAfterBalanceSheetDate" substitutionGroup="xbrli:tuple" nillable="true"> <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:DescriptionEventWhichOccurredAfterBalanceSheetDate" minOccurs="1" maxOccurs="1" /> <element ref="ci:TypeEventWhichOccurredAfterBalanceSheetDate" minOccurs="0" maxOccurs="1" /> <element ref="ci:AmountEventWhichOccurredAfterBalanceSheetDate" minOccurs="0" maxOccurs="1" /> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_DescriptionEventWhichOccurredAfterBalanceSheetDate" name="DescriptionEventWhichOccurredAfterBalanceSheetDate" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_TypeEventWhichOccurredAfterBalanceSheetDate" name="TypeEventWhichOccurredAfterBalanceSheetDate" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_AmountEventWhichOccurredAfterBalanceSheetDate" name="AmountEventWhichOccurredAfterBalanceSheetDate" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> </schema>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 65 of 97

8.12.3. Instance document for pattern The following is a sample instance document that contains sample facts for the taxonomy concepts:

Example: Instance document for multiple number of values pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/MultipleNumberOfValues" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/MultipleNumberOfValues MultipleNumberOfValues.xsd"> <link:schemaRef xlink:type="simple" xlink:href="MultipleNumberOfValues.xsd" /> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:EventAfterBalanceSheetDate> <ci:DescriptionEventWhichOccurredAfterBalanceSheetDate contextRef="I-2003"> On 14 January 2002, a building with a net book value of $1,695,000 was severly damaged by flooding. It is expected that insurance proceeds will fall short of the costs of rebuilding and loss of stocks by $750,000. </ci:DescriptionEventWhichOccurredAfterBalanceSheetDate> <ci:TypeEventWhichOccurredAfterBalanceSheetDate contextRef="I-2003">gcd:loss</ci:TypeEventWhichOccurredAfterBalanceSheetDate> <ci:AmountEventWhichOccurredAfterBalanceSheetDate contextRef="I-2003" unitRef="U-Monetary" decimals="-3">750000</ci:AmountEventWhichOccurredAfterBalanceSheetDate> </ci:EventAfterBalanceSheetDate> <ci:EventAfterBalanceSheetDate> <ci:DescriptionEventWhichOccurredAfterBalanceSheetDate contextRef="I-2003"> Subsequent to 31 December 2001, the court administration proceedings relating to ABC Limited (see note 19) were completed and an application was made to wind-up the company. No further distributions to the Group are anticipated. The Group has no obligation to meet outstanding liabilities of ABC Limited. </ci:DescriptionEventWhichOccurredAfterBalanceSheetDate> <ci:TypeEventWhichOccurredAfterBalanceSheetDate contextRef="I-2003">gcd:divestiture</ci:TypeEventWhichOccurredAfterBalanceSheetDate> </ci:EventAfterBalanceSheetDate> <ci:EventAfterBalanceSheetDate> <ci:DescriptionEventWhichOccurredAfterBalanceSheetDate contextRef="I-2003"> On 1 March 2002 the Group acquired a 100% interest in XYZ Limited which manufactures paints and is incorporated in Singapore. The consideration of LC 7,950 was settled in cash. The fair value of the net identifiable assets of the company at the date of acquisition was LC 5,145. This acquisition has not been recognised in the Group's 2001 financial statements. Goodwill arising on this acquisition of LC 2,805 will be amortised on a straight line basis over 10 years, reflecting the importance of this acquisition in expanding the Group's market coverage in the paints industry. The operating results and assets and liabilities of XYZ Limited will be consolidated with effect from 1 March 1999. </ci:DescriptionEventWhichOccurredAfterBalanceSheetDate> <ci:TypeEventWhichOccurredAfterBalanceSheetDate contextRef="I-2003">gcd:aquisition</ci:TypeEventWhichOccurredAfterBalanceSheetDate> <ci:AmountEventWhichOccurredAfterBalanceSheetDate contextRef="I-2003" unitRef="U-Monetary" xsi:nil="true"></ci:AmountEventWhichOccurredAfterBalanceSheetDate> </ci:EventAfterBalanceSheetDate> </xbrl>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 66 of 97

8.12.4. Discussion This pattern shows how more than one fact value for a concept can be expressed in a taxonomy and entered as fact values in an instance document. If the dimension that repeats is anything other than the entity, period, or scenario, a tuple must be used to differentiate the concepts.

8.13. Complex concept with totals This pattern is similar to the “Complex concept” pattern shown earlier (Section 10.3). However, two additional aspects are added. Firstly, within the complex concept a total is introduced. Secondly, totals for each column, other than for the name of the director, are included.

The total row in the information cannot simply be another instance of a tuple with the director name of “Total”. Simply putting the word “Total” in for the director’s name does not provide the information a computer application would need to identify that tuple as the total.

8.13.1. Example of pattern The following is an example of this pattern in a financial report:

The disclosure above presents information for four directors and a total for all directors. Note that the new column “Total Salary, Bonus, and Director Fees” is the sum of the three columns to its left. In addition, the “Total” row (the last row in the pattern above) has been added from the previous example related to Director’s information. This row provides a total for “Salary”, “Bonus”, “Director Fees”, “Total Salary, Bonus, and Director Fees”, and “Fair Value of Options Granted”.

8.13.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 67 of 97

The following is a screen shot of the calculation view of this taxonomy pattern:

This is the actual taxonomy:

Example: Schema for complex concept with totals calculation pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/ComplexConceptWithTotals" targetNamespace="http://www.UBmatrix.com/Patterns/ComplexConceptWithTotals" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:roleType roleURI="http://www.UBmatrix.com/Patterns/ComplexConceptWithTotals/role/Tuple" id="Tuple"> <link:definition>Calculations, Inside tuple</link:definition> <link:usedOn>link:calculationLink</link:usedOn> <link:usedOn>link:presentationLink</link:usedOn> </link:roleType> <link:roleType roleURI="http://www.UBmatrix.com/Patterns/ComplexConceptWithTotals/role/Total" id="Total"> <link:definition>Calculations, Sum of tuples</link:definition> <link:usedOn>link:calculationLink</link:usedOn> <link:usedOn>link:presentationLink</link:usedOn>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 68 of 97

</link:roleType> <link:linkbaseRef xlink:type="simple" xlink:href="ComplexConceptWithTotals-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="ComplexConceptWithTotals-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="ComplexConceptWithTotals-calculation.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_DetailDirectorCompensation" name="DetailDirectorCompensation" abstract="true" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" /> <element id="ci_Director" name="Director" substitutionGroup="xbrli:tuple" nillable="true" > <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:Name" minOccurs="1" maxOccurs="1" /> <element ref="ci:Salary" minOccurs="0" maxOccurs="1" /> <element ref="ci:Bonus" minOccurs="0" maxOccurs="1" /> <element ref="ci:DirectorFees" minOccurs="0" maxOccurs="1" /> <element ref="ci:TotalSalaryBonusDirectorFees" minOccurs="0" maxOccurs="1" /> <element ref="ci:FairValueOptionsGranted" minOccurs="0" maxOccurs="1" /> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_Name" name="Name" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_Salary" name="Salary" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_Bonus" name="Bonus" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_DirectorFees" name="DirectorFees" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_TotalSalaryBonusDirectorFees" name="TotalSalaryBonusDirectorFees" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_FairValueOptionsGranted" name="FairValueOptionsGranted" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <!-- These elements declare the total concepts --> <element id="ci_SummaryOfDirectorCompensation" name="SummaryOfDirectorCompensation" abstract="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_BonusTotalForAllDirectors" name="BonusTotalForAllDirectors" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_SalaryTotalForAllDirectors" name="SalaryTotalForAllDirectors" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_DirectorFeesTotalForAllDirectors" name="DirectorFeesTotalForAllDirectors" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_TotalSalaryBonusDirectorFeesTotalForAllDirectors" name="TotalSalaryBonusDirectorFeesTotalForAllDirectors" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_FairValueOptionsGrantedTotalForAllDirectors" name="FairValueOptionsGrantedTotalForAllDirectors" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> </schema>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 69 of 97

8.13.3. Instance document for pattern The following is a sample instance document that contains sample facts for the taxonomy concepts:

Example: Instance document for complex concept with totals calculations pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/ComplexConceptWithTotals" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/ComplexConceptWithTotals ComplexConceptWithTotals.xsd"> <link:schemaRef xlink:type="simple" xlink:href="ComplexConceptWithTotals.xsd" /> <context id="D-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2003-01-01</startDate> <endDate>2003-12-31</endDate> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:Director> <ci:Name contextRef="D-2003">Ho Ching</ci:Name> <ci:Salary contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Salary> <ci:Bonus contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Bonus> <ci:DirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">60000</ci:DirectorFees> <ci:TotalSalaryBonusDirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">60000</ci:TotalSalaryBonusDirectorFees> <ci:FairValueOptionsGranted contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:FairValueOptionsGranted> </ci:Director> <ci:Director> <ci:Name contextRef="D-2003">Boon Swan Fo</ci:Name> <ci:Salary contextRef="D-2003" unitRef="U-Monetary" decimals="INF">879639</ci:Salary> <ci:Bonus contextRef="D-2003" unitRef="U-Monetary" decimals="INF">1213486</ci:Bonus> <ci:DirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:DirectorFees> <ci:TotalSalaryBonusDirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">2093125</ci:TotalSalaryBonusDirectorFees> <ci:FairValueOptionsGranted contextRef="D-2003" unitRef="U-Monetary" decimals="INF">569000</ci:FairValueOptionsGranted> </ci:Director> <ci:Director> <ci:Name contextRef="D-2003">Tan Guong Ching</ci:Name> <ci:Salary contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Salary> <ci:Bonus contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Bonus> <ci:DirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">24200</ci:DirectorFees> <ci:TotalSalaryBonusDirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">24200</ci:TotalSalaryBonusDirectorFees> <ci:FairValueOptionsGranted contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:FairValueOptionsGranted> </ci:Director> <ci:Director> <ci:Name contextRef="D-2003">Ng Kee Choe</ci:Name> <ci:Salary contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Salary> <ci:Bonus contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:Bonus> <ci:DirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">57000</ci:DirectorFees> <ci:TotalSalaryBonusDirectorFees contextRef="D-2003" unitRef="U-Monetary" decimals="INF">57000</ci:TotalSalaryBonusDirectorFees> <ci:FairValueOptionsGranted contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:FairValueOptionsGranted> </ci:Director>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 70 of 97

<ci:SalaryTotalForAllDirectors contextRef="D-2003" unitRef="U-Monetary" decimals="INF">879639</ci:SalaryTotalForAllDirectors> <ci:BonusTotalForAllDirectors contextRef="D-2003" unitRef="U-Monetary" decimals="INF">1213486</ci:BonusTotalForAllDirectors> <ci:DirectorFeesTotalForAllDirectors contextRef="D-2003" unitRef="U-Monetary" decimals="INF">141200</ci:DirectorFeesTotalForAllDirectors> <ci:TotalSalaryBonusDirectorFeesTotalForAllDirectors contextRef="D-2003" unitRef="U-Monetary" decimals="INF">2234325</ci:TotalSalaryBonusDirectorFeesTotalForAllDirectors> <ci:FairValueOptionsGrantedTotalForAllDirectors contextRef="D-2003" unitRef="U-Monetary" decimals="INF">569000</ci:FairValueOptionsGrantedTotalForAllDirectors> </xbrl>

Points to note:

1. Within the individual director’s tuples data is contained; for example, for “Salary”. However, there is only one element “SalaryTotalForAllDirectors”. Each director has a salary, whereas there is only one total for all directors’ salaries.

8.13.4. Discussion This pattern demonstrates how monetary concepts within a tuple can be linked to elements outside the tuple that show the total for a concept within each of the tuples. For example, “Salary” is a monetary concept defined within the tuple “Director”. Each director has a salary. The salaries for all directors, made available within each tuple are totalled and must agree with the value in the element “SalaryTotalForAllDirectors” because a calculation link was defined to express that relationship.

8.14. Complex concept with multiple periods At times a financial reporting pattern presents information that repeats, requiring a tuple; but within the information that repeats is contextual information, such as an amount for two periods. This pattern shows how to properly create taxonomies and instance documents to represent and express this information.

8.14.1. Example of pattern The following is an example of this pattern in a financial statement:

The example below shows disclosure information for leasehold land and buildings. It shows a country (eg., Singapore), a location (eg., 501 Airport Road), a description, a tenure, land area, and the net book value for the current period and the prior period.

There are several points that are shown in this example. First, however, a comment about what this pattern is not trying to achieve. The pattern discloses information about leasehold and buildings owned by an entity. In this case, for

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 71 of 97

each property the following information is disclosed: Country, Location, Description, Tenure, Land Area, and the Net Book Value for the current and prior periods.

There are two essential things to note from the above. Firstly, the country is presented in bold in the same column as the location. This is only a visual presentation. The reality is that each line item has a country. Therefore, country needs to be inside the tuple for each row.

Secondly, in this case, the net book value amounts are shown for 2003 and 2002. It might be the case that only one, or maybe 5 periods are presented; you will never know. How is this handled in the taxonomy?

8.14.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

Since there are no calculations in this pattern, there is no need for a calculation linkbase.

This is the actual taxonomy:

Example: Schema for complex content multiple periods pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/ComplexConceptMultiplePeriods" targetNamespace="http://www.UBmatrix.com/Patterns/ComplexConceptMultiplePeriods" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="ComplexConceptMultiplePeriods-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="ComplexConceptMultiplePeriods-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_DetailLeaseholdLandBuildings" name="DetailLeaseholdLandBuildings" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_LeaseholdLandOrBuilding" name="LeaseholdLandOrBuilding" substitutionGroup="xbrli:tuple" nillable="true" > <complexType> <complexContent> <restriction base="anyType"> <sequence>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 72 of 97

<element ref="ci:Description" minOccurs="0" maxOccurs="1" /> <element ref="ci:Country" minOccurs="0" maxOccurs="1" /> <element ref="ci:Location" minOccurs="0" maxOccurs="1" /> <element ref="ci:Tenure" minOccurs="0" maxOccurs="1" /> <element ref="ci:LandArea" minOccurs="0" maxOccurs="1" /> <element ref="ci:NetBookValue" minOccurs="0" maxOccurs="1" /> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_Description" name="Description" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Country" name="Country" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Location" name="Location" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Tenure" name="Tenure" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_LandArea" name="LandArea" type="xbrli:decimalItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_NetBookValue" name="NetBookValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> </schema>

8.14.3. Instance document for pattern The following is a instance document that contains the sample facts for the taxonomy concepts:

Example: Instance document for complex content multiple periods pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/ComplexConceptMultiplePeriods" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/ComplexConceptMultiplePeriods ComplexConceptMultiplePeriods.xsd"> <link:schemaRef xlink:type="simple" xlink:href="ComplexConceptMultiplePeriods.xsd" /> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <context id="I-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2002-12-31</instant> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <unit id="U-Pure"> <measure>xbrli:pure</measure> </unit> <ci:LeaseholdLandOrBuilding> <ci:Description contextRef="I-2003">Factory and office building</ci:Description> <ci:Country contextRef="I-2003">Singapore</ci:Country> <ci:Location contextRef="I-2003">501 Airport Road</ci:Location>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 73 of 97

<ci:Tenure contextRef="I-2003">20 years from 1.6.1993</ci:Tenure> <ci:LandArea contextRef="I-2003" unitRef="U-Pure" decimals="0">23899</ci:LandArea> <ci:NetBookValue contextRef="I-2003" unitRef="U-Monetary" decimals="-3">5622000</ci:NetBookValue> </ci:LeaseholdLandOrBuilding> <ci:LeaseholdLandOrBuilding> <ci:Description contextRef="I-2002">Factory and office building</ci:Description> <ci:Country contextRef="I-2002">Singapore</ci:Country> <ci:Location contextRef="I-2002">501 Airport Road</ci:Location> <ci:Tenure contextRef="I-2002">20 years from 1.6.1993</ci:Tenure> <ci:LandArea contextRef="I-2002" unitRef="U-Pure" decimals="0">23899</ci:LandArea> <ci:NetBookValue contextRef="I-2002" unitRef="U-Monetary" decimals="-3">6005000</ci:NetBookValue> </ci:LeaseholdLandOrBuilding> <ci:LeaseholdLandOrBuilding> <ci:Description contextRef="I-2003">Factory and office building</ci:Description> <ci:Country contextRef="I-2003">Singapore</ci:Country> <ci:Location contextRef="I-2003">501 Airport Road</ci:Location> <ci:Tenure contextRef="I-2003">20 years from 1.6.1993</ci:Tenure> <ci:LandArea contextRef="I-2003" unitRef="U-Pure" decimals="0">7175</ci:LandArea> <ci:NetBookValue contextRef="I-2003" unitRef="U-Monetary" decimals="-3">1683000</ci:NetBookValue> </ci:LeaseholdLandOrBuilding> <ci:LeaseholdLandOrBuilding> <ci:Description contextRef="I-2002">Factory and office building</ci:Description> <ci:Country contextRef="I-2002">Singapore</ci:Country> <ci:Location contextRef="I-2002">501 Airport Road</ci:Location> <ci:Tenure contextRef="I-2002">20 years from 1.6.1993</ci:Tenure> <ci:LandArea contextRef="I-2002" unitRef="U-Pure" decimals="0">7175</ci:LandArea> <ci:NetBookValue contextRef="I-2002" unitRef="U-Monetary" decimals="-3">1814000</ci:NetBookValue> </ci:LeaseholdLandOrBuilding> <ci:LeaseholdLandOrBuilding> <ci:Description contextRef="I-2003">Warehouse and office building</ci:Description> <ci:Country contextRef="I-2003">Singapore</ci:Country> <ci:Location contextRef="I-2003">540 Airport Road</ci:Location> <ci:Tenure contextRef="I-2003">30 years from 15.8.1985</ci:Tenure> <ci:LandArea contextRef="I-2003" unitRef="U-Pure" decimals="0">5850</ci:LandArea> <ci:NetBookValue contextRef="I-2003" unitRef="U-Monetary" decimals="-3">2280000</ci:NetBookValue> </ci:LeaseholdLandOrBuilding> <ci:LeaseholdLandOrBuilding> <ci:Description contextRef="I-2002">Warehouse and office building</ci:Description> <ci:Country contextRef="I-2002">Singapore</ci:Country> <ci:Location contextRef="I-2002">540 Airport Road</ci:Location> <ci:Tenure contextRef="I-2002">30 years from 15.8.1985</ci:Tenure> <ci:LandArea contextRef="I-2002" unitRef="U-Pure" decimals="0">5850</ci:LandArea> <ci:NetBookValue contextRef="I-2002" unitRef="U-Monetary" decimals="-3">2435000</ci:NetBookValue> </ci:LeaseholdLandOrBuilding> <ci:LeaseholdLandOrBuilding> <ci:Description contextRef="I-2003">Hangar and office building</ci:Description> <ci:Country contextRef="I-2003">USA</ci:Country> <ci:Location contextRef="I-2003">2902 North 24th Street</ci:Location> <ci:Tenure contextRef="I-2003">30 years from 1.1.1984</ci:Tenure> <ci:LandArea contextRef="I-2003" unitRef="U-Pure" decimals="0">18918</ci:LandArea> <ci:NetBookValue contextRef="I-2003" unitRef="U-Monetary" decimals="-3">6978000</ci:NetBookValue> </ci:LeaseholdLandOrBuilding> <ci:LeaseholdLandOrBuilding> <ci:Description contextRef="I-2002">Hangar and office building</ci:Description> <ci:Country contextRef="I-2002">USA</ci:Country> <ci:Location contextRef="I-2002">2902 North 24th Street</ci:Location> <ci:Tenure contextRef="I-2002">30 years from 1.1.1984</ci:Tenure> <ci:LandArea contextRef="I-2002" unitRef="U-Pure" decimals="0">18918</ci:LandArea> <ci:NetBookValue contextRef="I-2002" unitRef="U-Monetary" decimals="-3">7485000</ci:NetBookValue> </ci:LeaseholdLandOrBuilding> <ci:LeaseholdLandOrBuilding> <ci:Description contextRef="I-2003">Hangar and office building</ci:Description> <ci:Country contextRef="I-2003">USA</ci:Country>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 74 of 97

<ci:Location contextRef="I-2003">1234 Fifth Avenue</ci:Location> <ci:Tenure contextRef="I-2003">30 years from 1.1.1992</ci:Tenure> <ci:LandArea contextRef="I-2003" unitRef="U-Pure" decimals="0">75713</ci:LandArea> <ci:NetBookValue contextRef="I-2003" unitRef="U-Monetary" decimals="-3">57102000</ci:NetBookValue> </ci:LeaseholdLandOrBuilding> <ci:LeaseholdLandOrBuilding> <ci:Description contextRef="I-2002">Hangar and office building</ci:Description> <ci:Country contextRef="I-2002">USA</ci:Country> <ci:Location contextRef="I-2002">1234 Fifth Avenue</ci:Location> <ci:Tenure contextRef="I-2002">30 years from 1.1.1992</ci:Tenure> <ci:LandArea contextRef="I-2002" unitRef="U-Pure" decimals="0">75713</ci:LandArea> <ci:NetBookValue contextRef="I-2002" unitRef="U-Monetary" decimals="-3">54695000</ci:NetBookValue> </ci:LeaseholdLandOrBuilding> </xbrl>

Points to note:

1. The main point to note is that the fact value for “NetBookValue” occurs only once per tuple. There are two tuples that present the information required for the disclosure: one tuple contains values for 2003, and another, different tuple contains values for 2002. These two tuples are differentiated by using different contexts for each tuple.

2. The concept “NetBookValue” is defined only once in the taxonomy. The value for maxOccurs for “NetBookValue” is 1, allowing the concept to occur only once per tuple.

3. The alternative, which is assigning a value of “unbounded” to the attribute maxOccurs on the element “NetBookValue”, should not be used.

8.14.4. Discussion The new information which this pattern adds is that when multiple fact values are required for disclosures and their data is bound together using a tuple, individual tuples should be used to disclose each fact value, rather than repeating the fact value multiple times within the same tuple.

While it is perfectly legal to assign the maxOccurs attribute a value other than “1”, this practice is discouraged for two reasons. Firstly, it is best if one consistent method is used rather than different methods for achieving the same result. This increases consistency and therefore comparability. Secondly, the data model is easier to work with if a known number of, in this case “NetBookValue”, elements are to be used. An instance document creator may choose to disclose 1, 2, 3, 4, 5, or maybe even more periods. Imagine trying to model a relational database table to accept an unknown number of “NetBookValue” fields. It is easier for the database, and a sounder data model, to have multiple data records - one for each period.

8.15. Reuse of concepts pattern In financial statements and other business reports, there are sometimes things that are “standard” in nature. For example, an address format, a telephone number format, etc. Rather than having every taxonomy creator develop their own format, for example, a standard format could be created and reused by all taxonomy creators where this standard format is appropriate.

An example of this is an entity’s address. Organizations have addresses, accountants have addresses, etc. A reusable element or set of elements could be used to express this pattern.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 75 of 97

8.15.1. Example of pattern The following is an example of this pattern in a statement:

8.15.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 76 of 97

This is the actual taxonomy:

Example: Schema for a reuse of concepts pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/ReusableConcept" targetNamespace="http://www.UBmatrix.com/Patterns/ReusableConcept" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="ReusableConcept-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="ReusableConcept-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_MyTaxonomy" name="MyTaxonomy" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Address" name="Address" substitutionGroup="xbrli:tuple" nillable="true" > <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:Street1" minOccurs="0" maxOccurs="1" /> <element ref="ci:Street2" minOccurs="0" maxOccurs="1" /> <element ref="ci:City" minOccurs="0" maxOccurs="1" /> <element ref="ci:ProvinceOrState" minOccurs="0" maxOccurs="1" /> <element ref="ci:PostalCode" minOccurs="0" maxOccurs="1" /> <element ref="ci:Country" minOccurs="0" maxOccurs="1" /> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_Street1" name="Street1" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Street2" name="Street2" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_City" name="City" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_ProvinceOrState" name="ProvinceOrState" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_PostalCode" name="PostalCode" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Country" name="Country" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_CompanyAddress" name="CompanyAddress" substitutionGroup="xbrli:tuple" nillable="true"> <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:Address" minOccurs="1" maxOccurs="1"/> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 77 of 97

</element> <element id="ci_ShareRegisterAddress" name="ShareRegisterAddress" substitutionGroup="xbrli:tuple" nillable="true"> <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:Address" minOccurs="1" maxOccurs="1"/> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_SolicitorAddress" name="SolicitorAddress" substitutionGroup="xbrli:tuple" nillable="true"> <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:Address" minOccurs="1" maxOccurs="1"/> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> </schema>

Points to note:

1. Alternatively, it would be possible to use only one “Street” element, and have a maxOccurs attribute for the number of times the taxonomy creator might want the “Street” fact value to occur. This method of defining exactly two concepts, “Street1” and “Street2” allows a maximum of two values.

2. This taxonomy is not trying to communicate an appropriate address format, but rather uses this simple address format as an example of the reuse of a concept.

8.15.3. Instance document for pattern The following is a sample instance document that contains sample facts for the taxonomy concepts:

Example: Instance document for a reuse of concepts pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/ReusableConcept" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/ReusableConcept ReusableConcept.xsd"> <link:schemaRef xlink:type="simple" xlink:href="ReusableConcept.xsd" /> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <ci:CompanyAddress> <ci:Address> <ci:Street1 contextRef="I-2003">7/F, Vickwood Plaza</ci:Street1>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 78 of 97

<ci:Street2 contextRef="I-2003">199 Des Voeux Road Central,</ci:Street2> <ci:City contextRef="I-2003">Hong Kong</ci:City> <ci:ProvinceOrState contextRef="I-2003">Hong Kong</ci:ProvinceOrState> <ci:PostalCode contextRef="I-2003" xsi:nil="true"></ci:PostalCode> </ci:Address> </ci:CompanyAddress> <ci:ShareRegisterAddress> <ci:Address> <ci:Street1 contextRef="I-2003">The Bank of New York</ci:Street1> <ci:Street2 contextRef="I-2003">101 Barclay Street</ci:Street2> <ci:City contextRef="I-2003">New York</ci:City> <ci:ProvinceOrState contextRef="I-2003">New York</ci:ProvinceOrState> <ci:PostalCode contextRef="I-2003">10286</ci:PostalCode> <ci:Country contextRef="I-2003">USA</ci:Country> </ci:Address> </ci:ShareRegisterAddress> <ci:SolicitorAddress> <ci:Address> <ci:Street1 contextRef="I-2003">Cooper, White and Cooper</ci:Street1> <ci:Street2 contextRef="I-2003">101 Main Street</ci:Street2> <ci:City contextRef="I-2003">San Francisco</ci:City> <ci:ProvinceOrState contextRef="I-2003">California</ci:ProvinceOrState> <ci:PostalCode contextRef="I-2003">99891</ci:PostalCode> <ci:Country contextRef="I-2003">USA</ci:Country> </ci:Address> </ci:SolicitorAddress> </xbrl>

8.15.4. Discussion This pattern uses a simple address format to present an example of reusing a “standard” concept. One address format was defined, and that address format was used in three places to show three different addresses. The concept being reused, “Address”, is wrapped inside other tuples. These wrappers differentiate the “Company Address” from the “Share Register Address” from the “Solicitor Address”. Without it, no one would not know which address was being reported.

Individual item concepts can be reused in the same manner.

8.16. Master/Detail A common example of a master/detail pattern is that an organization may have many invoices. Each invoice has header information - such as “Invoice Number” and “Ship to address”. Each invoice also has one or more line items. Therefore, to express an invoice in XBRL one would need one tuple to express the invoice information, and a tuple within that tuple to express the repeating invoice line item information. Another example that will be explained here is related party transaction information. A company may have zero, one, or many related parties. Those related parties may have one or more transactions.

8.16.1. Example of pattern The following is an example of this pattern in a financial statement:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 79 of 97

In the above example, one related party is shown for an entity, although a company may have more than one related party. For each related party, several transactions are disclosed. This is basically a tuple within a tuple.

8.16.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

This is the actual taxonomy:

Example: Schema for master/detail pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/MasterDetail" targetNamespace="http://www.UBmatrix.com/Patterns/MasterDetail" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="MasterDetail-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="MasterDetail-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_DetailRelatedPartiesRelatedPartyTransactions"

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 80 of 97

name="DetailRelatedPartiesRelatedPartyTransactions" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_RelatedParty" name="RelatedParty" substitutionGroup="xbrli:tuple" nillable="true" > <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:NameRelatedParty" minOccurs="1" maxOccurs="1" /> <element ref="ci:NatureRelationship" minOccurs="0" maxOccurs="1" /> <element ref="ci:TypeRelationship" minOccurs="0" maxOccurs="1" /> <element ref="ci:DetailTransactionsWithRelatedParty" minOccurs="0" maxOccurs="1" /> <element ref="ci:TransactionWithRelatedParty" minOccurs="0" maxOccurs="unbounded" /> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_NameRelatedParty" name="NameRelatedParty" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_NatureRelationship" name="NatureRelationship" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_TypeRelationship" name="TypeRelationship" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_DetailTransactionsWithRelatedParty" name="DetailTransactionsWithRelatedParty" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_TransactionWithRelatedParty" name="TransactionWithRelatedParty" substitutionGroup="xbrli:tuple" nillable="true" > <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:DescriptionTransaction" minOccurs="1" maxOccurs="1" /> <element ref="ci:TypeTransaction" minOccurs="0" maxOccurs="1" /> <element ref="ci:TransactionPricingPolicy" minOccurs="0" maxOccurs="1" /> <element ref="ci:AmountTransaction" minOccurs="0" maxOccurs="1" /> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_DescriptionTransaction" name="DescriptionTransaction" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_TypeTransaction" name="TypeTransaction" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_TransactionPricingPolicy" name="TransactionPricingPolicy" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_AmountTransaction" name="AmountTransaction" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> </schema>

8.16.3. Instance document for pattern The following is a sample instance document that contains sample facts for the taxonomy concepts:

Example: Instance document for master/detail pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/MasterDetail"

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 81 of 97

xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/MasterDetail MasterDetail.xsd"> <link:schemaRef xlink:type="simple" xlink:href="MasterDetail.xsd" /> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:RelatedParty> <ci:NameRelatedParty contextRef="I-2003">John Doe</ci:NameRelatedParty> <ci:NatureRelationship contextRef="I-2003">Director</ci:NatureRelationship> <ci:TypeRelationship contextRef="I-2003">iascf:SignificantStockholders</ci:TypeRelationship> <ci:TransactionWithRelatedParty> <ci:DescriptionTransaction contextRef="I-2003">Sales</ci:DescriptionTransaction> <ci:TypeTransaction contextRef="I-2003">iascf:Sales</ci:TypeTransaction> <ci:TransactionPricingPolicy contextRef="I-2003">Cost</ci:TransactionPricingPolicy> <ci:AmountTransaction contextRef="I-2003" unitRef="U-Monetary" decimals="0">100000</ci:AmountTransaction> </ci:TransactionWithRelatedParty> <ci:TransactionWithRelatedParty> <ci:DescriptionTransaction contextRef="I-2003">Loans</ci:DescriptionTransaction> <ci:TypeTransaction contextRef="I-2003">iascf:Loans</ci:TypeTransaction> <ci:TransactionPricingPolicy contextRef="I-2003">Cost</ci:TransactionPricingPolicy> <ci:AmountTransaction contextRef="I-2003" unitRef="U-Monetary" decimals="0">500000</ci:AmountTransaction> </ci:TransactionWithRelatedParty> <ci:TransactionWithRelatedParty> <ci:DescriptionTransaction contextRef="I-2003">Lease for office building</ci:DescriptionTransaction> <ci:TypeTransaction contextRef="I-2003">iascf:Lease</ci:TypeTransaction> <ci:TransactionPricingPolicy contextRef="I-2003">Market</ci:TransactionPricingPolicy> <ci:AmountTransaction contextRef="I-2003" unitRef="U-Monetary" decimals="0">1000000</ci:AmountTransaction> </ci:TransactionWithRelatedParty> </ci:RelatedParty> </xbrl>

8.16.4. Discussion The master record/detailed record pattern occurs quite commonly in financial reporting. Tuples can get quite complex when they contain many items and many tuples nested at different levels. Although these patterns are complex, they can be broken down in to smaller, easier to understand components.

8.17. Allowing for different levels of disclosure As XBRL is being adopted, it may be advantageous, in some cases, to allow adopters of XBRL to choose their disclosure level from an XBRL perspective. (This has nothing to do with disclosures from a financial reporting perspective.)

For example, in a taxonomy providing an element that is a “string” data type rather than supplying an “abstract” element allows an instance document creator to use the element (1) to supply a “chunk” of text which supplies all aspects of a disclosure, or (2) to supply individual components of a disclosure.

8.17.1. Example of pattern The table of information that an entity might be required to disclose regarding directors’ compensation is shown again.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 82 of 97

8.17.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

Points to note:

1. The element “Detail of Director Compensation” is now a string type; in the previous example it was an abstract element.

8.17.3. Instance document for pattern The following is a sample instance document which expresses facts for the taxonomy concepts:

Example: Instance document for different levels of disclosure pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/DifferentLevels" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/DifferentLevels DifferentLevels.xsd"> <link:schemaRef xlink:type="simple" xlink:href="DifferentLevels.xsd" /> <context id="D-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2003-01-01</startDate> <endDate>2003-12-31</endDate> </period> </context> <ci:DetailDirectorCompensation contextRef="D-2003"><![CDATA[ Fair Value of Name of director Salary Bonus Director fees Options Granted ===================== ============= ============= ============= =============== Ho Ching 0 0 60,000 0 Boon Swan Foo 879,639 1,213,486 0 569,000 Tan Guong Ching 0 0 24,200 0 Ng Kee Choe 0 0 57,000 0 ]]> </ci:DetailDirectorCompensation> </xbrl>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 83 of 97

Points to note:

1. The instance document above has a “chunk” of information within one XBRL fact value.

2. Note the CDATA section.

8.17.4. Discussion The example above shows an alternative method that allows users to make use of XBRL without expending the resources, at this time, to break the data out to its most detailed level. This allows users to ease into using XBRL. This discussion is not encouraging this method of expressing information, but rather showing an acceptable alternative.

If a taxonomy provides this mechanism for presenting information, by providing a string element rather than an abstract element, instance document creators can take advantage of this feature of the taxonomy.

However, if a taxonomy creator does not want a user to provide these chunks of data, but rather to provide the more detailed breakdown, providing the element “Detail of Director Compensation” is still helpful in organizing the taxonomy. However, making the element an abstract element precludes users from entering unwanted data into an instance document.

8.18. Movements in Tuple At times, a movement analysis may be presented for something which can appear more than once. Consider the example presented below: an entity is required to disclose share option schemes it uses to compensate employees, an entity may have zero or more share option schemes and each of those share option schemes needs to show a movement analysis.

If you recall, a movement analysis has a beginning and ending balance and changes which reconcile the differences between those balances. A movement analysis can be presented for one or more years. As such, the components of what makes up the movement analysis can appear zero or many times within a tuple. This example shows how to express this within XBRL.

It is helpful to understand both the movement analysis pattern and the tuple pattern in order to grasp the concepts communicated in this pattern.

8.18.1. Example of pattern The following is an example of this pattern in a financial statement:

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 84 of 97

In the above example, a company is reporting information for one share option scheme, but it could have presented the same data for two different schemes. For that scheme, a movement analysis is provided for both the current and prior periods.

8.18.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

The following is a screenshot of the calculation view of this taxonomy pattern:

This is the actual taxonomy:

Example: Schema for movements in tuple pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink"

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 85 of 97

xmlns:ci="http://www.UBmatrix.com/Patterns/MovementsInTuple" targetNamespace="http://www.UBmatrix.com/Patterns/MovementsInTuple" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="MovementsInTuple-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links, all" /> <link:linkbaseRef xlink:type="simple" xlink:href="MovementsInTuple-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links, all" /> <link:linkbaseRef xlink:type="simple" xlink:href="MovementsInTuple-calculation.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links, all" /> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_ChangesInShareOptionsTotal" name="ChangesInShareOptionsTotal" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_DescriptionShare-basedPaymentArrangement" name="DescriptionShare-basedPaymentArrangement" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_DetailShare-basedPaymentArrangements" name="DetailShare-basedPaymentArrangements" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_GeneralTermsConditionsShare-basedPaymentArrangement" name="GeneralTermsConditionsShare-basedPaymentArrangement" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_MovementsInShareOptionsInShare-basedPaymentArrangement" name="MovementsInShareOptionsInShare-basedPaymentArrangement" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_Share-basedPaymentArrangement" name="Share-basedPaymentArrangement" substitutionGroup="xbrli:tuple" nillable="true"> <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:DescriptionShare-basedPaymentArrangement" minOccurs="1" maxOccurs="1" /> <element ref="ci:GeneralTermsConditionsShare-basedPaymentArrangement" minOccurs="1" maxOccurs="1" /> <element ref="ci:MovementsInShareOptionsInShare-basedPaymentArrangement" minOccurs="0" maxOccurs="1" /> <element ref="ci:ShareOptionsOutstanding" minOccurs="0" maxOccurs="unbounded" /> <element ref="ci:ShareOptionsGranted" minOccurs="0" maxOccurs="unbounded" /> <element ref="ci:ShareOptionsForfeited" minOccurs="0" maxOccurs="unbounded" /> <element ref="ci:ShareOptionsExercised" minOccurs="0" maxOccurs="unbounded" /> <element ref="ci:ShareOptionsExpired" minOccurs="0" maxOccurs="unbounded" /> <element ref="ci:ChangesInShareOptionsTotal" minOccurs="0" maxOccurs="unbounded" /> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_ShareOptionsExercised" name="ShareOptionsExercised" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_ShareOptionsExpired" name="ShareOptionsExpired" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_ShareOptionsForfeited" name="ShareOptionsForfeited" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_ShareOptionsGranted" name="ShareOptionsGranted" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_ShareOptionsOutstanding" name="ShareOptionsOutstanding" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> </schema>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 86 of 97

8.18.3. Instance document for pattern The following is a sample instance document that contains sample facts for the taxonomy concepts:

Example: Instance document for movements in tuple pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/MovementsInTuple" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/MovementsInTuple MovementsInTuple.xsd"> <link:schemaRef xlink:type="simple" xlink:href="MovementsInTuple.xsd" /> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <context id="I-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2002-12-31</instant> </period> </context> <context id="I-2001"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2001-12-31</instant> </period> </context> <context id="D-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2003-01-01</startDate> <endDate>2003-12-31</endDate> </period> </context> <context id="D-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2002-01-01</startDate> <endDate>2002-12-31</endDate> </period> </context> <unit id="U-Monetary"> <measure>iso4217:EUR</measure> </unit> <ci:Share-basedPaymentArrangement> <ci:DescriptionShare-basedPaymentArrangement contextRef="D-2003"> The Company's share option scheme was adopted pursuant to a resolution passed on 28 November 2001 for the primary purpose of providing incentives to directors and eligible employees, and will expire on 27 November 2011. Under the scheme, the Board of Directors of the Company may grant options to eligible employees, including directors, to subscribe for shares of the Company. </ci:DescriptionShare-basedPaymentArrangement>

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 87 of 97

<ci:GeneralTermsConditionsShare-basedPaymentArrangement contextRef="D-2003"> No consideration is payable on the grant of an option. Options may generally be exercised at any time during the period commencing on the first anniversary of the date of grant of the share option and expiring at the close of business on the fifth anniversary of the date of grant. The exercise price is determined by the directors of the Company. </ci:GeneralTermsConditionsShare-basedPaymentArrangement> <!-- Balances --> <ci:ShareOptionsOutstanding contextRef="I-2001" unitRef="U-Monetary" decimals="INF">0</ci:ShareOptionsOutstanding> <ci:ShareOptionsOutstanding contextRef="I-2002" unitRef="U-Monetary" decimals="INF">277000</ci:ShareOptionsOutstanding> <ci:ShareOptionsOutstanding contextRef="I-2003" unitRef="U-Monetary" decimals="INF">566000</ci:ShareOptionsOutstanding> <!-- Changes (all must be in the correct order, per content model --> <ci:ShareOptionsGranted contextRef="D-2002" unitRef="U-Monetary" decimals="INF">277000</ci:ShareOptionsGranted> <ci:ShareOptionsGranted contextRef="D-2003" unitRef="U-Monetary" decimals="INF">298000</ci:ShareOptionsGranted> <ci:ShareOptionsForfeited contextRef="D-2002" unitRef="U-Monetary" decimals="INF">0</ci:ShareOptionsForfeited> <ci:ShareOptionsForfeited contextRef="D-2003" unitRef="U-Monetary" decimals="INF">9000</ci:ShareOptionsForfeited> <ci:ShareOptionsExercised contextRef="D-2002" unitRef="U-Monetary" decimals="INF">0</ci:ShareOptionsExercised> <ci:ShareOptionsExercised contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:ShareOptionsExercised> <ci:ShareOptionsExpired contextRef="D-2002" unitRef="U-Monetary" decimals="INF">0</ci:ShareOptionsExpired> <ci:ShareOptionsExpired contextRef="D-2003" unitRef="U-Monetary" decimals="INF">0</ci:ShareOptionsExpired> <ci:ChangesInShareOptionsTotal contextRef="D-2003" unitRef="U-Monetary" decimals="INF">289000</ci:ChangesInShareOptionsTotal> <ci:ChangesInShareOptionsTotal contextRef="D-2002" unitRef="U-Monetary" decimals="INF">277000</ci:ChangesInShareOptionsTotal> </ci:Share-basedPaymentArrangement> </xbrl>

8.18.4. Discussion The movement in a tuple pattern is fairly easily understood of one understands how a movement analysis is expressed in XBRL and if one understands what tuples are and how they work. One twist which may not be clear is that the order of elements from the movements analysis is important for this pattern since the “sequence” composer is used on the tuple. In fact, the sequence composer must be used as elements can appear more than once, one reason why the “all” composer cannot be used.

There is one additional twist which can be added to this pattern. This is explained by taking another look at share options. This example was actually somewhat simplified. Share options can have multiple “option types” per share option plan. Each of the share option types must have a movement analysis disclosed. As such, each of the movement analysis needs to be associated with the type of share option. To achieve this, an additional tuple needs to be added to the share option plan tuple. The share option plan tuple has a tuple in it to provide details for the type of share option plan; the “Description of the Type of Share Option” and the “Details of Movements for the Type of Share Option”. That second tuple contains the movement analysis in order to associate it to the proper type of share option plan.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 88 of 97

8.19. Grouped Report This pattern builds on the notion of separating data from the presentation of that data. A common type of report in financial and business reporting the report where the report contains several data fields and the report is presented where the data is grouped by one or more of those data points. One creator of the report my choose one set of data fields to group by and do the groupings in one order, and another use may choose a different set fields and orders to group by.

Think of a Microsoft Excel Pivot Table. This is the ultimate grouped report; the set of data can be presented as the user of the data sees fit. The key concept for this pattern is to separate the data and the presentation of the data and maximize the possible uses of the data.

8.19.1. Example of pattern The following is an example of this pattern in a financial statement:

In the above example, a portion of a report is shown, not the full report. The full report basically shows grand total for the report of the value of the investments in a mutual fund. The total investments are broken down by “LONG-TERM INVESTMENTS” and “SHORT-TERM INVESTMENTS”. You can see the short-term investments label and the total for long-term investments just above it.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 89 of 97

The report is further broken down by country where the investment is located; the type of investment such as “Government”, “Telecoms”, “Banks and Financial Services”; the government entity or company name of the investment; and the actual investment itself for which the shares held, interest rate, maturity, Moody’s and S&P ratings, and the value of the investment.

Another user could choose to sort these data fields in different ways and in fact in the same industry, this data may be sorted in different ways.

However, if the taxonomy to express the data is “hard coded” into one of these presentation views, it makes using other views of the data more complicated.

A better way to express the data is to ignore the presentation and focus on the data presented; then this data becomes straight forward to express.

8.19.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

The following is a screenshot of the calculation view of this taxonomy pattern:

This is the actual taxonomy:

Example: Schema for grouped report pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/GroupedReport" targetNamespace="http://www.UBmatrix.com/Patterns/GroupedReport" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="GroupedReport-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links, all" /> <link:linkbaseRef xlink:type="simple" xlink:href="GroupedReport-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links, all" /> <link:linkbaseRef xlink:type="simple" xlink:href="GroupedReport-calculation.xml"

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 90 of 97

xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links, all" /> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd" /> <element id="ci_Country" name="Country" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Description" name="Description" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_DetailPortfolioInvestments" name="DetailPortfolioInvestments" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Entity" name="Entity" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Investment" name="Investment" substitutionGroup="xbrli:tuple" nillable="true"> <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:Key" minOccurs="0" maxOccurs="1" /> <element ref="ci:Term" minOccurs="0" maxOccurs="1" /> <element ref="ci:Country" minOccurs="0" maxOccurs="1" /> <element ref="ci:Type" minOccurs="0" maxOccurs="1" /> <element ref="ci:Entity" minOccurs="0" maxOccurs="1" /> <element ref="ci:Shares" minOccurs="0" maxOccurs="1" /> <element ref="ci:Description" minOccurs="0" maxOccurs="1" /> <element ref="ci:MoodysRating" minOccurs="0" maxOccurs="1" /> <element ref="ci:SPRating" minOccurs="0" maxOccurs="1" /> <element ref="ci:Value" minOccurs="0" maxOccurs="1" /> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_Key" name="Key" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_MoodysRating" name="MoodysRating" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_PortfolioInvestments" name="PortfolioInvestments" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Shares" name="Shares" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_SPRating" name="SPRating" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Term" name="Term" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_TotalPortfolioShares" name="TotalPortfolioShares" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_TotalPortfolioValue" name="TotalPortfolioValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_TotalsPortfolioInvestments" name="TotalsPortfolioInvestments" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Type" name="Type" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> <element id="ci_Value" name="Value" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" /> </schema>

8.19.3. Instance document for pattern The following is a sample instance document that contains sample facts for the taxonomy concepts (note that only a fragment of the instance is presented):

Example: Instance document for grouped report pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix -->

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 91 of 97

<?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/GroupedReport" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/GroupedReport GroupedReport.xsd"> <link:schemaRef xlink:type="simple" xlink:href="GroupedReport.xsd" /> <context id="I-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <instant>2003-12-31</instant> </period> </context> <unit id="U-Monetary"> <measure>iso4217:USD</measure> </unit> <unit id="U-Shares"> <measure>shares</measure> </unit> <ci:Investment> <ci:Key contextRef="I-2003">1</ci:Key> <ci:Term contextRef="I-2003">Long Term</ci:Term> <ci:Country contextRef="I-2003">Australia</ci:Country> <ci:Type contextRef="I-2003">Government</ci:Type> <ci:Entity contextRef="I-2003">Commonwealth of Australia</ci:Entity> <ci:Shares contextRef="I-2003" unitRef="U-Shares" decimals="INF">8450000</ci:Shares> <ci:Description contextRef="I-2003">7.50%, 7/15/05</ci:Description> <ci:MoodysRating contextRef="I-2003">Aaa</ci:MoodysRating> <ci:SPRating contextRef="I-2003">AAA</ci:SPRating> <ci:Value contextRef="I-2003" unitRef="U-Monetary" decimals="INF">6201368</ci:Value> </ci:Investment> <ci:Investment> <ci:Key contextRef="I-2003">2</ci:Key> <ci:Term contextRef="I-2003">Long Term</ci:Term> <ci:Country contextRef="I-2003">Australia</ci:Country> <ci:Type contextRef="I-2003">Government</ci:Type> <ci:Entity contextRef="I-2003">Commonwealth of Australia</ci:Entity> <ci:Shares contextRef="I-2003" unitRef="U-Shares" decimals="INF">5000000</ci:Shares> <ci:Description contextRef="I-2003">10.00%, 2/15/06</ci:Description> <ci:MoodysRating contextRef="I-2003">Aaa</ci:MoodysRating> <ci:SPRating contextRef="I-2003">AAA</ci:SPRating> <ci:Value contextRef="I-2003" unitRef="U-Monetary" decimals="INF">3884956</ci:Value> </ci:Investment> <ci:Investment> <ci:Key contextRef="I-2003">3</ci:Key> <ci:Term contextRef="I-2003">Long Term</ci:Term> <ci:Country contextRef="I-2003">Australia</ci:Country> <ci:Type contextRef="I-2003">Government</ci:Type> <ci:Entity contextRef="I-2003">Commonwealth of Australia</ci:Entity> <ci:Shares contextRef="I-2003" unitRef="U-Shares" decimals="INF">5500000</ci:Shares> <ci:Description contextRef="I-2003">6.75%, 11/15/06</ci:Description> <ci:MoodysRating contextRef="I-2003">Aaa</ci:MoodysRating> <ci:SPRating contextRef="I-2003">AAA</ci:SPRating> <ci:Value contextRef="I-2003" unitRef="U-Monetary" decimals="INF">4033259</ci:Value> </ci:Investment> … other rows of data removed

<ci:TotalPortfolioShares contextRef="I-2003" unitRef="U-Shares" decimals="INF">1535950000 </ci:TotalPortfolioShares> <ci:TotalPortfolioValue contextRef="I-2003" unitRef="U-Monetary" decimals="INF">1202356482 </ci:TotalPortfolioValue> </xbrl>

8.19.4. Discussion Again, a reminder that the instance document shows a fully valid, but only partial fragment of data as the full set of data would be several pages long. The data is

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 92 of 97

basically a repeating set of data points and then two item elements which hold totals for shares and value of the entire data set.

The best way to understand why the data should be presented this way is to try and load, literally, the data into a Microsoft Excel Pivot Table. In addition, once the data is loaded into the pivot table, it can be sorted, sliced, and diced by the user in all possible ways.

The subtotals and headings in the middle of the report can be seen as presentation information. XSLT or other tools or methods of rendering the data as a human readable printout can create and present these subtotals.

8.20. Reconciliation Similar to a movement analysis which reconciles a beginning balance to an ending balance is the reconciliation which reconciles one number to another number. The prime difference between a reconciliation and a movement analysis is that a movement analysis has a known number of reconciling items. Whereas, a reconciliation has an indefinite number of reconciling items and the reconciling items themselves are either not identifiable or less identifiable.

For example, consider a reconciliation between Net Income (Loss) as reported under IAS and Net Income (Loss) as reported under US GAAP.

As such, the reconciliation provides the ability to provide any number of reconciling items.

8.20.1. Example of pattern The following is an example of this pattern in a financial statement:

In the example above, a reconciliation is provided between Net Income (Loss) as reported under IAS and Net Income (Loss) as reported per US GAAP. The reconciliation is provided for two periods.

In the case of the example above, there are four reconciling items. The number of potential reconciling items would be quite large, therefore it is thought, in this case, that it would be better not to provide a list of the actual reconciling items, but rather something which would allow a financial statement preparer to provide whatever reconciling items they had in somewhat of a generic structure.

The downside of this approach makes is that it makes comparing the reconciling items of one financial report to the reconciling items in another financial report. (A movement analysis is more comparable as the reconciling items are provided.)

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 93 of 97

8.20.2. Taxonomy pattern The following is a screen shot of the presentation view of this taxonomy pattern:

The following is a screenshot of the calculation view of this taxonomy pattern:

This is the actual taxonomy:

Example: Schema for reconciliation pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/Reconciliation" targetNamespace="http://www.UBmatrix.com/Patterns/Reconciliation" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="Reconciliation-label.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links, all" /> <link:linkbaseRef xlink:type="simple" xlink:href="Reconciliation-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links, all" /> <link:linkbaseRef xlink:type="simple" xlink:href="Reconciliation-calculation.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links, all" /> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" /> <element id="ci_ReconciliationIASToUSGAAP" name="ReconciliationIASToUSGAAP" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_ReconciliationNetIncomeLossAsReportedByIASUSGAAP" name="ReconciliationNetIncomeLossAsReportedByIASUSGAAP" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_NetIncomeLossAsReportedUnderIAS" name="NetIncomeLossAsReportedUnderIAS" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_AggregateAmountReconcilingItems" name="AggregateAmountReconcilingItems" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_NetIncomeLossAsReportedUnderUSGAAP" name="NetIncomeLossAsReportedUnderUSGAAP"

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 94 of 97

type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /> <element id="ci_DetailReconcilingItemsFromIASToUSGAAP" name="DetailReconcilingItemsFromIASToUSGAAP" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_ReconcilingItem" name="ReconcilingItem" substitutionGroup="xbrli:tuple" nillable="true"> <complexType> <complexContent> <restriction base="anyType"> <sequence> <element ref="ci:DescriptionReconcilingItem" minOccurs="1" maxOccurs="1" /> <element ref="ci:Type" minOccurs="0" maxOccurs="1" /> <element ref="ci:AmountReconcilingItem" minOccurs="1" maxOccurs="1" /> </sequence> <attribute name="id" type="ID" use="optional" /> </restriction> </complexContent> </complexType> </element> <element id="ci_DescriptionReconcilingItem" name="DescriptionReconcilingItem" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_Type" name="Type" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" /> <element id="ci_AmountReconcilingItem" name="AmountReconcilingItem" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" /></schema>

8.20.3. Instance document for pattern The following is a sample instance document that contains sample facts for the taxonomy concepts:

Example: Instance document for reconciliation pattern <?xml version="1.0" encoding="utf-8"?> <!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-02-01 --> <xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ci="http://www.UBmatrix.com/Patterns/Reconciliation" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.UBmatrix.com/Patterns/Reconciliation Reconciliation.xsd"> <link:schemaRef xlink:type="simple" xlink:href="Reconciliation.xsd" /> <context id="D-2003"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2003-01-01</startDate> <endDate>2003-12-31</endDate> </period> </context> <context id="D-2002"> <entity> <identifier scheme="http://www.SampleCompany.com">SAMP</identifier> </entity> <period> <startDate>2002-01-01</startDate> <endDate>2002-12-31</endDate> </period> </context> <unit id="U-Monetary"> <measure>iso4217:USD</measure> </unit> <ci:NetIncomeLossAsReportedUnderIAS contextRef="D-2003" unitRef="U-Monetary" decimals="INF">7024000</ci:NetIncomeLossAsReportedUnderIAS> <ci:AggregateAmountReconcilingItems contextRef="D-2003" unitRef="U-Monetary" decimals="INF">-

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 95 of 97

2321000</ci:AggregateAmountReconcilingItems> <ci:NetIncomeLossAsReportedUnderUSGAAP contextRef="D-2003" unitRef="U-Monetary" decimals="INF">4703000</ci:NetIncomeLossAsReportedUnderUSGAAP> <ci:ReconcilingItem> <ci:DescriptionReconcilingItem contextRef="D-2003">Purchase accounting of acquisitions</ci:DescriptionReconcilingItem> <ci:AmountReconcilingItem contextRef="D-2003" unitRef="U-Monetary" decimals="INF">-600000</ci:AmountReconcilingItem> </ci:ReconcilingItem> <ci:ReconcilingItem> <ci:DescriptionReconcilingItem contextRef="D-2003">In process research and development</ci:DescriptionReconcilingItem> <ci:AmountReconcilingItem contextRef="D-2003" unitRef="U-Monetary" decimals="INF">-936000</ci:AmountReconcilingItem> </ci:ReconcilingItem> <ci:ReconcilingItem> <ci:DescriptionReconcilingItem contextRef="D-2003">Available for sale securities and derivative financial instruments</ci:DescriptionReconcilingItem> <ci:AmountReconcilingItem contextRef="D-2003" unitRef="U-Monetary" decimals="INF">-511000</ci:AmountReconcilingItem> </ci:ReconcilingItem> <ci:ReconcilingItem> <ci:DescriptionReconcilingItem contextRef="D-2003">Other reconciling items</ci:DescriptionReconcilingItem> <ci:AmountReconcilingItem contextRef="D-2003" unitRef="U-Monetary" decimals="INF">-274000</ci:AmountReconcilingItem> </ci:ReconcilingItem> <ci:NetIncomeLossAsReportedUnderIAS contextRef="D-2002" unitRef="U-Monetary" decimals="INF">7210000</ci:NetIncomeLossAsReportedUnderIAS> <ci:AggregateAmountReconcilingItems contextRef="D-2002" unitRef="U-Monetary" decimals="INF">-297000</ci:AggregateAmountReconcilingItems> <ci:NetIncomeLossAsReportedUnderUSGAAP contextRef="D-2002" unitRef="U-Monetary" decimals="INF">6913000</ci:NetIncomeLossAsReportedUnderUSGAAP> <ci:ReconcilingItem> <ci:DescriptionReconcilingItem contextRef="D-2002">Purchase accounting of acquisitions</ci:DescriptionReconcilingItem> <ci:AmountReconcilingItem contextRef="D-2002" unitRef="U-Monetary" decimals="INF">-658000</ci:AmountReconcilingItem> </ci:ReconcilingItem> <ci:ReconcilingItem> <ci:DescriptionReconcilingItem contextRef="D-2002">In process research and development</ci:DescriptionReconcilingItem> <ci:AmountReconcilingItem contextRef="D-2002" unitRef="U-Monetary" decimals="INF">-143000</ci:AmountReconcilingItem> </ci:ReconcilingItem> <ci:ReconcilingItem> <ci:DescriptionReconcilingItem contextRef="D-2002">Available for sale securities and derivative financial instruments</ci:DescriptionReconcilingItem> <ci:AmountReconcilingItem contextRef="D-2002" unitRef="U-Monetary" decimals="INF">787000</ci:AmountReconcilingItem> </ci:ReconcilingItem> <ci:ReconcilingItem> <ci:DescriptionReconcilingItem contextRef="D-2002">Other reconciling items</ci:DescriptionReconcilingItem> <ci:AmountReconcilingItem contextRef="D-2002" unitRef="U-Monetary" decimals="INF">-283000</ci:AmountReconcilingItem> </ci:ReconcilingItem> </xbrl>

8.20.4. Discussion The taxonomy for the reconciliation consists of three items: one item, an aggregate of the reconciling items, and the second item. The first item plus the aggregate of the reconciling items equals the second item, thus forming the reconciliation.

In addition a tuple is provided which captures information about each reconciling item: a description, a type, and an amount. The type is used for comparability reasons, note the discussion relating to this in the section “Complex Concept”.

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 96 of 97

Similar to the “Complex Concept with Totals” pattern discussed above, this pattern has a calculation from within the tuple, to an item outside the tuple. The tuple item “Amount of Reconciling Item” adds up to the concept “Aggregate Amount of Reconciling Items” out side the tuple, which is basically the total of all reconciling items.

One thing which is interesting about this pattern is that it shows the power of XBRL to “chain” calculations together. Think of the contents of the tuple as a “trial balance” and the amount outside the tuple which has to total of the line items within the tuple as the “total” for a set of trial balance line items. You can see how an XBRL processor might “chain” calculations together to allow them to roll forward.

* * *

9. References [FRTA] Financial Reporting Taxonomy Architecture, Candidate

Recommendation [FRIS] Financial Reporting Instance Standards, Internal Working Draft [IFRS-GP] IFRS-GP Taxonomy [USFR] US GAAP Taxonomy Framework [US-GAAP-CI] US GAAP Commercial and Industrial Taxonomy [XBRL] Phillip Engel, Walter Hamscher, Geoffrey Shuetrim, David vun

Kannon, Hugh Wallis Extensible Business Reporting Language (XBRL) 2.1 Specification http://www.xbrl.org/ 2003/xbrl-2003-12-31.doc

10. About the Author Charles Hoffman, CPA, is credited as being the “father of XBRL.” Charlie, a member of the American Institute of Certified Public Accountants (AICPA), brought the idea of what was to become XBRL to the AICPA. Charlie is author of the book “XBRL Essentials”, a non-technical guide to XBRL. He was co-editor of the first XBRL taxonomy, Financial Reporting of Commercial and Industrial Companies, US GAAP (July 2000). He is playing a major role in creating the taxonomy for financial reporting under International Financial Reporting Standards (IFRS-GP). He is a member of the XBRL International Specification and Domain working groups. Charlie is co-author of the "Financial Reporting Taxonomies Architecture", the "Financial Reporting Instance Standards" and a contributor to the XBRL 2.1 specification. Prior to his involvement with XBRL, Charlie served as an auditor for what was then Price Waterhouse, as financial officer for a number of companies, and as an accounting software implementation consultant. In 1997, Charlie was the recipient of the AICPA Innovative User of Technology award. He was named by Accounting Technology as one of the one hundred most influential people in the

EXPRESSING FINANCIAL REPORTING INFORMATION PATTERNS USING XBRL

© UBmatrix 2005, all rights reserved 97 of 97

accounting profession. Charlie is Director of Innovative Solutions for UBmatrix LLC.