*** previous/consistency-assertions.xml	2008-09-28 14:59:48.000000000 +1000
--- current/consistency-assertions.xml	2008-12-15 11:04:27.000000000 +1100
***************
*** 51,57 ****
          The XBRL Formulae specification <bibref ref="FORMULA"/> 
          defines a syntax that expresses rules for transforming 
          information in XBRL business reports and their supporting 
!         <xtermref bibref="XBRL" idref="_Toc156209104">discoverable taxonomy sets</xtermref>
          into new XBRL facts.
        </p>
  
--- 51,57 ----
          The XBRL Formulae specification <bibref ref="FORMULA"/> 
          defines a syntax that expresses rules for transforming 
          information in XBRL business reports and their supporting 
!         <xtermref bibref="XBRL" idref="_3.2">discoverable taxonomy sets</xtermref>
          into new XBRL facts.
        </p>
  
***************
*** 61,67 ****
          assertion that uses formulae to define 
          tests on XBRL business reports. These assertions can test 
          the consistency of the fact produced by a formula evaluation with 
!         <termref ref="term-aspect-matching-fact">aspect-matching facts</termref> 
          in the XBRL business report.
        </p>
  
--- 61,67 ----
          assertion that uses formulae to define 
          tests on XBRL business reports. These assertions can test 
          the consistency of the fact produced by a formula evaluation with 
!         <termref ref="term-aspect-matched-input-fact">aspect-matched input facts</termref> 
          in the XBRL business report.
        </p>
  
***************
*** 87,93 ****
            <item>
              The total income reported for a company is 
              equal to the cumulated income reported for each market segment, 
!             taking into account considering the precision of reported total income 
              and the precision of the cumulated income based on reporting of market 
              segments.
            </item>
--- 87,93 ----
            <item>
              The total income reported for a company is 
              equal to the cumulated income reported for each market segment, 
!             taking into account the precision of reported total income 
              and the precision of the cumulated income based on reporting of market 
              segments.
            </item>
***************
*** 98,104 ****
            </item>
            <item>
              The difference between the reported ending balance and the ending
!             balance computed from  the flows during the intervening
              period and the starting balance, must be less than an amount 
              defined by an external parameter.
            </item>
--- 98,104 ----
            </item>
            <item>
              The difference between the reported ending balance and the ending
!             balance computed from the flows during the intervening
              period and the starting balance, must be less than an amount 
              defined by an external parameter.
            </item>
***************
*** 225,237 ****
          </p>
  
        <p>
!         <definition id="term-aspect-matching-fact" term="aspect-matching fact">
!           An <term>aspect-matching fact</term> for a derived fact is a fact in the assertion input used 
!           to produce the derived fact that has aspect values that 
!           <xtermref bibref="VARIABLES" idref="term-match">match</xtermref> those of the derived fact 
!           for all of its aspects and that have no additional aspects.  Aspect value matches are determined 
!           using the <xtermref bibref="VARIABLES" idref="term-aspect-test">aspect test</xtermref> for each
!           aspect of the relevant <xtermref bibref="VARIABLES" idref="term-aspect-model">aspect model</xtermref>.
          </definition>
        </p>
  
--- 225,235 ----
          </p>
  
        <p>
!         <definition id="term-aspect-matched-input-fact" term="aspect-matched input fact">
!           An <term>aspect-matched input fact</term> for a derived fact is a fact in the assertion input used 
!           to produce the derived fact that is 
!           <xtermref bibref="VARIABLES" idref="term-aspect-matched-fact">aspect matched</xtermref>
!           to the derived fact.
          </definition>
        </p>
  
***************
*** 242,248 ****
  
          <p>
            Consistency assertions are tested by comparing the values of derived facts
!           with the values of <termref ref="term-aspect-matching-fact">aspect-matching 
            facts</termref> in the assertion input for <termref ref="term-consistent">consistency</termref>.
          </p>
  
--- 240,246 ----
  
          <p>
            Consistency assertions are tested by comparing the values of derived facts
!           with the values of <termref ref="term-aspect-matched-input-fact">aspect-matching 
            facts</termref> in the assertion input for <termref ref="term-consistent">consistency</termref>.
          </p>
  
***************
*** 262,275 ****
          <p>
            If a consistency assertion is not strict then it <rfc2119>MUST NOT</rfc2119> be evaluated 
            for derived facts if they do not have
!           <termref ref="term-aspect-matching-fact">aspect-matching facts</termref>.
          </p>
  
          <p>
            If the consistency assertion is strict
            then the consistency assertion <rfc2119>MAY</rfc2119> be evaluated for derived facts even if
