*** previous/formula.xml	2008-09-28 14:59:48.000000000 +1000
--- current/formula.xml	2008-12-15 10:56:32.000000000 +1100
***************
*** 56,69 ****
          the rules for deriving new XBRL facts from  information obtained from XBRL
          instances.
        </p>
!       
        <p>
          The transformation rules expressed in a 
          <termref ref="term-formula">formula</termref> serve two purposes.
          First, they constitute additional documentation about the facts being
          reported in XBRL instances.
        </p>
!       
        <example role="nonNormativeExample" id="example-stock-flow">
          <caption>Formula as documentation of a stock-flow relationship</caption> 
          <p>
--- 56,69 ----
          the rules for deriving new XBRL facts from  information obtained from XBRL
          instances.
        </p>
! 
        <p>
          The transformation rules expressed in a 
          <termref ref="term-formula">formula</termref> serve two purposes.
          First, they constitute additional documentation about the facts being
          reported in XBRL instances.
        </p>
! 
        <example role="nonNormativeExample" id="example-stock-flow">
          <caption>Formula as documentation of a stock-flow relationship</caption> 
          <p>
***************
*** 112,118 ****
          of facts that span several XBRL instances, those instances will
          need to be merged prior to processing. Such merge operations
          can, in some circumstances, lead to problems in the
!         <xtermref bibref="XBRL" idref="_Toc156209104">discoverable taxonomy set</xtermref>
          supporting the combined XBRL instance. The resolution of these
          problems is outside the scope of this specification.
        </p>
--- 112,118 ----
          of facts that span several XBRL instances, those instances will
          need to be merged prior to processing. Such merge operations
          can, in some circumstances, lead to problems in the
!         <xtermref bibref="XBRL" idref="_3.2">discoverable taxonomy set</xtermref>
          supporting the combined XBRL instance. The resolution of these
          problems is outside the scope of this specification.
        </p>
***************
*** 157,163 ****
            capabilities of the XBRL Variables Specification
            <bibref ref="VARIABLES"/>. It extends the range of
            information that can be captured in 
!           <xtermref bibref="XBRL" idref="_Toc156209104">discoverable taxonomy sets</xtermref> 
            and provides a syntax for expressing 
            complex formulaic relationships in terms that relate
            to XBRL data structures. 
--- 157,163 ----
            capabilities of the XBRL Variables Specification
            <bibref ref="VARIABLES"/>. It extends the range of
            information that can be captured in 
!           <xtermref bibref="XBRL" idref="_3.2">discoverable taxonomy sets</xtermref> 
            and provides a syntax for expressing 
            complex formulaic relationships in terms that relate
            to XBRL data structures. 
***************
*** 327,333 ****
            <p>
              A formula expression is an XPath expression. When evaluated successfully, it 
              produces the value of a single 
!             <xtermref bibref="XBRL" idref="_Toc156209149">XBRL item</xtermref>.
            </p>
            
            <p>
--- 327,333 ----
            <p>
              A formula expression is an XPath expression. When evaluated successfully, it 
              produces the value of a single 
!             <xtermref bibref="XBRL" idref="_4.6">XBRL item</xtermref>.
            </p>
            
            <p>
***************
*** 526,532 ****
  
            </section><!-- Accuracy rules -->
  
!         </section>
  
          <section id="sec-aspect-rules">
            <head>Aspect rules</head>
--- 526,532 ----
  
            </section><!-- Accuracy rules -->
  
!         </section><!-- Value rules -->
  
          <section id="sec-aspect-rules">
            <head>Aspect rules</head>
***************
*** 548,554 ****
              context and the output units of measurement (for numeric 
              facts), are all different types of aspect rules.
            </p>
!           
            <p>
              The XBRL Variables Specification <bibref ref="VARIABLES"/> supports the definition of
              new aspects.  In line with the ability to extend the variable specification by 
--- 548,554 ----
              context and the output units of measurement (for numeric 
              facts), are all different types of aspect rules.
            </p>
! 
            <p>
              The XBRL Variables Specification <bibref ref="VARIABLES"/> supports the definition of
              new aspects.  In line with the ability to extend the variable specification by 
***************
*** 688,709 ****
              </p>
              
              <p>
-               <definition id="term-segment-sav" term="segment SAV">
-                 A <term>segment SAV</term> is a SAV that is reported by a 
-                 <xtermref bibref="XBRL" idref="_Toc156209164">segment</xtermref> 
-                 or by the absence of a segment.
-               </definition>
-             </p>
- 
-             <p>
-               <definition id="term-scenario-sav" term="scenario SAV">
-                 A <term>scenario SAV</term> is a SAV that is reported by a 
-                 <xtermref bibref="XBRL" idref="_Toc156209165">scenario</xtermref>
-                 or by the absence of a scenario.
-               </definition>
-             </p>
- 
-             <p>
                If an aspect rule specifies its RAV in terms of one or more SAVs, 
                then it <rfc2119>MUST</rfc2119> provide a means of identifying which
                SAVs to use.
--- 688,693 ----
***************
*** 795,800 ****
--- 779,787 ----
                  <xtermref bibref="VARIABLES" idref="term-uses-implicit-filtering">use 
                  implicit filtering</xtermref>.
                </error>
+             </p>
+ 
+             <p>
                This error prevents the uncovered QName from being used in formulae where
                there is no guarantee of matching aspect values across the variables that 
                could be used to determine the implied SAV.
***************
*** 853,858 ****
--- 840,852 ----
                </error>
              </p>
  
+             <p diff="add">
+                 Note that the source in a formula, referred to in the above errors, 
+                 can be defined by the <att>source</att>
+                 attribute on the <elt>formula:formula</elt> element itself or on any of
+                 its descendant elements.
+             </p>
+ 
              <p>
                A formula can contain more than one source.  However, an aspect rule
                or a component thereof, can only refer to its nearest source.
***************
*** 994,999 ****
--- 988,994 ----
                  as the <term>default fact variable</term>.
                </definition> 
              </p>
+ 
              <p>
                <definition id="term-default-fact" term="default fact variable">
                  The single fact in the sequence that the default fact
***************
*** 1263,1269 ****
                      <td>RAV is the SAV</td>
                      <td>
                        Output period is an instant with a date of <val>2006-12-31</val> and
!                       a time that is omitted or <val>00:00:00</val>.
                      </td>
                    </tr>
  
--- 1258,1265 ----
                      <td>RAV is the SAV</td>
                      <td>
                        Output period is an instant with a date of <val>2006-12-31</val> and
!                       a time that is omitted or an instant with a date of <val>2007-01-01</val> 
!                       and a time of <val>00:00:00</val>.
                      </td>
                    </tr>
  
***************
*** 1284,1854 ****
  
            </section> <!-- Period rules -->
  
