<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='ViewerContents.xsl'?>
<!-- Created by Charles Hoffman, CPA, UBmatrix: 2005-07-07 -->
<Patterns 
   name='Financial Reporting Patterns' 
   Description='The following is a summary of XBRL taxonomy patterns commonly found in financial reporting and information on how to express those reporting patterns in XBRL taxonomies.  Instance documents are also provided to help understand the pattern.' 
   xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
   
   <Pattern name="SimpleConcept">
      <Name>Simple Concept</Name>
      <Number>10.1</Number> 
      <Description>Single item in a taxonomy.  Introduces the idea of periodTypes.  Introduces the idea of contexts in instance documents. Introduces label linkbases.</Description>
      <File>
         <pattern>SimpleConcept.pdf</pattern>
         <pattern>SimpleConcept.htm</pattern>
         <fo>SimpleConcept.fo</fo>
         <pattern>SimpleConcept.htm</pattern>
         <pres>SimpleConcept-Elements.pdf</pres>
         <xsd>SimpleConcept.xsd</xsd>
         <linkbase>SimpleConcept-label.xml</linkbase>
         <linkbase>SimpleConcept-presentation.xml</linkbase>
         <instance>SimpleConcept-instance.xml</instance>
         <calctrace>SimpleConcept-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
      <Pattern name="UnrelatedConcepts">
      <Name>Unrelated Concepts</Name>
      <Number>10.2</Number> 
      <Description>Multiple number of concepts, but no relation between the concepts.  Expands on idea of contexts.</Description>
      <File>
         <pattern>UnrelatedConcepts.pdf</pattern>
         <pattern>UnrelatedConcepts.htm</pattern>
         <pres>UnrelatedConcepts-Elements.pdf</pres>
         <xsd>UnrelatedConcepts.xsd</xsd>
         <linkbase>UnrelatedConcepts-label.xml</linkbase>
         <linkbase>UnrelatedConcepts-presentation.xml</linkbase>
         <instance>UnrelatedConcepts-instance.xml</instance>
         <calctrace>UnrelatedConcepts-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
      <Pattern name="RelatedConcepts">
      <Name>Related Concepts</Name>
      <Number>10.3</Number> 
      <Description>Showing concepts which are related in some way.  Introductes the idea of the presentation linkbase.</Description>
      <File>
         <pattern>RelatedConcepts.pdf</pattern>
         <pattern>RelatedConcepts.htm</pattern>
         <pres>RelatedConcepts-Pres.pdf</pres>
         <xsd>RelatedConcepts.xsd</xsd>
         <linkbase>RelatedConcepts-label.xml</linkbase>
         <linkbase>RelatedConcepts-presentation.xml</linkbase>
         <instance>RelatedConcepts-instance.xml</instance>
         <calctrace>RelatedConcepts-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name='BasicCalculation'>
      <Name>Basic Calculation</Name>
      <Number>10.4</Number> 
      <Description>Basic calculation of monetary values.  Introduces the idea of calculation linkbases.</Description>
      <File>
         <pattern>BasicCalculation.pdf</pattern>
         <pattern>BasicCalculation.htm</pattern>
         <pres>BasicCalculation-Pres.pdf</pres>
         <calc>BasicCalculation-Calc.pdf</calc>
         <xsd>BasicCalculation.xsd</xsd>
         <linkbase>BasicCalculation-label.xml</linkbase>
         <linkbase>BasicCalculation-presentation.xml</linkbase>
         <linkbase>BasicCalculation-calculation.xml</linkbase>
         <instance>BasicCalculation-instance.xml</instance>
         <instance>BasicCalculation-instance-withFootnote.xml</instance>
         <calctrace>BasicCalculation-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="NetGrossCalculation">
      <Name>Net Gross Calculation</Name>
      <Number>10.5</Number> 
      <Description>A basic calculation.  Introduces the idea of weights and balance types.</Description>
      <File>
         <pattern>NetGrossCalculation.pdf</pattern>
         <pattern>NetGrossCalculation.htm</pattern>
         <pres>NetGrossCalculation-Pres.pdf</pres>
         <calc>NetGrossCalculation-Calc.pdf</calc>
         <xsd>NetGrossCalculation.xsd</xsd>
         <linkbase>NetGrossCalculation-label.xml</linkbase>
         <linkbase>NetGrossCalculation-presentation.xml</linkbase>
         <linkbase>NetGrossCalculation-calculation.xml</linkbase>
         <instance>NetGrossCalculation-instance.xml</instance>
         <calctrace>NetGrossCalculation-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="TableOfNumericConcepts">
      <Name>Table of Numeric Concepts</Name>
      <Number>10.6</Number> 
      <Description>Expands the idea of calculations.  Introduces the idea of multiple levels of calculations.</Description>
      <File>
         <pattern>TableOfNumericConcepts.pdf</pattern>
         <pattern>TableOfNumericConcepts.htm</pattern>
         <pres>TableOfNumericConcepts-Pres.pdf</pres>
         <calc>TableOfNumericConcepts-Calc.pdf</calc>
         <xsd>TableOfNumericConcepts.xsd</xsd>
         <linkbase>TableOfNumericConcepts-label.xml</linkbase>
         <linkbase>TableOfNumericConcepts-presentation.xml</linkbase>
         <linkbase>TableOfNumericConcepts-calculation.xml</linkbase>
         <instance>TableOfNumericConcepts-instance.xml</instance>
         <calctrace>TableOfNumericConcepts-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="GrandTotalSubtotalsCalculation">
      <Name>Grand Total Subtotals Calculation</Name>
      <Number>10.7</Number> 
      <Description>Expands on the idea of different levels of calculations.  Introduces the idea that concepts can aggregate in different ways.</Description>
      <File>
         <pattern>GrandTotalSubtotalsCalculation.pdf</pattern>
         <pattern>GrandTotalSubtotalsCalculation.htm</pattern>
         <pattern>GrandTotalSubtotalsCalculation-Pattern2.gif</pattern>
         <pres>GrandTotalSubtotalsCalculation-Pres.pdf</pres>
         <calc>GrandTotalSubtotalsCalculation-Calc.pdf</calc>
         <xsd>GrandTotalSubtotalsCalculation.xsd</xsd>
         <linkbase>GrandTotalSubtotalsCalculation-label.xml</linkbase>
         <linkbase>GrandTotalSubtotalsCalculation-presentation.xml</linkbase>
         <linkbase>GrandTotalSubtotalsCalculation-calculation.xml</linkbase>
         <instance>GrandTotalSubtotalsCalculation-instance.xml</instance>
         <calctrace>GrandTotalSubtotalsCalculation-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="MovementsAnalysis">
      <Name>Movements Analysis</Name>
      <Number>10.8</Number> 
      <Description>Introduces the movement analysis (reconciliation between periods).  Shows some limitations of XBRL calculations (calculations accross contexts). Introduces the idea of the preferredLabel.  Further introduces and demonstrates separation of presentation and data.</Description>
      <File>
         <pattern>MovementsAnalysis.pdf</pattern>
         <pattern>MovementsAnalysis.htm</pattern>
         <pattern>MovementsAnalysis-Pattern2.gif</pattern>
         <pres>MovementsAnalysis-Pres.pdf</pres>
         <calc>MovementsAnalysis-Calc.pdf</calc>
         <xsd>MovementsAnalysis.xsd</xsd>
         <linkbase>MovementsAnalysis-label.xml</linkbase>
         <linkbase>MovementsAnalysis-presentation.xml</linkbase>
         <linkbase>MovementsAnalysis-calculation.xml</linkbase>
         <instance>MovementsAnalysis-instance.xml</instance>
         <calctrace>MovementsAnalysis-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="MultipleCalculations">
      <Name>Multiple Calculations</Name>
      <Number>10.9</Number> 
      <Description>Introduces the idea of using extended links when one concept aggregates in several different ways.</Description>
      <File>
         <pattern>MultipleCalculations.pdf</pattern>
         <pattern>MultipleCalculations.htm</pattern>
         <pres>MultipleCalculations-Pres.pdf</pres>
         <calc>MultipleCalculations-Calc.pdf</calc>
         <xsd>MultipleCalculations.xsd</xsd>
         <linkbase>MultipleCalculations-label.xml</linkbase>
         <linkbase>MultipleCalculations-presentation.xml</linkbase>
         <linkbase>MultipleCalculations-calculation.xml</linkbase>
         <instance>MultipleCalculations-instance.xml</instance>
         <calctrace>MultipleCalculations-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="FiniteNumberOfValues">
      <Name>Finite Number of Values</Name>
      <Number>10.10</Number> 
      <Description>List with a known number of members to the list.  Introductes the idea of data repeating, showing when NOT to use a tuple.</Description>
      <File>
         <pattern>FiniteNumberOfValues.pdf</pattern>
         <pattern>FiniteNumberOfValues.htm</pattern>
         <pres>FiniteNumberOfValues-Pres.pdf</pres>
         <calc>FiniteNumberOfValues-Calc.pdf</calc>
         <xsd>FiniteNumberOfValues.xsd</xsd>
         <linkbase>FiniteNumberOfValues-label.xml</linkbase>
         <linkbase>FiniteNumberOfValues-presentation.xml</linkbase>
         <linkbase>FiniteNumberOfValues-calculation.xml</linkbase>
         <instance>FiniteNumberOfValues-instance.xml</instance>
         <calctrace>FiniteNumberOfValues-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="ComplexConcept">
      <Name>Complex Concept</Name>
      <Number>10.11</Number> 
      <Description>Single tuple in a taxonomy.  Introduces the idea of the tuple to express complex data.</Description>
      <File>
         <pattern>ComplexConcept.pdf</pattern>
         <pattern>ComplexConcept.htm</pattern>
         <pres>ComplexConcept-Pres.pdf</pres>
         <xsd>ComplexConcept.xsd</xsd>
         <linkbase>ComplexConcept-label.xml</linkbase>
         <linkbase>ComplexConcept-presentation.xml</linkbase>
         <instance>ComplexConcept-instance.xml</instance>
         <calctrace>ComplexConcept-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="MultipleNumberOfValues">
      <Name>Multiple Number of Values</Name>
      <Number>10.12</Number> 
      <Description>Introduces the idea of using tuples when data can repeat.</Description>
      <File>
         <pattern>MultipleNumberOfValues.pdf</pattern>
         <pattern>MultipleNumberOfValues.htm</pattern>
         <pres>MultipleNumberOfValues-Pres.pdf</pres>
         <xsd>MultipleNumberOfValues.xsd</xsd>
         <linkbase>MultipleNumberOfValues-label.xml</linkbase>
         <linkbase>MultipleNumberOfValues-presentation.xml</linkbase>
         <instance>MultipleNumberOfValues-instance.xml</instance>
         <calctrace>MultipleNumberOfValues-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="ComplexConceptWithTotals">
      <Name>Complex Concept with Totals</Name>
      <Number>10.13</Number> 
      <Description>Introduces the concept of calculations of data from within a tuple.</Description>
      <File>
         <pattern>ComplexConceptWithTotals.pdf</pattern>
         <pattern>ComplexConceptWithTotals.htm</pattern>
         <pres>ComplexConceptWithTotals-Pres.pdf</pres>
         <calc>ComplexConceptWithTotals-Calc.pdf</calc>
         <xsd>ComplexConceptWithTotals.xsd</xsd>
         <linkbase>ComplexConceptWithTotals-label.xml</linkbase>
         <linkbase>ComplexConceptWithTotals-presentation.xml</linkbase>
         <linkbase>ComplexConceptWithTotals-calculation.xml</linkbase>
         <instance>ComplexConceptWithTotals-instance.xml</instance>
         <calctrace>ComplexConceptWithTotals-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="ComplexConceptMultiplePeriods">
      <Name>Complex Concept Multiple Periods</Name>
      <Number>10.14</Number> 
      <Description>Introduces the idea of how tuples should be used to express data which contains multiple, and sometimes an unknown, number of periods.</Description>
      <File>
         <pattern>ComplexConceptMultiplePeriods.pdf</pattern>
         <pattern>ComplexConceptMultiplePeriods.htm</pattern>
         <pres>ComplexConceptMultiplePeriods-Pres.pdf</pres>
         <xsd>ComplexConceptMultiplePeriods.xsd</xsd>
         <linkbase>ComplexConceptMultiplePeriods-label.xml</linkbase>
         <linkbase>ComplexConceptMultiplePeriods-presentation.xml</linkbase>
         <instance>ComplexConceptMultiplePeriods-instance.xml</instance>
         <calctrace>ComplexConceptMultiplePeriods-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="ReusableConcept">
      <Name>Reusable Concept</Name>
      <Number>10.15</Number> 
      <Description>Introduces the idea of using tuples to reuse a complex concept.</Description>
      <File>
         <pattern>ReusableConcept.pdf</pattern>
         <pattern>ReusableConcept.htm</pattern>
         <pres>ReusableConcept-Pres.pdf</pres>
         <xsd>ReusableConcept.xsd</xsd>
         <linkbase>ReusableConcept-label.xml</linkbase>
         <linkbase>ReusableConcept-presentation.xml</linkbase>
         <instance>ReusableConcept-instance.xml</instance>
         <calctrace>ReusableConcept-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="MasterDetail">
      <Name>Master Detail</Name>
      <Number>10.16</Number> 
      <Description>Introduces the idea of having nexted tuples; a tuple within another tuple.</Description>
      <File>
         <pattern>MasterDetail.pdf</pattern>
         <pattern>MasterDetail.htm</pattern>
         <pres>MasterDetail-Pres.pdf</pres>
         <xsd>MasterDetail.xsd</xsd>
         <linkbase>MasterDetail-label.xml</linkbase>
         <linkbase>MasterDetail-presentation.xml</linkbase>
         <instance>MasterDetail-instance.xml</instance>
         <calctrace>MasterDetail-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="DifferentLevels">
      <Name>Different Levels</Name>
      <Number>10.17</Number> 
      <Description>Disclosing a chunk of text, rather than individual File points.  Introduces the idea of using a string to express a chunk of information, rather than breaking the data pieces into discrete data points.</Description>
      <File>
         <pattern>DifferentLevels.pdf</pattern>
         <pattern>DifferentLevels.htm</pattern>
         <pres>DifferentLevels-Pres.pdf</pres>
         <xsd>DifferentLevels.xsd</xsd>
         <linkbase>DifferentLevels-label.xml</linkbase>
         <linkbase>DifferentLevels-presentation.xml</linkbase>
         <instance>DifferentLevels-instance.xml</instance>
         <calctrace>DifferentLevels-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="MovementsInTuple">
      <Name>Movements in Tuple</Name>
      <Number>10.18</Number> 
      <Description>Similar to a movement analysis, however, now the movement is inside a tuple with something which repeats.</Description>
      <File>
         <pattern>MovementsInTuple.pdf</pattern>
         <pattern>MovementsInTuple.htm</pattern>
         <pres>MovementsInTuple-Pres.pdf</pres>
         <calc>MovementsInTuple-Calc.pdf</calc>
         <xsd>MovementsInTuple.xsd</xsd>
         <linkbase>MovementsInTuple-label.xml</linkbase>
         <linkbase>MovementsInTuple-presentation.xml</linkbase>
         <linkbase>MovementsInTuple-calculation.xml</linkbase>
         <instance>MovementsInTuple-instance.xml</instance>
         <calctrace>MovementsInTuple-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="GroupedReport">
      <Name>Grouped Report</Name>
      <Number>10.19</Number> 
      <Description>Builds upon the concept of separation of presentation and data.  This reports has a set of data points which can be 'grouped' in a number of ways.</Description>
      <File>
         <pattern>GroupedReport.pdf</pattern>
         <pattern>GroupedReport.htm</pattern>
         <pres>GroupedReport-Pres.pdf</pres>
         <calc>GroupedReport-Calc.pdf</calc>
         <xsd>GroupedReport.xsd</xsd>
         <linkbase>GroupedReport-label.xml</linkbase>
         <linkbase>GroupedReport-presentation.xml</linkbase>
         <linkbase>GroupedReport-calculation.xml</linkbase>
         <instance>GroupedReport-instance.xml</instance>
         <calctrace>GroupedReport-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
   <Pattern name="Reconciliation">
      <Name>Reconciliation</Name>
      <Number>10.20</Number> 
      <Description>Reconcile one value to another value with a number of reconciling items.</Description>
      <File>
         <pattern>Reconciliation.pdf</pattern>
         <pattern>Reconciliation.htm</pattern>
         <pres>Reconciliation-Pres.pdf</pres>
         <calc>Reconciliation-Calc.pdf</calc>
         <xsd>Reconciliation.xsd</xsd>
         <linkbase>Reconciliation-label.xml</linkbase>
         <linkbase>Reconciliation-presentation.xml</linkbase>
         <linkbase>Reconciliation-calculation.xml</linkbase>
         <instance>Reconciliation-instance.xml</instance>
         <calctrace>Reconciliation-instance-calctrace.html</calctrace>
      </File>
   </Pattern>
</Patterns>