!           they do not have <termref ref="term-aspect-matching-fact">aspect-matching facts</termref>.
!           Such assertions can be used to test for both the presence of aspect matching facts as well as for
            consistency of their values.
          </p>
  
--- 260,273 ----
          <p>
            If a consistency assertion is not strict then it <rfc2119>MUST NOT</rfc2119> be evaluated 
            for derived facts if they do not have
!           <termref ref="term-aspect-matched-input-fact">aspect-matched input facts</termref>.
          </p>
  
          <p>
            If the consistency assertion is strict
            then the consistency assertion <rfc2119>MAY</rfc2119> be evaluated for derived facts even if
!           they do not have <termref ref="term-aspect-matched-input-fact">aspect-matched input facts</termref>.
!           Such assertions can be used to test for both the presence of aspect matched facts as well as for
            consistency of their values.
          </p>
  
***************
*** 350,356 ****
          </p>
  
          <p> where <val>#proportionalAcceptanceRadius</val> is the 
!           XPath expression at the <att>absoluteAcceptanceRadius</att> attribute. 
          </p>
  
          <p>
--- 348,354 ----
          </p>
  
          <p> where <val>#proportionalAcceptanceRadius</val> is the 
!           XPath expression in the <att>proportionalAcceptanceRadius</att> attribute. 
          </p>
  
          <p>
***************
*** 366,373 ****
              an atomic value equal to the numeric value of the derived fact; and
            </item>
            <item>
!             include <termref ref="term-consistency-assertion-parameter">assertion parameters</termref>
!             among the in-scope variables.
            </item>
          </ulist>
  
--- 364,371 ----
              an atomic value equal to the numeric value of the derived fact; and
            </item>
            <item>
!             include <termref ref="term-consistency-assertion-parameter">consistency-assertion parameters</termref>
!             and the variables in the variable set defined by the formula being evaluated among the in-scope variables.
            </item>
          </ulist>
  
***************
*** 428,434 ****
          </p>
  
          <section id="sec-syntax-ca-relationships">
!           <head>Fact consistency assertions relationships</head>
  
            <section id="sec-consistency-assertion-formula-relationships">
              <head>Consistency-assertion-formula relationships</head>
--- 426,432 ----
          </p>
  
          <section id="sec-syntax-ca-relationships">
!           <head>Consistency assertion relationships</head>
  
            <section id="sec-consistency-assertion-formula-relationships">
              <head>Consistency-assertion-formula relationships</head>
***************
*** 450,456 ****
  
              <ulist>
                <item>
!                 have an <xtermref bibref="XBRL" idref="_Toc156209129">arcrole value</xtermref>
                  equal to <val>http://xbrl.org/arcrole/2008/consistency-assertion-formula</val>
                </item>
                <item>
--- 448,454 ----
  
              <ulist>
                <item>
!                 have an <xtermref bibref="XBRL" idref="_3.5.3.9">arcrole value</xtermref>
                  equal to <val>http://xbrl.org/arcrole/2008/consistency-assertion-formula</val>
                </item>
                <item>
***************
*** 507,518 ****
  
            </section>
  
!           <section id="sec-ca-variable-set-relationships">
!             <head>Variable-set relationships for consistency assertions</head>
  
              <p>
!               <definition id="consistency-assertion-variable-set-relationship" term="consistency assertion variable-set relationship">
!                 A <term>consistency assertion variable-set relationship</term> 
                  is a relationship between a <termref ref="term-consistency-assertion">consistency assertion</termref>
                  and a <xtermref bibref="VARIABLES" idref="term-parameter">parameter</xtermref>
                  expressed by an <xtermref bibref="XLINK" idref="xlink-arcs">XLink arc</xtermref>.
--- 505,516 ----
  
            </section>
  
!           <section id="sec-consistency-assertion-parameter-relationships">
!             <head>Consistency-assertion-parameter relationships</head>
  
              <p>
!               <definition id="term-consistency-assertion-parameter-relationship" term="consistency-assertion-parameter relationship">
!                 A <term>consistency-assertion-parameter relationship</term> 
                  is a relationship between a <termref ref="term-consistency-assertion">consistency assertion</termref>
                  and a <xtermref bibref="VARIABLES" idref="term-parameter">parameter</xtermref>
                  expressed by an <xtermref bibref="XLINK" idref="xlink-arcs">XLink arc</xtermref>.
***************
*** 520,542 ****
              </p>
  
              <p>
                A consistency assertion <rfc2119>MAY</rfc2119> be related to
                <xtermref bibref="VARIABLES" idref="term-parameter">parameters</xtermref> 