!           <section id="sec-open-context-component-rules">
!             <head>Open context component rules</head>
!             
!             <p>
!               <definition id="term-open-context-component" term="open context component (OCC)">
!                 An <term>open context component (OCC)</term>, is a set of aspect values expressed
!                 by a <xtermref bibref="XBRL" idref="_Toc156209164">segment</xtermref> 
!                 or <xtermref bibref="XBRL" idref="_Toc156209165">scenario</xtermref>
!                 or by the absence of a segment or scenario.
!               </definition>
!             </p>
!             
!             <p>
!               <definition id="term-occ-aspect" term="OCC aspect">
!                 An <term>OCC aspect</term>, is an aspect with a value that is reported
!                 as part of an OCC.
!               </definition>
!             </p>
! 
!             <p>
!               All contexts have two OCCs: one corresponding to the
!               segment and one corresponding to the scenario. This is the
!               case, even if a context omits its segment or scenario.
!             </p>
!             
!             <p>
!               <definition id="term-segment-occ" term="segment OCC">
!                 A <term>segment OCC</term> is the OCC for a segment.
!               </definition>
!             </p>
! 
!             <p>
!               <definition id="term-scenario-occ" term="scenario OCC">
!                 A <term>scenario OCC</term> is the OCC for a scenario.
!               </definition>
!             </p>
! 
!             <p>
!               If the segment is omitted from a context then the context's
!               segment OCC is an empty sequence.  If a segment OCC is an 
!               empty sequence, then it <rfc2119>MUST</rfc2119> be represented
!               in a context by omitting the segment.
!             </p>
!             
!             <p>
!               If the scenario is omitted from a context then the context's
!               scenario OCC is an empty sequence.  If a scenario OCC is an 
!               empty sequence, then it <rfc2119>MUST</rfc2119> be represented
!               in a context by omitting the scenario.
!             </p>
! 
!             <p>
!               The aspects that can be given values in an OCC depend upon the 
!               <xtermref bibref="VARIABLES" idref="term-aspect-model">aspect model</xtermref>
!               that is being used to interpret the content of segments and scenarios.
!             </p>
!             
!             <p>
!               If a variable set uses the 
!               <xtermref bibref="VARIABLES" idref="term-dimensional-aspect-model">dimensional aspect model</xtermref>
!               then its segment OCC can only include values for 
!               <xtermref bibref="VARIABLES" idref="term-segment-dimension-aspect">segment dimension aspects</xtermref> and 
!               <xtermref bibref="VARIABLES" idref="term-nonxdt-segment-aspect">non-XDT segment aspects</xtermref>.
!             </p>
!             
!             <p>
!               Likewise, its scenario OCC can only include values for 
!               <xtermref bibref="VARIABLES" idref="term-scenario-dimension-aspect">scenario dimension aspects</xtermref> and 
!               <xtermref bibref="VARIABLES" idref="term-nonxdt-scenario-aspect">non-XDT scenario aspects</xtermref>.
!             </p>
! 
!             <p>
!               If a variable set uses the 
!               <xtermref bibref="VARIABLES" idref="term-dimensional-aspect-model">non-dimensional aspect model</xtermref>
!               then its segment OCC can only include values for 
!               <xtermref bibref="VARIABLES" idref="term-complete-segment-aspect">complete segment aspects</xtermref>.
!             </p>
!             
!             <p>
!               Likewise, its scenario OCC can only include values for 
!               <xtermref bibref="VARIABLES" idref="term-complete-scenario-aspect">complete scenario aspects</xtermref>.
!             </p>
! 
!             <p>
!               If a variable set uses some other aspect model, that other aspect model 
!               will specify the aspects that can be in segment OCCs and scenario OCCs.
!             </p>
! 
!             <p>
!               <definition id="term-output-occ" term="output OCC">
!                 An <term>output OCC</term>, is an OCC of the 
!                 <termref ref="term-output-fact">output fact</termref>.
!               </definition>
!             </p>
  
              <p>
!               <definition id="term-occ-rule" term="OCC rule">
!                 An <term>OCC rule</term>, is an aspect rule that 
!                 addresses an aspect with a value in an OCC and that
!                 is in the 
!                 <xtermref bibref="XMLSCHEMA-STRUCTURES" idref="key-equivalenceClass">substitution group</xtermref> 
!                 for the 
!                 <xmlref ref="xml-abstract-occ-aspect"><elt>formula:abstract.occ.aspect</elt></xmlref> element.
                </definition>
              </p>
  
              <p>
!               If the <att>occ</att> attribute on an OCC rule equals
!               <val>segment</val> then that OCC rule determines the output
!               value of an aspect that is reported in a segment.
              </p>
  
!             <p>
!               <definition id="term-segment-rule" term="segment rule">
!                 A <term>segment rule</term> is an OCC rule 
!                 with an <att>occ</att> attribute equal to <val>segment</val>.
!               </definition>
!             </p>
  
!             <p>
!               If the <att>occ</att> attribute on an OCC rule equals
!               <val>scenario</val> then that OCC rule determines the output
!               value of an aspect that is reported in a scenario.
!             </p>
!             
!             <p>
!               <definition id="term-scenario-rule" term="scenario rule">
!                 A <term>scenario rule</term> is an OCC rule 
!                 with an <att>occ</att> attribute equal to <val>scenario</val>.
!               </definition>
!             </p>
!  
!             <p>
!               A formula <rfc2119>MAY</rfc2119> contain more than one segment rule and more than
!               one scenario rule.  
!             </p>
!               
!             <p>
!               <definition id="term-segment-occ-aspect-rule-set" term="scenario OCC aspect rule set">
!                 The OCC aspect rules that are segment rules form a set of OCC aspect rules 
!                 that are evaluated together to determine output segment OCCs.  Such a set is a 
!                 <term>segment OCC aspect rule set</term>.               
!               </definition>
!             </p>
  
!             <p>
!               Aspect rules in a segment OCC aspect rule set address the
!               set of aspects that are given values in the output segment OCC
!               that is constructed by applying them.
!             </p>
                
!             <p>
!               <definition id="term-scenario-occ-aspect-rule-set" term="scenario OCC aspect rule set">
!                 The OCC aspect rules that are scenario rules form a set of OCC aspect rules 
!                 that are evaluated together to determine output scenario OCCs.  Such a set is a 
!                 <term>scenario OCC aspect rule set</term>.
!               </definition>
!             </p>
                
-             <p>
-               Aspect rules in a scenario OCC aspect rule set address the
-               set of aspects that are given values in the output scenario OCC
-               that is constructed by applying them.
-             </p>              
-             
-             <p>
-               The aspect rules in a segment or scenario aspect rule set
-               <rfc2119>MUST</rfc2119> be processed in document order.
-             </p>
- 
-             <p>
-               <definition id="term-original-occ" term="original OCC">
-                 An <term>original OCC</term> is the OCC that is modified by
-                 application of an OCC aspect rule.
-               </definition>
-             </p>
-             
-             <p>              
-               <definition id="term-subsequent-occ" term="subsequent OCC">
-                 The <term>subsequent OCC</term> is the OCC resulting from
-                 applying an OCC aspect rule to an original OCC.
-               </definition>
-             </p>
- 
-             <p>
-               The subsequent OCC for an OCC aspect rule is the
-               original OCC for the OCC aspect rule that is processed
-               next.
-             </p>
-             
-             <p>
-               The RAVs specified by a segment or scenario aspect rule
-               set are those aspect values in the subsequent OCC for the
-               last OCC aspect rule processed in a segment or scenario
-               OCC aspect rule set.
-             </p>
- 
-             <p>
-               If the first OCC fragment or XPath rule to be processed 
-               contains an <att>augment</att> 
-               attribute with a value of <val>false</val>,
-               then the original OCC is the empty set of aspect values.
-             </p>
-             
-             <p>
-               <error id="error-innappropriate-augment-attribute">
-                 Error code <errorcode code="innappropriateAugmentAttribute"/><nbsp/>
-                 <rfc2119>MUST</rfc2119> be thrown if an OCC fragment or XPath rule
-                 is not the first OCC fragment or XPath rule to be processed and has
-                 an <att>augment</att> attribute.
-               </error>
-             </p>
- 
-             <p>
-               If the <att>augment</att> attribute equals <val>true</val> or 
-               is omitted on the first OCC aspect rule in a segment OCC aspect rule set to be 
-               processed, then the original OCC contains the set of segment SAVs.  
-               If a source is not defined, then the original OCC is the empty set.
-             </p>
-             
-             <p>
-               If the <att>augment</att> attribute equals <val>true</val>  or 
-               is omitted on the first OCC aspect rule in a scenario OCC aspect rule set to be 
-               processed, then the original OCC contains the set of scenario SAVs.  
-               If a source is not defined, then the original OCC is the empty set.
-             </p>
- 		
-             <p>
-               The following sub-sections define the syntax and semantics
-               for three OCC aspect rules.  Extension specifications 
-               <rfc2119>MAY</rfc2119> define other OCC aspect rules.
-             </p>
-                         
-             <section id="sec-occ-fragment-rules">
-               <head>OCC fragment rules</head>
- 
                <p>