!               by <xtermref bibref="VARIABLES" idref="term-variable-set-relationship">variable-set relationships</xtermref>.
              </p>
  
              <p>
                <error id="error-variables-not-allowed">
!                 Error code <errorcode code="factVariablesNotAllowed"/><nbsp/><rfc2119>MUST</rfc2119> 
!                 be thrown if a consistency assertion has a variable-set relationship to a fact variable or
!                 to a general variable.
                </error>
              </p>
  
              <p>
!               <definition id="term-consistency-assertion-parameter" term="consistency assertion parameter">
!                 A <term>consistency assertion parameter</term> is any 
!                 parameter that has a variable-set relationship to it from a consistency assertion.
                </definition>
                These parameters are part of the in-scope variables 
                of the evaluation
--- 518,591 ----
              </p>
  
              <p>
+               To declare a consistency-assertion-parameter relationship an XLink arc <rfc2119>MUST</rfc2119>:
+             </p>
+ 
+             <ulist>
+               <item>
+                 have an <xtermref bibref="XBRL" idref="_3.5.3.9">arcrole value</xtermref>
+                 equal to <val>http://xbrl.org/arcrole/2008/consistency-assertion-parameter</val>
+               </item>
+               <item>
+                 have a <termref ref="term-consistency-assertion">consistency-assertion</termref> at the 
+                 <xtermref bibref="XLINK" idref="dt-starting-resource">starting resource of the arc</xtermref>
+               </item>
+               <item>
+                 have a <xtermref bibref="VARIABLES" idref="term-parameter">parameter</xtermref> at the 
+                 <xtermref bibref="XLINK" idref="dt-ending-resource">ending resource of the arc</xtermref>
+               </item>
+             </ulist>
+ 
+             <p>
+               The arcrole value, 
+               <xmlref ref="consistency-assertion-parameter"><val>http://xbrl.org/arcrole/2008/consistency-assertion-parameter</val></xmlref>,
+               is declared in the normative schema for consistency assertions.
+             </p>
+ 
+             <p>
+               Consistency-assertion-parameter relationships <rfc2119>MUST</rfc2119>
+               be expressed by 
+               <xtermref bibref="VARIABLES" idref="term-variable-arc">variable arcs</xtermref>
+               as indicated by the restrictions imposed by the arcrole 
+               declaration in the normative schema.
+               Violations of this requirement will be 
+               detected by validation against the XBRL Specification
+               <bibref ref="XBRL"/>.
+             </p>
+ 
+             <p>
+               Just as for <xtermref bibref="VARIABLES" idref="term-variable-set-relationship">variable-set relationships</xtermref>
+               the value of the <att>name</att> attribute on a <xtermref bibref="VARIABLES" idref="term-variable-arc">variable arc</xtermref>  
+               is the QName of the parameter in the consistency-assertion-parameter relationship expressed by the arc. 
+               When computing the acceptance radius for a consistency assertion, XPath variable references with this QName are references to the parameter. 
+               Note that this parameter name MAY differ from the name given in the parameter declaration.
+             </p>
+             
+             <p>
+               All consistency-assertion parameters <rfc2119>MUST</rfc2119> be evaluated before the acceptance radius
+               of the consistency assertion is evaluated.
+             </p>
+ 
+             <p>
                A consistency assertion <rfc2119>MAY</rfc2119> be related to
                <xtermref bibref="VARIABLES" idref="term-parameter">parameters</xtermref> 
!               by <termref ref="term-consistency-assertion-parameter-relationship">consistency-assertion-parameter 
!               relationships</termref>.
              </p>
  
              <p>
                <error id="error-variables-not-allowed">
!                 Error code <errorcode code="variablesNotAllowed"/><nbsp/><rfc2119>MUST</rfc2119> 
!                 be thrown if a consistency assertion has a consistency-assertion-parameter 
!                 relationship to a fact variable or to a general variable.
                </error>
              </p>
  
              <p>
!               <definition id="term-consistency-assertion-parameter" term="consistency-assertion parameter">
!                 A <term>consistency-assertion parameter</term> is any 
!                 parameter that has a  consistency-assertion-parameter 
!                 relationship to it from a consistency assertion.
                </definition>
                These parameters are part of the in-scope variables 
                of the evaluation
***************
*** 566,581 ****
          be tested with. The <xtermref bibref="VALIDATION" idref="term-assertion-data-set">assertion 
          data set</xtermref> of a consistency assertion is the derived fact produced by an evaluation of a 
          consistency assertion formula plus all of the
!         <termref ref="term-aspect-matching-fact">aspect-matching facts</termref>        
          in the target XBRL instance that do not have nil values. Note that there may be no 
!         <termref ref="term-aspect-matching-fact">aspect-matching facts</termref>
          in the target XBRL instance that meet the conditions necessary 
          to be included in the data set defined by a derived fact.
        </p>
  
        <p>
!         One exception to this rule is that a derived fact does not define an assertion 
!         data set if:
        </p>
  
        <ulist>
--- 615,630 ----
          be tested with. The <xtermref bibref="VALIDATION" idref="term-assertion-data-set">assertion 
          data set</xtermref> of a consistency assertion is the derived fact produced by an evaluation of a 
          consistency assertion formula plus all of the
!         <termref ref="term-aspect-matched-input-fact">aspect-matched input facts</termref>        
          in the target XBRL instance that do not have nil values. Note that there may be no 
!         <termref ref="term-aspect-matched-input-fact">aspect-matched input facts</termref>
          in the target XBRL instance that meet the conditions necessary 
          to be included in the data set defined by a derived fact.
        </p>
  
        <p>
!         One exception to this rule is that a derived fact does not
!         define an assertion data set if:
        </p>
  
        <ulist>
***************
*** 583,589 ****
            the consistency assertion is not <termref ref="term-strict">strict</termref>; and
          </item>
          <item>
!           there are no aspect-matching facts for the derived fact.
          </item>
        </ulist>
  
--- 632,638 ----
            the consistency assertion is not <termref ref="term-strict">strict</termref>; and
          </item>
          <item>
!           there are no aspect-matched input facts for the derived fact.
          </item>
        </ulist>
  
***************
*** 608,619 ****
            <termref ref="term-acceptance-radius">acceptance radius</termref>; and
          </item>
          <item>
!           the implied precision of the derived fact or any of its aspect-matching facts is zero.
          </item>
        </ulist>
  
        <p>
!         If an assertion data set contains aspect-matching facts, then the derived fact
          <rfc2119>MUST</rfc2119> be consistent with all of them
          for the consistency assertion to be satisfied for that assertion data set. 
          Otherwise the consistency assertion is not satisfied for that assertion data set.
--- 657,674 ----
            <termref ref="term-acceptance-radius">acceptance radius</termref>; and
          </item>
          <item>
!           the implied precision of the derived fact or any of its aspect-matched input facts is zero.
          </item>
        </ulist>
  
        <p>
!         If a derived fact is not valid, based on the XBRL Specification <bibref ref="XBRL"/>, then 
!         the assertion is deemed to be not satisfied, regardless of the aspect-matched input facts 
!         in the assertion data set.
!       </p>
! 
!       <p>
!         If an assertion data set contains aspect-matched input facts, then the derived fact
          <rfc2119>MUST</rfc2119> be consistent with all of them
          for the consistency assertion to be satisfied for that assertion data set. 
          Otherwise the consistency assertion is not satisfied for that assertion data set.
***************
*** 639,645 ****
          and the <termref ref="term-acceptance-radius">acceptance radius</termref> is not defined,
          then they are only consistent if 
          the numeric values <val>A</val> and <val>B</val> are 
!         <xtermref bibref="XBRL" idref="_Toc156209172">x-equal</xtermref> where 
          <val>A</val> is obtained by rounding the value of the first fact to <val>N</val> significant figures and 
          <val>B</val> is obtained by rounding the value of the second fact to <val>N</val> significant figures 
          noting that <val>N</val> is the lower of the specified or inferred precision for the first fact 
--- 694,700 ----
          and the <termref ref="term-acceptance-radius">acceptance radius</termref> is not defined,
          then they are only consistent if 
          the numeric values <val>A</val> and <val>B</val> are 
!         <xtermref bibref="XBRL" idref="_4.10">x-equal</xtermref> where 
          <val>A</val> is obtained by rounding the value of the first fact to <val>N</val> significant figures and 
          <val>B</val> is obtained by rounding the value of the second fact to <val>N</val> significant figures 
          noting that <val>N</val> is the lower of the specified or inferred precision for the first fact 
***************
*** 676,682 ****
  
        <p>
          If none of these conditions for consistency are satisfied then the derived fact and the 
!         aspect-matching fact that it is being compared to are not consistent.
        </p>
  
        <example role="nonNormativeExample" id="example-consistent-values">
--- 731,737 ----
  
        <p>
          If none of these conditions for consistency are satisfied then the derived fact and the 
!         aspect-matched input fact that it is being compared to are not consistent.
        </p>
  
        <example role="nonNormativeExample" id="example-consistent-values">