!                 <definition id="term-occ-fragment-rule" term="OCC fragments rule">
!                   An <term>OCC fragment rule</term> is an OCC aspect rule that is
!                   expressed by the 
!                   <xmlref ref="xml-occ-fragments"><elt>formula:occFragments</elt></xmlref> element.
!                 </definition>
                </p>
! 
                <p>
!                 An OCC fragment rule extends an original OCC by appending its child elements (and their 
!                 descendants, if any) to obtain a subsequent OCC.
                </p>
! 
!               <example role="nonNormativeExample" id="example-occ-fragment-and-xpath-rules">
!                 <caption>OCC fragment rules</caption>
                  <table>
                    <thead>
                      <tr>
!                       <th>Original OCC</th>
!                       <th>Child elements of the OCC fragment rule</th>
!                       <th>
!                         Subsequent OCC<footnote>The subsequent OCCs presume that
!                         the first OCC rule in each OCC rule set has the <att>augment</att>
!                         attribute equal to <val>true</val>.</footnote>
!                       </th>
                      </tr>
                    </thead>
                    <tbody xmlns:eg="http://example.com/" xmlns:xbrldi="http://xbrl.org/2006/xbrldi">
! 
!                     <tr>
!                       <td>
!                       </td>
!                       <td>
!                         <verbatim>
!                           <eg:budget/>
!                         </verbatim>
!                       </td>
!                       <td>
!                         <verbatim>
!                           <eg:budget/>
!                         </verbatim>
!                       </td>
!                     </tr>
! 
!                     <tr>
!                       <td>
!                         <verbatim>
!                           <eg:confidential/>
!                         </verbatim>
!                       </td>
!                       <td>
!                         <verbatim>
!                           <eg:audited/>
!                         </verbatim>
!                       </td>
!                       <td>
!                         <verbatim>
!                           <eg:confidential/>
!                           <eg:audited/>
!                         </verbatim>
!                       </td>
!                     </tr>
! 
! 
                      <tr>
                        <td>
!                         <verbatim>
!                           <xbrldi:typedMember dimension="eg:dCustomer">
!                             <eg:cust>12345</eg:cust>
!                           </xbrldi:typedMember>
!                         </verbatim>
!                       </td>
!                       <td>
!                         <verbatim>
!                           <xbrldi:explicitMember dimension="eg:ProductDim">eg:Cars</xbrldi:explicitMember>
                          </verbatim>
                        </td>
                        <td>
!                         <verbatim>
!                           <xbrldi:typedMember dimension="eg:dCustomer">
!                             <eg:cust>12345</eg:cust>
!                           </xbrldi:typedMember>
!                           <xbrldi:explicitMember dimension="eg:ProductDim">eg:Cars</xbrldi:explicitMember>
!                         </verbatim>
                        </td>
                      </tr>
! 
                      <tr>
                        <td>
!                       </td>
!                       <td>
!                         <verbatim>
!                           <xbrldi:explicitMember dimension="eg:ProductDim">eg:Cars</xbrldi:explicitMember>
                          </verbatim>
                        </td>
                        <td>
!                         <verbatim>
!                           <xbrldi:explicitMember dimension="eg:ProductDim">eg:Cars</xbrldi:explicitMember>
!                         </verbatim>
                        </td>
                      </tr>
! 
                      <tr>
                        <td>
!                         <verbatim>
!                           <eg:audited/>
!                         </verbatim>
!                       </td>
!                       <td>
!                         <verbatim>
!                           <xbrldi:explicitMember dimension="eg:ProductDim">eg:Cars</xbrldi:explicitMember>
                          </verbatim>
                        </td>
                        <td>
!                         <verbatim>
!                           <eg:audited/>
!                           <xbrldi:explicitMember dimension="eg:ProductDim">eg:Cars</xbrldi:explicitMember>
!                         </verbatim>
                        </td>
                      </tr>
!                     
                    </tbody>
                  </table>
!               </example>  
! 
  
!             </section>
  
!             <section id="sec-occ-xpath-rules">
!               <head>OCC XPath rules</head>
  
                <p>
!                 <definition id="term-occ-xpath-rule" term="OCC XPath rule">
!                   An <term>OCC XPath rule</term> is an OCC aspect rule that is
!                   expressed by the 
!                   <xmlref ref="xml-occ-xpath"><elt>formula:occXPath</elt></xmlref> element.
                  </definition>
                </p>
! 
                <p>
!                 An OCC XPath rule contains an XPath expression in its 
!                 <att>select</att> attribute that, when evaluated, 
!                 <rfc2119>MUST</rfc2119> yield  a sequence of element 
!                 nodes.  These element nodes (and their 
!                 descendants, if any) are appended to an 
!                 original OCC to obtain a subsequent OCC.
                </p>
!               
                <p>
!                 The context item for evaluation of the XPath expression contained
!                 by an OCC XPath rule is the <elt>xbrli:xbrl</elt> element of
!                 the target XBRL instance.
                </p>
! 
!             </section>
! 
!             <section id="sec-occ-dimension-rules">
!               <head>OCC dimension rules</head>
! 
                <p>
!                 <definition id="term-occ-dimension-rule" term="OCC dimension rule">
!                   An <term>OCC dimension rule</term> is an OCC aspect rule that is 
!                   expressed by the
!                   <xmlref ref="xml-occ-dimension"><elt>formula:occDimension</elt></xmlref> element.
!                 </definition>
                </p>
  
                <p>
!                 OCC dimension rules specify RAVs for 
!                 <xtermref bibref="VARIABLES" idref="term-segment-dimension-aspect">segment dimension aspects</xtermref>
!                 or
!                 <xtermref bibref="VARIABLES" idref="term-scenario-dimension-aspect">scenario dimension aspects</xtermref>.
                </p>
! 
                <p>
!                 OCC dimension rules specify a segment or scenario dimension aspect value 
!                 explicitly, or by reference to a <termref ref="term-sav">SAV</termref>.
                </p>
  
                <p>
!                 The <xtermref bibref="DIMENSIONS" idref="_2.5.3">dimension</xtermref>,
!                 affected by an OCC dimension rule is specified by the QName in the 
!                 <att>dimension</att> attribute on the OCC dimension rule.
                </p>
  
                <p>
!                 If an OCC dimension rule contains no child elements,
!                 then the OCC dimension rule specifies that the subsequent OCC 
!                 <rfc2119>MUST</rfc2119> include a dimension aspect value for
!                 the dimension identified by the OCC dimension rule.  It also
!                 specifies that the value for that dimension aspect <rfc2119>MUST</rfc2119>
!                 be the SAV for that dimension aspect.
                </p>
!               
                <p>
!                 <error id="error-missing-sav-for-dimension-rule">
!                   Error code <errorcode code="missingSAVForDimensionRule"/>
!                   <rfc2119>MUST</rfc2119> be thrown if an OCC dimension rule
!                   does not have any child elements and does not have a SAV for
!                   the dimension that it identifies with its <att>dimension</att> 
!                   attribute.
!                 </error>
                </p>
!               
                <p>
!                 If an OCC dimension rule contains a <elt>formula:member</elt> element, that 
!                 element identifies the QName of the domain member that is to be the RAV. 
!                 If the <elt>formula:member</elt> element contains a child <elt>formula:qname</elt> element,
!                 then the QName of the domain member is the value of the <elt>formula:qname</elt> element.
!                 If the <elt>formula:member</elt> element contains a child <elt>formula:qnameExpression</elt> element
!                 then the QName of the domain member is the QName obtained by evaluating its content as an XPath expression
!                 using the <elt>xbrli:xbrl</elt> element of the target XBRL instance as the context item.
                </p>
  
                <p>
!                 If an OCC dimension rule contains a <elt>formula:member</elt> element, then
!                 the subsequent OCC for the dimension OCC aspect rule <rfc2119>MUST</rfc2119> 
!                 include a dimension aspect value for the specified dimension with the 
!                 value specified by the <elt>formula:member</elt> element.
                </p>
!               
                <p>
!                 If an OCC dimension rule contains a <elt>formula:omit</elt> 
!                 element then the dimension identified 
!                 by the dimension OCC aspect rule <rfc2119>MUST NOT</rfc2119> 
!                 have a value in the subsequent OCC for the OCC dimension rule.
                </p>
  
                <p>
!                 If the original OCC has a value for a dimension 
!                 named by an OCC dimension rule, then that value <rfc2119>MUST</rfc2119>
!                 be overwritten, as necessary, to satisfy the requirements imposed by the 
!                 OCC dimension rule.
                </p>
  
!               <example role="nonNormativeExample" id="example-occ-dimension-rules">
!                 <caption>OCC Dimension rules</caption>
                  <table>
                    <thead>
                      <tr>
!                       <th>Original OCC</th>
!                       <th>OCC Dimension rule</th>
!                       <th>Subsequent OCC</th>
                      </tr>
                    </thead>
                    <tbody xmlns:eg="http://example.com/" xmlns:xbrldi="http://xbrl.org/2006/xbrldi">
! 
                      <tr>
                        <td>
!                         <verbatim>
!                           <xbrldi:typedMember dimension="eg:dCustomer">
!                             <eg:cust>12345</eg:cust>
!                           </xbrldi:typedMember>
                          </verbatim>
                        </td>
                        <td>
!                         Add explicit dimension <val>eg:ProductDim</val> 
!                         with value <val>eg:Cars</val>:
                          <verbatim xmlns:formula="http://xbrl.org/2008/formula">
!                           <formula:occDimension dimension="eg:ProductDim">
!                             <formula:member>eg:Cars</formula:member>
!                           </formula:occDimension>
                          </verbatim>
                        </td>
                        <td>
!                         <verbatim>
!                           <xbrldi:typedMember dimension="eg:dCustomer">
!                             <eg:cust>12345</eg:cust>
!                           </xbrldi:typedMember>
!                           <xbrldi:explicitMember dimension="eg:ProductDim">eg:Cars</xbrldi:explicitMember>
                          </verbatim>
                        </td>
                      </tr>
  
                      <tr>
                        <td>
-                         <verbatim>
-                           <xbrldi:typedMember dimension="eg:dCustomer">
-                             <eg:cust>12345</eg:cust>
-                           </xbrldi:typedMember>
-                         </verbatim>
                        </td>
                        <td>
!                         Add segment dimension <val>eg:ProductDim</val> with value of that segment aspect
!                         for the fact that variable <var>eg:factVariableA</var> has evaluated to:
!                         <verbatim xmlns:formula="http://xbrl.org/2008/formula">
!                           <formula:occXpath dimension="eg:ProductDim" select="xfi:fact-explicit-segment-dimension-value($eg:factVariableA)"/>
                          </verbatim>
                        </td>
                        <td>
                          <verbatim>
!                           <xbrldi:typedMember dimension="eg:dCustomer">
!                             <eg:cust>12345</eg:cust>
!                           </xbrldi:typedMember>
!                           <xbrldi:explicitMember dimension="eg:ProductDim">eg:Cars</xbrldi:explicitMember>
                          </verbatim>
-                         This presumes that fact variable <var>eg:factVariableA</var> evaluated to a fact with
-                         a value of <val>eg:Cars</val> for dimension <val>eg:ProductDim</val>.
                        </td>
                      </tr>
! 
                      <tr>
                        <td>
                          <verbatim>
!                           <xbrldi:typedMember dimension="eg:dCustomer">
!                             <eg:cust>12345</eg:cust>
!                           </xbrldi:typedMember>
                          </verbatim>
                        </td>
                        <td>
!                         Omit dimension <val>eg:dCustomer</val>
!                         <verbatim xmlns:formula="http://xbrl.org/2008/formula">
!                           <formula:occDimension dimension="eg:dCustomer">
!                             <formula:omit/>
!                           </formula:occDimension>
                          </verbatim>
                        </td>
                        <td>
                        </td>
                      </tr>
- 
                    </tbody>
                  </table>
!               </example>
  
!             </section><!-- OCC dimension rules -->
!             
!           </section><!-- OCC rules -->
  
            <section id="sec-unit-rules">
              <head>Unit rules</head>
    
--- 1280,1854 ----
  
            </section> <!-- Period rules -->
  
!           <section id="sec-dimension-rules">
!             <head>Dimension rules</head>
  
              <p>
!               <definition id="term-dimension-rule" term="dimension rule">
!                 A <term>dimension rule</term> is an <termref ref="term-aspect-rule">aspect rule</termref> 
!                 that is either an <termref ref="term-explicit-dimension-rule">explicit dimension rule</termref>
!                 or a <termref ref="term-typed-dimension-rule">typed dimension rule</termref>.
                </definition>
              </p>
  
              <p>
!               Explicit dimension rules and typed dimension rules are defined in 
!               <sectionref ref="sec-explicit-dimension-rules"/> and 
!               <sectionref ref="sec-typed-dimension-rules"/> respectively.
              </p>
  
!             <section id="sec-explicit-dimension-rules">
!               <head>Explicit dimension rules</head>
  
!               <p>
!                 <definition id="term-explicit-dimension-rule" term="explicit dimension rule">
!                   An <term>explicit dimension rule</term> is an <termref ref="term-aspect-rule">aspect rule</termref> 
!                   for an explicit <xtermref bibref="VARIABLES" idref="term-dimension-aspect">dimension aspect</xtermref>
!                   that is expressed by the
!                   <xmlref ref="xml-explicit-dimension"><elt>formula:explicitDimension</elt></xmlref> element.
!                 </definition>
!               </p>
!   
!               <p>
!                 Explicit dimension rules specify RAVs for explicit  
!                 <xtermref bibref="VARIABLES" idref="term-segment-dimension-aspect">dimension aspects</xtermref>.
!               </p>
!   
!               <p>
!                 Explicit dimension rules specify a RAV either explicitly, 
!                 or by reference to a <termref ref="term-sav">SAV</termref>.
!               </p>
!   
!               <p>
!                 The <xtermref bibref="DIMENSIONS" idref="_2.5.3">dimension</xtermref>,
!                 affected by an explicit dimension rule is specified by the QName in the 
!                 <att>dimension</att> attribute on the dimension rule.
!               </p>
  
!               <p>
!                 <error id="error-bad-usage-of-explicit-dimension-rule">
!                   Error code <errorcode code="badUsageOfExplicitDimensionRule"/>
!                   <rfc2119>MUST</rfc2119> be thrown if the
!                   <att>dimension</att> attribute on the dimension rule
!                   contains a QName that does not identify an explicit dimension.
!                 </error>
!               </p>
!   
!               <p>
!                 If an explicit dimension rule contains no child elements,
!                 then the explicit dimension rule specifies that the output fact 
!                 <rfc2119>MUST</rfc2119> include an dimension aspect value for
!                 the dimension identified by the explicit dimension rule.  It also
!                 specifies that the value for that dimension aspect <rfc2119>MUST</rfc2119>
!                 be the SAV for that dimension aspect.
!               </p>
                