***************
*** 685,691 ****
            <thead>
              <tr>
                <th colspan="2">Derived fact</th>
!               <th colspan="2">Aspect-matching fact</th>
                <th rowspan="2">Acceptance radius</th>
                <th rowspan="2">Assertion evaluation</th>
              </tr>
--- 740,746 ----
            <thead>
              <tr>
                <th colspan="2">Derived fact</th>
!               <th colspan="2">Aspect-matched input fact</th>
                <th rowspan="2">Acceptance radius</th>
                <th rowspan="2">Assertion evaluation</th>
              </tr>
***************
*** 774,780 ****
        </example>
  
        <p>
!         If an assertion data set does not contain any aspect-matching facts, then the derived fact
          <rfc2119>MUST</rfc2119> have a nil value if the consistency assertion
          is to be satisfied for that assertion data set.  Otherwise the consistency assertion is not
          satisfied for that assertion data set.
--- 829,835 ----
        </example>
  
        <p>
!         If an assertion data set does not contain any aspect-matched input facts, then the derived fact
          <rfc2119>MUST</rfc2119> have a nil value if the consistency assertion
          is to be satisfied for that assertion data set.  Otherwise the consistency assertion is not
          satisfied for that assertion data set.
***************
*** 787,793 ****
              <tr>
                <th><att>strict</att> attribute</th>
                <th>Derived fact</th>
!               <th>Aspect-matching facts</th>
                <th>Assertion evaluation</th>
              </tr>
            </thead>
--- 842,848 ----
              <tr>
                <th><att>strict</att> attribute</th>
                <th>Derived fact</th>
!               <th>Aspect-matched input facts</th>
                <th>Assertion evaluation</th>
              </tr>
            </thead>
***************
*** 1027,1036 ****
             Corrected reference to assertion input.
            </p>
            <p>
!             Included clarification of the scope of consistency assertion parameters.
            </p>
          </revision>
  
        </revisions>
  
      </section>
--- 1082,1167 ----
             Corrected reference to assertion input.
            </p>
            <p>
!             Included clarification of the scope of consistency-assertion parameters.
            </p>
          </revision>
  
+         <revision ref="person-geoff" day="09" month="04" year="2008">
+           <p>
+             Corrected the typo in the explanation of the XPath expression for
+             proportional acceptance radii.  This typo was identified  by 
+             <personref ref="person-muramoto"/>.
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="04" month="06" year="2008">
+           <p>
+             Removed the redundant word "considering" in the first part of the first example.
+           </p>
+           <p>
+             Renamed the factVariablesNotAllowed error code to variablesNotAllowed to reflect the fact
+             that both fact and general variables are not allowed to be the targets of relationships from
+             consistency assertions.
+           </p>
+           <p>
+             Defined a new relationship and syntax for expressing the relationship from consistency
+             assertions to their parameters.  This is required to eliminate erroneous references
+             to consistency assertions as variable sets.  It does not alter the capabilities of
+             the specification.  This problem was identified by <personref ref="person-victor"/>.
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="05" month="06" year="2008">
+           <p>
+             Removed the unnecessary word "Fact" from the section heading for the various relationships defined
+             in this specification.
+           </p>
+           <p>
+             Made hyphenation of the term "consistency-assertion parameter" consistent throughout the text of the
+             specification. 
+           </p>
+         </revision>
+ 
+        <revision ref="person-geoff" day="26" month="06" year="2008">
+           <p>
+             Added the variables in the variable-set of the formula being tested
+             to the context used for evaluation of acceptance radii.
+             This enhancement was suggested by <personref ref="person-victor"/>.
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="13" month="08" year="2008">
+           <p>
+             Removed un-necessary schema limitations on undirected cycles
+             in relationship networks.
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="26" month="09" year="2008">
+           <p>
+             Modified "aspect-matching fact" term to "aspect-matched input fact to leverage
+             a new definition in <bibref ref="VARIABLES"/>.
+           </p>
+           <p>
+             Made explicit the outcome of assertion testing when the
+             derived fact is not a valid XBRL fact. In such cases, the
+             assertion is deemed to be not satisfied.
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="26" month="09" year="2008">
+           <p>
+             Fixed the id on the definition of consistency-assertion-parameter relationships to
+             ensure internal links within the specification work.
+           </p>
+         </revision>        
+         
+         <revision ref="person-geoff" day="15" month="12" year="2008">
+           <p>
+             Updated references to the latest errata-corrected version of the XBRL 2.1 specification.
+           </p>
+         </revision>
+         
        </revisions>
  
      </section>