!               <p>
!                 <error id="error-missing-sav-for-explicit-dimension-rule">
!                   Error code <errorcode code="missingSAVForExplicitDimensionRule"/>
!                   <rfc2119>MUST</rfc2119> be thrown if an explicit dimension rule
!                   does not have any child elements and does not have a SAV for
!                   the dimension that identified by its <att>dimension</att> 
!                   attribute.
!                 </error>
!               </p>
                
                <p>
!                 If an explicit dimension rule contains a <elt>formula:member</elt> element, then that 
!                 element identifies the QName of the domain member that is to be the RAV. 
!                 If the <elt>formula:member</elt> element contains a child <elt>formula:qname</elt> element,
!                 then the QName of the domain member is the value of the <elt>formula:qname</elt> element.
!                 If the <elt>formula:member</elt> element contains a child <elt>formula:qnameExpression</elt> element
!                 then the QName of the domain member is the QName obtained by evaluating its content as an XPath 
!                 expression using the <elt>xbrli:xbrl</elt> element of the target XBRL instance as the context item.
                </p>
!   
!               <p>
!                 If an explicit dimension rule contains a <elt>formula:member</elt> element, then
!                 the output fact <rfc2119>MUST</rfc2119> 
!                 include a dimension aspect value for the specified dimension with the 
!                 value specified by the <elt>formula:member</elt> element.
!               </p>
!   
                <p>
!                 If an explicit dimension rule contains a <elt>formula:omit</elt> 
!                 element then the dimension identified 
!                 by the explicit dimension rule <rfc2119>MUST NOT</rfc2119> 
!                 have a value for the output fact.
                </p>
!   
!               <example role="nonNormativeExample" id="example-explicit-dimension-rules">
!                 <caption>Explicit dimension rules</caption>
                  <table>
                    <thead>
                      <tr>
!                       <th>Explicit dimension rule</th>
!                       <th>Explanation</th>
                      </tr>
                    </thead>
                    <tbody xmlns:eg="http://example.com/" xmlns:xbrldi="http://xbrl.org/2006/xbrldi">
!   
                      <tr>
                        <td>
!                         <verbatim xmlns:formula="http://xbrl.org/2008/formula">
!                           <formula:explicitDimension dimension="eg:ProductDim">
!                             <formula:member>
!                               <formula:qname>eg:Cars</formula:qname>
!                             </formula:member>
!                           </formula:explicitDimension>
                          </verbatim>
                        </td>
                        <td>
!                         Add explicit dimension <val>eg:ProductDim</val> 
!                         with value <val>eg:Cars</val>.
                        </td>
                      </tr>
!   
                      <tr>
                        <td>
!                         <verbatim xmlns:formula="http://xbrl.org/2008/formula">
!                           <formula:explicitDimension dimension="eg:ProductDim"/>
                          </verbatim>
                        </td>
                        <td>
!                         Add dimension <val>eg:ProductDim</val> with value of that dimension 
!                         given by the SAV.
                        </td>
                      </tr>
!   
                      <tr>
                        <td>
!                         <verbatim xmlns:formula="http://xbrl.org/2008/formula">
!                           <formula:explicitDimension dimension="eg:dCustomer">
!                             <formula:omit/>
!                           </formula:explicitDimension>
                          </verbatim>
                        </td>
                        <td>
!                         Do not report a value for the <val>eg:dCustomer</val> 
!                         dimension for the output fact.
                        </td>
                      </tr>
!   
                    </tbody>
                  </table>
!               </example>
  
!             </section><!-- Explicit dimension rules -->
  
!             <section id="sec-typed-dimension-rules">
!               <head>Typed dimension rules</head>
  
                <p>
!                 <definition id="term-typed-dimension-rule" term="typed dimension rule">
!                   A <term>typed dimension rule</term> is an <termref ref="term-aspect-rule">aspect rule</termref> 
!                   for a typed <xtermref bibref="VARIABLES" idref="term-dimension-aspect">dimension aspect</xtermref>
!                   that is expressed by the
!                   <xmlref ref="xml-typed-dimension"><elt>formula:typedDimension</elt></xmlref> element.
                  </definition>
                </p>
!   
                <p>
!                 Typed dimension rules specify RAVs for typed  
!                 <xtermref bibref="VARIABLES" idref="term-segment-dimension-aspect">dimension aspects</xtermref>.
                </p>
!   
                <p>
!                 Typed dimension rules specify a RAV either explicitly, 
!                 or by reference to a <termref ref="term-sav">SAV</termref>.
                </p>
!   
                <p>
!                 The <xtermref bibref="DIMENSIONS" idref="_2.5.3">dimension</xtermref>,
!                 affected by a typed dimension rule is specified by the QName in the 
!                 <att>dimension</att> attribute on the dimension rule.
                </p>
  
                <p>
!                 <error id="error-bad-usage-of-typed-dimension-rule">
!                   Error code <errorcode code="badUsageOfTypedDimensionRule"/>
!                   <rfc2119>MUST</rfc2119> be thrown if the
!                   <att>dimension</att> attribute on the dimension rule
!                   contains a QName that does not identify a typed dimension.
!                 </error>
                </p>
!   
                <p>
!                 If a typed dimension rule contains no child elements,
!                 then the typed dimension rule specifies that the output fact 
!                 <rfc2119>MUST</rfc2119> include an dimension aspect value for
!                 the dimension identified by the typed dimension rule.  It also
!                 specifies that the value for that dimension aspect <rfc2119>MUST</rfc2119>
!                 be the SAV for that dimension aspect.
                </p>
  
                <p>
!                 <error id="error-missing-sav-for-typed-dimension-rule">
!                   Error code <errorcode code="missingSAVForTypedDimensionRule"/>
!                   <rfc2119>MUST</rfc2119> be thrown if a typed dimension rule
!                   does not have any child elements and does not have a SAV for
!                   the dimension that identified by its <att>dimension</att> 
!                   attribute.
!                 </error>
                </p>
  
                <p>
!                 If a typed dimension rule has a child element, it will be one of three different children:
!                 a <elt>formula:xpath</elt> element, a <elt>formula:value</elt> element or a 
!                 <elt>formula:omit</elt> element. 
                </p>
! 
                <p>
!                 If an typed dimension rule contains a <elt>formula:xpath</elt> 
!                 element then that element contains an XPath expression that, when evaluated, 
!                 <rfc2119>MUST</rfc2119> yield  a sequence containing a single element 
!                 node.  This element node (and its descendants, if any) are the content
!                 of the root element of the typed dimension value for the output fact.
                </p>
! 
                <p>
!                 The context item for evaluation of the XPath expression contained
!                 by the typed dimension rule is the <elt>xbrli:xbrl</elt> element of
!                 the target XBRL instance.
                </p>
  
                <p>
!                 <error id="error-wrong-xpath-result-for-typed-dimension-rule">
!                   Error code <errorcode code="wrongXpathResultForTypedDimensionRule"/>
!                   <rfc2119>MUST</rfc2119> be thrown if the result of evaluating the
!                   XPath expression in a typed dimension rule is not a sequence 
!                   containing a single element node.
!                 </error>
                </p>
! 
                <p>
!                 If an typed dimension rule contains a <elt>formula:value</elt> 
!                 element then that element has a single child element.  
!                 That child element must be <xtermref bibref="DIMENSIONS" idref="_3.2">s-equal2</xtermref> 
!                 to the child element of the typed dimension value for the output fact.
                </p>
  
                <p>
!                 If an typed dimension rule contains a <elt>formula:omit</elt>
!                 element then the dimension identified 
!                 by the typed dimension rule <rfc2119>MUST NOT</rfc2119> 
!                 have a value for the output fact.
                </p>
  
!               <example role="nonNormativeExample" id="example-typed-dimension-rules">
!                 <caption>Typed dimension rules</caption>
                  <table>
                    <thead>
                      <tr>
!                       <th>Typed dimension rule</th>
!                       <th>Explanation</th>
                      </tr>
                    </thead>
                    <tbody xmlns:eg="http://example.com/" xmlns:xbrldi="http://xbrl.org/2006/xbrldi">
!   
                      <tr>
                        <td>
!                         <verbatim xmlns:formula="http://xbrl.org/2008/formula">
!                           <formula:typedDimension dimension="eg:statusDim">
!                             <formula:value>
!                               <audited/>
!                             </formula:value>
!                           </formula:typedDimension>
                          </verbatim>
                        </td>
                        <td>
!                         Add typed dimension value for dimension <val>eg:statusDim</val> 
!                         with content <val><verbatim><audited/></verbatim></val>.
!                       </td>
!                     </tr>
!   
!                     <tr>
!                       <td>
                          <verbatim xmlns:formula="http://xbrl.org/2008/formula">
!                           <formula:typedDimension dimension="eg:statusDim"/>
                          </verbatim>
                        </td>
                        <td>
!                         Add dimension <val>eg:statusDim</val> with a value  
!                         given by the SAV.
!                       </td>
!                     </tr>
!   
!                     <tr>
!                       <td>
!                         <verbatim xmlns:formula="http://xbrl.org/2008/formula">
!                           <formula:typedDimension dimension="eg:statusDim">
!                             <formula:omit/>
!                           </formula:typedDimension>
                          </verbatim>
                        </td>
+                       <td>
+                         Do not report a value for the <val>eg:statusDim</val> 
+                         dimension for the output fact.
+                       </td>
                      </tr>
+   
+                   </tbody>
+                 </table>
+               </example>
+ 
+             </section><!-- Typed dimension rules -->
+ 
+           </section><!-- Dimension rules -->
  
+           <section id="sec-occ-rules">
+             <head>Open context component rules</head>
+   
+             <p>
+               <definition id="term-occ-rule" term="OCC rule">
+                 An <term>OCC rule</term>, is an aspect rule that addresses an 
+                 <xtermref bibref="VARIABLES" idref="term-occ-aspect">OCC aspect</xtermref> 
+                 and that is in the 
+                 <xtermref bibref="XMLSCHEMA-STRUCTURES" idref="key-equivalenceClass">substitution group</xtermref> 
+                 for the 
+                 <xmlref ref="xml-abstract-occ-aspect"><elt>formula:abstract.occ.aspect</elt></xmlref> element.
+               </definition>
+             </p>
+   
+             <p>
+               <definition id="term-output-occ" term="output OCC">
+                 An <term>output OCC</term>, is the value of an OCC for the 
+                 <termref ref="term-output-fact">output fact</termref>.
+               </definition>
+             </p>
+   
+             <p>
+               <definition id="term-segment-occ-rule" term="segment OCC rule">
+                 A <term>segment OCC rule</term> is an OCC rule 
+                 with an <att>occ</att> attribute equal to <val>segment</val>.
+               </definition>
+             </p>
+   
+             
+             <p>
+               <definition id="term-scenario-occ-rule" term="scenario OCC rule">
+                 A <term>scenario OCC rule</term> is an OCC rule 
+                 with an <att>occ</att> attribute equal to <val>scenario</val>.
+               </definition>
+             </p>
+   
+             <p>
+               A formula <rfc2119>MAY</rfc2119> contain multiple 
+               <termref ref="term-segment-occ-rule">segment OCC rules</termref> 
+               and multiple
+               <termref ref="term-scenario-occ-rule">scenario OCC rules</termref>.  
+             </p>
+   
+              <p>
+               <definition id="term-segment-occ-rule-set" term="segment OCC rule set">
+                 The <term>segment OCC rule set</term> for a formula is the set of               
+                 <termref ref="term-segment-occ-rule">segment OCC rules</termref>
+                 that the formula contains.  They are evaluated together to 
+                 determine output OCC for the segment.
+               </definition>
+             </p>
+   
+             <p>
+               <definition id="term-scenario-occ-rule-set" term="scenario OCC rule set">
+                 The <term>scenario OCC rule set</term> for a formula is the set of               
+                 <termref ref="term-scenario-occ-rule">scenario OCC rules</termref>
+                 that the formula contains.  They are evaluated together to 
+                 determine output scenario OCCs.               
+               </definition>
+             </p>
+   
+             <p>
+               <definition id="term-occ-rule-set" term="OCC rule set">
+                 An <term>OCC rule set</term> is general term for a segment OCC rule set or a
+                 scenario OCC rule set.
+               </definition>
+             </p>
+   
+             <p>
+               The OCC rules in a 
+               <termref ref="term-occ-rule-set">OCC rule set</termref><nbsp/><rfc2119>MUST</rfc2119> 
+               be processed in document order to obtain the output OCC value.
+             </p>
+   
+             <p>
+               <definition id="term-original-occ-value" term="original OCC value">
+                 The <term>original OCC value</term> for an OCC rule is the OCC value 
+                 that is modified by application of that 
+                 <termref ref="term-occ-rule">OCC rule</termref>.
+               </definition>
+             </p>
+             
+             <p>              
+               <definition id="term-subsequent-occ" term="subsequent OCC">
+                 The <term>subsequent OCC</term> for an OCC rule 
+                 is the OCC value resulting from application of that
+                 <termref ref="term-occ-rule">OCC rule</termref> 
+                 to its original OCC.
+               </definition>
+             </p>
+   
+             <p>
+               <error id="error-bad-subsequent-occ-value">
+                 Error code <errorcode code="badSubsequentOCCValue"/>
+                 <rfc2119>MUST</rfc2119> be thrown if a subsequent OCC value contains
+                 information that implies a value for any other aspect in the aspect model
+                 of the formula than the OCC aspect whose value is being determined by
+                 the OCC rule being processed.
+               </error>
+             </p>
+             
+             <p>
+               Thus, for example, <errorref ref="error-bad-subsequent-occ-value"/> would be thrown for
+               a formula with a dimensional aspect model if an OCC rule produced a subsequent OCC value 
+               that included content that implies a 
+               <xtermref bibref="VARIABLES" idref="term-dimension-aspect">dimension aspect</xtermref> value.
+             </p>
+   
+             <p>
+               The subsequent OCC value for one 
+               <termref ref="term-occ-rule">OCC rule</termref> 
+               is the original OCC value for the OCC rule that is processed next.
+             </p>
+   
+             <p>
+               The RAV specified by an 
+               <termref ref="term-occ-rule-set">OCC rule set</termref>
+               is the subsequent OCC value for the last OCC rule to be processed in that set.
+             </p>
+   	
+             <p>
+               The following sub-sections define the syntax and semantics
+               for specific OCC rules.  Extension specifications 
+               <rfc2119>MAY</rfc2119> define additional OCC rules.
+             </p>
+   
+             <section id="sec-empty-occ-rules">
+               <head>Empty OCC rules</head>
+   
+               <p>
+                 <definition id="term-empty-occ-rule" term="empty OCC rule">
+                   An <term>empty OCC rule</term> is an OCC rule that is
+                   expressed by the 
+                   <xmlref ref="xml-occ-empty"><elt>formula:occEmpty</elt></xmlref> element.
+                 </definition>
+               </p>
+   
+               <p>
+                 An empty OCC rule produces a subsequent OCC value that
+                 is an empty sequence of aspect values regardless of the
+                 original OCC value. It is generally used as the first
+                 OCC rule in an OCC rule set.
+               </p>
+   
+             </section><!-- empty OCC rules -->
+   
+             <section id="sec-fragment-occ-rules">
+               <head>Fragment OCC rules</head>
+   
+               <p>
+                 <definition id="term-fragment-occ-rule" term="fragment OCC rule">
+                   A <term>fragment OCC rule</term> is an OCC rule that is
+                   expressed by the 
+                   <xmlref ref="xml-occ-fragments"><elt>formula:occFragments</elt></xmlref> element.
+                 </definition>
+               </p>
+   
+               <p>
+                 A fragment OCC rule extends an original OCC value by appending its child elements (and their 
+                 descendants, if any) to obtain a subsequent OCC value.
+               </p>
+   
+               <example role="nonNormativeExample" id="example-fragment-occ-rules">
+                 <caption>Fragment OCC rules</caption>
+                 <table>
+                   <thead>
+                     <tr>
+                       <th>Original OCC value</th>
+                       <th>Child elements of the fragment OCC rule</th>
+                       <th>
+                         Subsequent OCC value
+                       </th>
+                     </tr>
+                   </thead>
+                   <tbody xmlns:eg="http://example.com/" xmlns:xbrldi="http://xbrl.org/2006/xbrldi">
+   
                      <tr>
                        <td>
                        </td>
                        <td>
!                         <verbatim>
!                           <eg:budget/>
                          </verbatim>
                        </td>
                        <td>
                          <verbatim>
!                           <eg:budget/>
                          </verbatim>
                        </td>
                      </tr>
!   
                      <tr>
                        <td>
                          <verbatim>
!                           <eg:confidential/>
                          </verbatim>
                        </td>
                        <td>
!                         <verbatim>
!                           <eg:audited/>
                          </verbatim>
                        </td>
                        <td>
+                         <verbatim>
+                           <eg:confidential/>
+                           <eg:audited/>
+                         </verbatim>
                        </td>
                      </tr>
                    </tbody>
                  </table>
!               </example>  
!   
!             </section><!-- Fragment OCC rules -->
!   
!             <section id="sec-xpath-occ-rules">
!               <head>XPath OCC rules</head>
!   
!               <p>
!                 <definition id="term-xpath-occ-rule" term="XPath OCC rule">
!                   An <term>XPath OCC rule</term> is an OCC rule that is
!                   expressed by the 
!                   <xmlref ref="xml-occ-xpath"><elt>formula:occXPath</elt></xmlref> element.
!                 </definition>
!               </p>
!   
!               <p>
!                 An XPath OCC rule contains an XPath expression in its 
!                 <att>select</att> attribute that, when evaluated, 
!                 <rfc2119>MUST</rfc2119> yield  a sequence of element 
!                 nodes.  These element nodes (and their 
!                 descendants, if any) are appended to an 
!                 original OCC value to obtain a subsequent OCC value.
!               </p>
  
!               <p>
!                 The context item for evaluation of the XPath expression contained
!                 by an XPath OCC rule is the <elt>xbrli:xbrl</elt> element of
!                 the target XBRL instance.
!               </p>
!   
!               <p>
!                 <error id="error-wrong-xpath-result-for-xpath-rule">
!                   Error code <errorcode code="wrongXpathResultForXpathRule"/>
!                   <rfc2119>MUST</rfc2119> be thrown if the result of evaluating the
!                   XPath expression in an XPath rule is not a sequence of element nodes.
!                 </error>
!               </p>
  
+             </section><!-- XPath OCC rules -->
+   
+           </section><!-- OCC rules -->
+   
            <section id="sec-unit-rules">
              <head>Unit rules</head>
    
***************
*** 1860,1866 ****
                  <xmlref ref="xml-entity-identifier"><elt>formula:unit</elt></xmlref> element.
                </definition>
              </p>
! 
              <p>
                Unit rules specify the unit RAV for numeric output facts in terms of zero or
                more modifications to their SAV.  The modifications are expressed by sub-rules
--- 1860,1866 ----
                  <xmlref ref="xml-entity-identifier"><elt>formula:unit</elt></xmlref> element.
                </definition>
              </p>
!   
              <p>
                Unit rules specify the unit RAV for numeric output facts in terms of zero or
                more modifications to their SAV.  The modifications are expressed by sub-rules
***************
*** 1873,1879 ****
                as usual. If a unit rule contains an <att>augment</att> attribute with a 
                value of <val>false</val> then the SAV is not defined.
              </p>
! 
              <p>
                <error id="error-missing-sav-for-unit-rule">
                  Error code <errorcode code="missingSAVForUnitRule"/><nbsp/>
--- 1873,1879 ----
                as usual. If a unit rule contains an <att>augment</att> attribute with a 
                value of <val>false</val> then the SAV is not defined.
              </p>
!   
              <p>
                <error id="error-missing-sav-for-unit-rule">
                  Error code <errorcode code="missingSAVForUnitRule"/><nbsp/>
***************
*** 1881,1887 ****
                  does not have any child elements and does not have a SAV.
                </error>
              </p>
! 
              <p>
                For formulae that need the output unit 
                to vary in one or more respects from units in the 
--- 1881,1887 ----
                  does not have any child elements and does not have a SAV.
                </error>
              </p>
!   
              <p>
                For formulae that need the output unit 
                to vary in one or more respects from units in the 
***************
*** 1922,1935 ****
                  the collection of denominator measures.
                </item>
              </olist>
! 
              <p>
                If the collection of numerator measures and the collection of denominator
                measures are both empty, then the RAV <rfc2119>MUST</rfc2119> be a single 
                numerator measure with the value:
!               <xtermref bibref="XBRL" idref="_Toc156209168">xbrli:pure</xtermref>.
              </p>
! 
              <p>
                Otherwise, the RAV for the unit rule <rfc2119>MUST</rfc2119>
                have a measure in its numerator for each
--- 1922,1935 ----
                  the collection of denominator measures.
                </item>
              </olist>
!   
              <p>
                If the collection of numerator measures and the collection of denominator
                measures are both empty, then the RAV <rfc2119>MUST</rfc2119> be a single 
                numerator measure with the value:
!               <xtermref bibref="XBRL" idref="_4.8.2">xbrli:pure</xtermref>.
              </p>
!   
              <p>
                Otherwise, the RAV for the unit rule <rfc2119>MUST</rfc2119>
                have a measure in its numerator for each
***************
*** 1938,1944 ****
                each measure in the combined collection of denominator measures, 
                also obtained from the steps given above.
              </p>
! 
              <example role="nonNormativeExample" id="example-unit-rules">
                <caption>Unit rules</caption>
                <table>
--- 1938,1944 ----
                each measure in the combined collection of denominator measures, 
                also obtained from the steps given above.
              </p>
!   
              <example role="nonNormativeExample" id="example-unit-rules">
                <caption>Unit rules</caption>
                <table>
***************
*** 1978,1984 ****
                      <td><val>eg:kilometers</val></td>
                      <td><val>eg:hours</val></td>
                    </tr>
! 
                    <tr>
                      <td><val>eg:kilometers</val></td>
                      <td><val>eg:hours</val></td>
--- 1978,1984 ----
                      <td><val>eg:kilometers</val></td>
                      <td><val>eg:hours</val></td>
                    </tr>
!   
                    <tr>
                      <td><val>eg:kilometers</val></td>
                      <td><val>eg:hours</val></td>
***************
*** 1989,1995 ****
                      <td><val>eg:kilometers</val></td>
                      <td><val>eg:hours</val> <val>eg:hours</val></td>
                    </tr>
! 
                    <tr>
                      <td><val>iso4217:EUR</val></td>
                      <td></td>
--- 1989,1995 ----
                      <td><val>eg:kilometers</val></td>
                      <td><val>eg:hours</val> <val>eg:hours</val></td>
                    </tr>
!   
                    <tr>
                      <td><val>iso4217:EUR</val></td>
                      <td></td>
***************
*** 2000,2006 ****
                      <td><val>iso4217:USD</val></td>
                      <td></td>
                    </tr>
! 
                    <tr>
                      <td><val>iso4217:EUR</val></td>
                      <td></td>
--- 2000,2006 ----
                      <td><val>iso4217:USD</val></td>
                      <td></td>
                    </tr>
!   
                    <tr>
                      <td><val>iso4217:EUR</val></td>
                      <td></td>
***************
*** 2011,2017 ****
                      <td><val>xbrli:shares</val></td>
                      <td></td>
                    </tr>
! 
                    <tr>
                      <td><val>iso4217:EUR</val></td>
                      <td></td>
--- 2011,2017 ----
                      <td><val>xbrli:shares</val></td>
                      <td></td>
                    </tr>
!   
                    <tr>
                      <td><val>iso4217:EUR</val></td>
                      <td></td>
***************
*** 2025,2031 ****
                      <td><val>xbrli:shares</val></td>
                      <td></td>
                    </tr>
! 
                    <tr>
                      <td><val>iso4217:EUR</val></td>
                      <td></td>
--- 2025,2031 ----
                      <td><val>xbrli:shares</val></td>
                      <td></td>
                    </tr>
!   
                    <tr>
                      <td><val>iso4217:EUR</val></td>
                      <td></td>
***************
*** 2039,2049 ****
                      <td><val>xbrli:shares</val></td>
                      <td><val>iso4217:USD</val></td>
                    </tr>
! 
                  </tbody>
                </table>
              </example>
! 
              <section id="sec-unit-multiplication-rules">
                <head>Unit multiplication rules</head>
    
--- 2039,2049 ----
                      <td><val>xbrli:shares</val></td>
                      <td><val>iso4217:USD</val></td>
                    </tr>
!   
                  </tbody>
                </table>
              </example>
!   
              <section id="sec-unit-multiplication-rules">
                <head>Unit multiplication rules</head>
    
***************
*** 2100,2106 ****
                    child element of a <elt>formula:unit</elt> element.
                  </definition>
                </p>
! 
                <p>
                  Each unit division rule defines a collection of
                  one or more measures to add to the denominator measures of
--- 2100,2106 ----
                    child element of a <elt>formula:unit</elt> element.
                  </definition>
                </p>
!   
                <p>
                  Each unit division rule defines a collection of
                  one or more measures to add to the denominator measures of
***************
*** 2434,2441 ****
          <revision ref="person-geoff"
          day="20" month="11" year="2007">
            <p>
!             Begun work on the segment and scenario rules to make them
!             more capable with respect to explicit dimensions.
            </p>
          </revision>
  
--- 2434,2441 ----
          <revision ref="person-geoff"
          day="20" month="11" year="2007">
            <p>
!             Begun work on the segment OCC rules and scenario OCC rules 
!             to make them more capable with respect to explicit dimensions.
            </p>
          </revision>
  
***************
*** 2443,2449 ****
          day="21" month="11" year="2007">
            <p>
              Finished drafting of the OCC rules that cover both
!             segment and scenario rules.
            </p>
          </revision>
  
--- 2443,2449 ----
          day="21" month="11" year="2007">
            <p>
              Finished drafting of the OCC rules that cover both
!             segment OCC rules and scenario OCC rules.
            </p>
          </revision>
  
***************
*** 2740,2746 ****
              for evaluation of such XPath expressions.
            </p>
            <p>
!             Added explicit markup for the OCC aspect rules in the
              example showing how they work.
            </p>
            <p>
--- 2740,2746 ----
              for evaluation of such XPath expressions.
            </p>
            <p>
!             Added explicit markup for the OCC rules in the
              example showing how they work.
            </p>
            <p>
***************
*** 2791,2797 ****
              Fixed broken hyperlinks.
            </p>
          </revision>        
!         
        </revisions>
  
      </section>
--- 2791,2928 ----
              Fixed broken hyperlinks.
            </p>
          </revision>        
! 
!         <revision ref="person-geoff" day="01" month="04" year="2008">
!           <p>
!             Fixed the first period rule example to get the time 
!             and date adjustments correct for instants.
!           </p>
!         </revision>     
! 
!         <revision ref="person-geoff" day="07" month="04" year="2008">
!           <p>
!             Added a paragraph clarifying that a source in a formula can be
!             the source defined by a <att>source</att> attribute on a 
!             <elt>formula:formula</elt> element or on any of its descendant 
!             elements.
!           </p>
!         </revision>     
! 
!         <revision ref="person-geoff" day="23" month="04" year="2008">
!           <p>
!             Clarified that when a set of output OCC content has been 
!             identified by XPath or Fragment OCC rules and that content 
!             contains XDT dimensions, those dimensions need to be taken 
!             into account when determining what XDT dimension output 
!             aspect values to determine from source aspect values.
!             This addresses an ambiguity identified by 
!             <personref ref="person-andy"/>.
!           </p>
!         </revision>     
! 
!         <revision ref="person-geoff" day="07" month="08" year="2008">
!           <p>
!             Improved cross references to terminology used in the OCC rules section.
!           </p>
!           <p>
!             Replaced all usages of "OCC aspect rule" with the defined term: "OCC rule".
!           </p>
!           <p>
!             Restructured the definition of segment and scenario OCC rule sets to put the
!             terms being defined first rather than last in the definitions.
!           </p>
!         </revision>     
! 
!         <revision ref="person-geoff" day="12" month="08" year="2008">
!           <p>
!             Corrected the interpretation of omitted segments and
!             scenarios to ensure appropriate recognition of default XDT
!             dimension values.
!           </p>
!         </revision>     
! 
!         <revision ref="person-geoff" day="14" month="08" year="2008">
!           <p>
!             Corrected previous editing errors made in relation to the duplicate definition of the 
!             scenario OCC rule set.
!           </p>
!           <p>
!             Changed defined terminology for OCC rules to make each rule have a name following the
!             structure xxx OCC rule rather than OCC xxx rule.  Made this consistent throughout the 
!             text of the specification.
!           </p>
!           <p>
!             Removed the augment attribute on OCC rules, replacing it with an empty OCC rule that
!             converts any original OCC into an empty subsequent OCC.
!           </p>
!         </revision>     
! 
!         <revision ref="person-geoff" day="25" month="08" year="2008">
!           <p>
!             Redesigned OCC rules to only operate on the content
!             remaining in segment and scenario elements after the content
!             relating to other aspects in the relevant aspect model have
!             been removed. The dimension aspect rules have been changed
!             accordingly so that they are not OCC rules. This
!             simplification makes it easier to work with dimension
!             aspects (now that we do not have segment and scenario
!             dimension aspects).
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="04" month="09" year="2008">
!           <p>
!             Changed the base type for the segment/scenario enumeration
!             to xs:token instead of xs:string to achieve consistency with
!             other enumeration definitions in the normative schemas.  This
!             was suggested by <personref ref="person-roland"/>.
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="08" month="09" year="2008">
!           <p>
!             Added in typed dimension rules to enable formula control of output typed dimension
!             values.  This was required, as suggested by <personref ref="person-andy"/>, 
!             now that OCC rules and dimension rules are separate.  The element name for the
!             explicit dimension rule has changed accordingly.
!           </p>
!           <p>
!             Defined a new error code to correspond to the existing normative constraints on the legal
!             results obtaining from evaluating the XPath expression in an XPath OCC rule.
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="24" month="10" year="2008">
!           <p>
!             Deleted the <val>cannotOmitDimensionValue</val> error code because such errors
!             are more consistently handled by XDT validation of the output from formula processing.
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="14" month="11" year="2008">
!           <p>
!             Made the abstract dimension aspect element really abstract.
!           </p>
!           <p>
!             Corrected references to the XDT specification to use the correct ID.
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="17" month="11" year="2008">
!           <p>
!             Made the <att>source</att> attribute have type <code>variable:QName</code>
!             because it contains variable name QNames that do not resolve according to the
!             rules used for QNames with data type xs:QName. This change was suggested by 
!             <personref ref="person-herm"/>.
!           </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>
