*** previous/dimension-filters.xml	2008-09-28 14:59:48.000000000 +1000
--- current/dimension-filters.xml	2008-11-17 11:45:50.000000000 +1100
***************
*** 79,93 ****
        
        <p>
          All dimension filters have a <xmlref ref="xml-dimension-model"><elt>df:dimension</elt></xmlref> element.  
!         That element specifies both the filter dimension and whether the filter can cover a   
!         <xtermref bibref="VARIABLES" idref="term-segment-dimension-aspect">segment dimension aspect</xtermref> or
!         <xtermref bibref="VARIABLES" idref="term-segment-dimension-aspect">scenario dimension aspect</xtermref>.
!         If the <elt>df:dimension</elt> element contains a <att>contextElement</att> attribute equal to
!         <val>segment</val> then the dimension filter can cover the segment dimension aspect for the dimension
!         identified by the <elt>df:dimension</elt> element.
!         If the <elt>df:dimension</elt> element contains a <att>contextElement</att> attribute equal to
!         <val>scenario</val> then the dimension filter can cover the scenario dimension aspect for the 
!         filter dimension.
        </p>      
  
        <section id="sec-background">
--- 79,85 ----
        
        <p>
          All dimension filters have a <xmlref ref="xml-dimension-model"><elt>df:dimension</elt></xmlref> element.  
!         That element specifies the <termref ref="term-filter-dimension">filter dimension</termref>.
        </p>      
  
        <section id="sec-background">
***************
*** 163,219 ****
          </p>
  
          <p>
!           The explicit dimension filter can be used to match facts
!           that report any one of a specified set of domain members as the 
!           value of an explicit dimension.
!         </p>
! 
!         <p>
!           The XPath expression implied by a explicit dimension filter is
!           determined by its <elt>df:dimension</elt> element, 
!           its <elt>df:member</elt> element, and
!           its <elt>df:linkrole</elt> element.
!         </p>
! 
!         <p>
!           <definition id="term-filter-member" term="filter member">
!             A <term>filter member</term> is a domain member with a QName that is specified
!             by a <elt>df:member</elt> child element of an explicit dimension filter.
            </definition>
          </p>
  
          <p>
!           <definition id="term-filter-linkrole" term="filter linkrole">
!             A <term>filter linkrole</term> is the value of the <elt>df:linkrole</elt> child
!             element in an explicit dimension filter.
!           </definition>
          </p>
  
          <p>
!           The filter linkrole is used as the <val>#linkrole</val> value in the 
!           implied XPath expressions below.  It serves to identify different domains 
!           that have been defined for the one dimension.
          </p>
! 
          <p>
!           <definition id="term-recognised-domain-for-a-dimension" 
!           term="recognised domain for a dimension">
!              A <term>recognised domain for a dimension</term> 
!              is the set of domain members allowed as values for that dimension by 
!              <xtermref bibref="DIMENSIONS" idref="_2.1">consecutive relationships</xtermref>
!              that include a 
!              <xtermref bibref="DIMENSIONS" idref="_2.3">has-hypercube relationship</xtermref>
!              expressed by an arc in an extended link with an <att>xlink:role</att> 
!              attribute that is equal to the 
!              <termref ref="term-filter-linkrole">filter linkrole</termref>.
            </definition>
          </p>
  
          <p>
!           A fact is only matched by a explicit dimension filter if it has
!           a value for its <termref ref="term-filter-dimension">filter dimension</termref> 
!           that is in the <termref ref="term-recognised-domain-for-a-dimension">recognised domain 
!           for the filter dimension</termref>.
          </p>
  
          <p>
--- 155,194 ----
          </p>
  
          <p>
!           <definition id="term-explicit-dimension-domain" 
!           term="explicit dimension domain">
!              An <term>explicit dimension domain</term> is defined in the context of a given
!              DTS as the set of all domain members in the union of all 
!              <xtermref bibref="DIMENSIONS" idref="_2.5.3">domains of valid members</xtermref> 
!              of the filter dimension.
            </definition>
          </p>
  
          <p>
!           The explicit dimension filter can be used to match facts
!           with any one of the domain members in an 
!           <termref ref="term-explicit-dimension-domain">explicit dimension domain</termref> 
!           as the value for that explicit dimension.
          </p>
  
          <p>
!           The XPath expression implied by a explicit dimension filter is
!           determined by its <elt>df:dimension</elt> element and 
!           its <elt>df:member</elt> elements.
          </p>
!         
          <p>
!           <definition id="term-filter-member" term="filter member">
!             A <term>filter member</term> is a <elt>df:member</elt> child element 
!             of an explicit dimension filter.
            </definition>
          </p>
  
          <p>
!           <definition id="term-filter-member-value" term="filter-member value">
!             A <term>filter-member value</term> is the domain member, in the explicit 
!             dimension domain, with a QName that is specified by a filter member.
!           </definition>
          </p>
  
          <p>
***************
*** 247,417 ****
  
          <p>
            If the explicit dimension filter has no <termref ref="term-filter-member">filter members</termref>
!           then all domain members in the <termref ref="term-recognised-domain-for-a-dimension">recognised domain 
!           for the filter dimension</termref> meet the filter criteria. The implied XPath expression is then 
!           that specified in the following table.  It depends upon the value of the 
!           <att>contextElement</att> attribute on the filter's <elt>df:dimension</elt> child element.
          </p>
  
!         <table>
!           <thead>
!             <tr>
!               <th><att>contextElement</att> attribute value</th>
!               <th>Implied XPath expression</th>
!             </tr>
!           </thead>
!           <tbody>
!             <tr>
!               <td><val>segment</val></td>
!               <td>
!                 <code>
!                 some $member in xfi:concept-explicit-segment-dimension-values(fn:node-name(.),#dimension,#linkrole), 
!                      $value in xfi:fact-explicit-segment-dimension-value(.,#dimension) 
!                 satisfies ($value eq $member)
!                 </code>
!               </td>
!             </tr>
!             <tr>
!               <td><val>scenario</val></td>
!               <td>
!                 <code>
!                 some $member in xfi:concept-explicit-scenario-dimension-values(fn:node-name(.),#dimension,#linkrole), 
!                      $value in xfi:fact-explicit-scenario-dimension-value(.,#dimension) 
!                 satisfies ($value eq $member)
!                 </code>
!               </td>
!             </tr>
!           </tbody>
!         </table>
  
          <p>
!           Otherwise the implied XPath expression is constructed by combining, using the 
            XPath <code>or</code> operator, a set of terms, one for 
!           <termref ref="term-filter-member">filter member</termref> 
!           in the explicit dimension filter.
          </p>
  
          <p>
!           Each filter member in the explicit dimension filter 
!           implies a set of domain members that are allowed as values of the filter 
!           dimension.
          </p>
  
          <p>
!           <error id="error-invalid-domain-member">
!             Error code <errorcode code="invalidDomainMember"/> <rfc2119>MUST</rfc2119>
!             be thrown if the domain member specified by a filter member is not part of the 
!             <termref ref="term-recognised-domain-for-a-dimension">recognised domain 
!             for the filter dimension</termref>.
!           </error>
          </p>
  
          <p>
!           <definition id="term-filter-member-set" term="filter member set">
!             A <term>filter member set</term> for a filter member is the set of domain members 
!             that are allowed, by that filter member, as values of the filter dimension.
            </definition>
          </p>
  
          <p>
!           Which domain members are in a filter member set depends upon the value
!           of the <att>axis</att> attribute on the filter member defining the set.
          </p>
  
          <p>
!           If the <att>axis</att> attribute on a filter member equals 
!           <val>self</val>, then the filter member set contains the specified filter member 
!           if it is in the recognised domain for the filter dimension and is empty otherwise.
          </p>
  
          <p>
            If the <att>axis</att> attribute on a filter member equals <val>child</val>,
!           then the filter member set includes those members in the recognised 
!           domain for the filter dimension that are children of 
!           the filter member in a network of domain-member relationships that is included in the 
!           consecutive relationships identified by the linkrole value.
          </p>
  
          <p>
            If the <att>axis</att> attribute on a filter member equals <val>child-or-self</val>,
!           then the filter member set includes those members in the recognised 
!           domain for the filter dimension that are either the filter member itself or are children of 
!           the filter member in a network of domain-member relationships that is included in the 
!           consecutive relationships identified by the linkrole value.
          </p>
  
          <p>
            If the <att>axis</att> attribute on a filter member equals <val>descendant</val>,
!           then the filter member set includes those members in the recognised 
!           domain for the filter dimension that are descendants of 
!           the filter member in a network of domain-member relationships that is included in the 
!           consecutive relationships identified by the linkrole value.
          </p>
  
          <p>
            If the <att>axis</att> attribute on a filter member equals <val>descendant-or-self</val>,
!           then the filter member set includes those members in the recognised 
!           domain for the filter dimension that are either the filter member itself or are descendants of 
!           the filter member in a network of domain-member relationships that is included in the 
!           consecutive relationships identified by the linkrole value.
          </p>
  
          <p>
!           The term in the implied XPath expression, for each filter member is given in the table below.  It 
!           depends upon the value of the <att>contextElement</att> attribute
!           on the filter's <elt>df:dimension</elt> child element.
          </p>
  
!         <table>
!           <thead>
!             <tr>
!               <th><att>contextElement</att> attribute value</th>
!               <th>Implied XPath expression</th>
!             </tr>
!           </thead>
!           <tbody>
!             <tr>
!               <td><val>segment</val></td>
!               <td>
!                 <code>
!                 some  $member in xfi:concept-select-explicit-segment-dimension-values(fn:node-name(),#dimension,#linkrole,#member,#axis),
!                       $value  in xfi:fact-explicit-segment-dimension-value(.,#dimension) 
!                 satisfies ($value eq $member)
!                 </code>
!               </td>
!             </tr>
!             <tr>
!               <td><val>scenario</val></td>
!               <td>
!                 <code>
!                 some  $member in xfi:concept-select-explicit-scenario-dimension-values(fn:node-name(),#dimension,#linkrole,#member,#axis),
!                       $value  in xfi:fact-explicit-scenario-dimension-value(.,#dimension) 
!                 satisfies ($value eq $member)
!                 </code>
!               </td>
!             </tr>
!           </tbody>
!         </table>
  
          <p>
!           where <val>#axis</val> is equal to the value of the <att>axis</att> attribute on the filter member.
          </p>
  
          <example role="nonNormativeExample" id="example-explicit-dimension-filters">
!           <caption>explicit dimension filters</caption>
              <table>
                <thead>
                  <tr>
                    <th>Filter dimension</th>
-                   <th>Context element</th>
                    <th>
                      Filter member
!                     <footnote>
!                       This example presumes that all members of the
!                       dimension are recognised members of the dimension
!                       being filtered.
!                     </footnote>
!                     </th>
                    <th><att>axis</att></th>
                    <th>Selection criteria</th>
                  </tr>
--- 222,391 ----
  
          <p>
            If the explicit dimension filter has no <termref ref="term-filter-member">filter members</termref>
!           then all domain members in the <termref ref="term-explicit-dimension-domain">explicit dimension domain</termref> 
!           meet the filter criteria. The implied XPath expression is then:
          </p>
  
!         <p>
!           <code>
!             xfi:fact-has-explicit-dimension(.,#dimension)
!           </code>
!         </p>
  
          <p>
!           Otherwise, when the explicit dimension filter does have one or
!           more filter members, each filter member in the explicit
!           dimension filter implies a set of domain members that are
!           allowed as values of the filter dimension.
!           For such explicit dimension filters, 
!           the implied XPath expression is constructed by combining, using the 
            XPath <code>or</code> operator, a set of terms, one for 
!           <termref ref="term-filter-member">filter member</termref>.
!         </p>
! 
!         <p>
!           <definition id="term-filter-member-set" term="filter-member set">
!             The <term>filter-member set</term> for a filter member is the set of domain members 
!             that are allowed, by that filter member, as values of the filter dimension.
!           </definition>
          </p>
  
          <p>
!           <definition id="term-filter-member-linkrole" term="filter-member linkrole">
!             A <term>filter-member linkrole</term> is the value of the <elt>df:linkrole</elt> child
!             element of a filter member.
!           </definition>
          </p>
  
          <p>
!           <definition id="term-filter-member-arcrole" term="filter-member arcrole">
!             A <term>filter-member arcrole</term> is the value of the <elt>df:arcrole</elt> child
!             element of a filter member.
!           </definition>
          </p>
  
          <p>
!           <definition id="term-filter-member-axis" term="filter-member axis">
!             A <term>filter-member axis</term> is the value of the <elt>df:axis</elt> child
!             element of a filter member.
            </definition>
          </p>
  
          <p>
!           If a filter member does not contain a filter-member linkrole, arcrole and axis, 
!           then the only domain member in its filter-member set is the domain member identified
!           by the filter-member value.
          </p>
  
          <p>
!           The term in the implied XPath expression for that filter member is then:
!         </p>
! 
!         <p>
!           <code>
!             xfi:fact-has-explicit-dimension-value(.,#dimension,#member)
!           </code>
!         </p>
! 
!         <p>
!           Otherwise, the domain members in its filter-member set are determined based upon the
!           network of relationships specified by the filter-member linkrole and the filter-member 
!           arcrole.
!         </p>
!         
!         <p>
!           <definition id="term-filter-member-network" term="filter-member network">
!             The <term>filter-member network</term> is the network of relationships expressed by 
!             arcs with the filter-member arcrole in extended links with the filter-member linkrole.
!           </definition>
!         </p>
!         
!         <p>
!           <error id="error-invalid-domain-member">
!             Error code <errorcode code="invalidDomainMember"/> <rfc2119>MUST</rfc2119>
!             be thrown if there are no domain members in the filter-member network that belong
!             to the <termref ref="term-explicit-dimension-domain">explicit dimension domain</termref> 
!             for the filter dimension.
!           </error>
!         </p>
! 
!         <p>
!           <error id="error-ambiguous-filter-member-network">
!             Error code <errorcode code="ambiguousFilterMemberNetwork"/> <rfc2119>MUST</rfc2119>
!             be thrown if the filter-member network is not uniquely determined from the DTS by the 
!             filter-member linkrole and filter-member arcrole.
!           </error>
!         </p>
!         
!         <p>
!           This error could occur for a DTS in which the same combination
!           of linkrole and arcrole values were being used with two
!           different extended link elements or two different arc elements.
          </p>
  
          <p>
            If the <att>axis</att> attribute on a filter member equals <val>child</val>,
!           then the filter-member set includes those domain members 
!           in the explicit dimension domain that are targets of relationships 
!           in filter-member network that run from the domain member identified by 
!           the filter-member value.
          </p>
  
          <p>
            If the <att>axis</att> attribute on a filter member equals <val>child-or-self</val>,
!           then the filter-member set includes the domain member identified by the filter-member value
!           and those domain members in the explicit dimension domain that are targets of relationships 
!           in filter-member network that run from the domain member identified by 
!           the filter-member value.
          </p>
  
          <p>
            If the <att>axis</att> attribute on a filter member equals <val>descendant</val>,
!           then the filter-member set includes those domain members 
!           in the explicit dimension domain that are descendants,in the filter-member network,
!           of the domain member identified by the filter-member value.
          </p>
  
          <p>
            If the <att>axis</att> attribute on a filter member equals <val>descendant-or-self</val>,
!           then the filter-member set includes includes the domain member identified by the filter-member value
!           and those domain members in the explicit dimension domain that are descendants,in the filter-member network,
!           of the domain member identified by the filter-member value.
          </p>
  
          <p>
!           The term in the implied XPath expression, for each such filter member is:
          </p>
  
!         <p>
!           <code>
!            (
!              if (xfi:fact-has-explicit-dimension(.,#dimension))
!              then (
!                 some $member in 
!                 xfi:filter-member-network-selection(#dimension,#member,#linkrole,#arcrole,#axis)
!                 satisfies (xfi:fact-explicit-dimension-value(.,#dimension) eq $member)
!              ) 
!              else fn:false() 
!            )
!           </code>
!         </p>
  
          <p>
!           where <val>#axis</val> is equal to the <termref ref="term-filter-member-axis">filter-member axis</termref>,
!           <val>#linkrole</val> is equal to the <termref ref="term-filter-member-linkrole">filter-member linkrole</termref>
!           and <val>#arcrole</val> is equal to the <termref ref="term-filter-member-arcrole">filter-member arcrole</termref>.
          </p>
  
          <example role="nonNormativeExample" id="example-explicit-dimension-filters">
!           <caption>Explicit dimension filters</caption>
              <table>
                <thead>
                  <tr>
                    <th>Filter dimension</th>
                    <th>
                      Filter member
!                   </th>
                    <th><att>axis</att></th>
                    <th>Selection criteria</th>
                  </tr>
***************
*** 422,430 ****
                      <val>eg:region</val>
                    </td>
                    <td>
-                     <val>segment</val>
-                   </td>
-                   <td>
                      None
                    </td>
                    <td>
--- 396,401 ----
***************
*** 432,438 ****
                    <td>
                      Facts must report a value for the 
                      <val>eg:region</val> dimension that are
!                     identified as domain members for that dimension.
                    </td>
                  </tr>
                  <tr>
--- 403,409 ----
                    <td>
                      Facts must report a value for the 
                      <val>eg:region</val> dimension that are
!                     in the explicit dimension domain.
                    </td>
                  </tr>
                  <tr>
***************
*** 440,454 ****
                      <val>eg:region</val>
                    </td>
                    <td>
-                     <val>segment</val>
-                   </td>
-                   <td>
                      <val>eg:australasia</val>
                    </td>
                    <td>
-                     <val>self</val>
-                   </td>
-                   <td>
                      Facts must report a value for the 
                      <val>eg:region</val>dimension that is
                      the domain member <val>eg:australasia</val>.
--- 411,419 ----
***************
*** 459,467 ****
                      <val>eg:region</val>
                    </td>
                    <td>
-                     <val>segment</val>
-                   </td>
-                   <td>
                      <val>eg:australasia</val>
                    </td>
                    <td>
--- 424,429 ----
***************
*** 471,478 ****
                      Facts must report a value for the 
                      <val>eg:region</val>dimension that is
                      one of the domain members with a 
!                     domain member relationship from
!                     the domain member <val>eg:australasia</val>.
                    </td>
                  </tr>
                  <tr>
--- 433,442 ----
                      Facts must report a value for the 
                      <val>eg:region</val>dimension that is
                      one of the domain members with a 
!                     relationship from
!                     the domain member <val>eg:australasia</val>
!                     that is in the network specified by the
!                     given filter-member linkrole and arcrole.
                    </td>
                  </tr>
                  <tr>
***************
*** 480,488 ****
                      <val>eg:region</val>
                    </td>
                    <td>
-                     <val>segment</val>
-                   </td>
-                   <td>
                      <val>eg:australasia</val>
                    </td>
                    <td>
--- 444,449 ----
***************
*** 491,498 ****
                    <td>
                      Facts must report a value for the 
                      <val>eg:region</val>dimension that is
!                     a descendent of the <val>eg:australasia</val>
!                     domain member in a domain-member network.
                    </td>
                  </tr>
                  <tr>
--- 452,460 ----
                    <td>
                      Facts must report a value for the 
                      <val>eg:region</val>dimension that is
!                     a descendant of the <val>eg:australasia</val>
!                     domain member in the network specified by the
!                     given filter-member linkrole and arcrole.
                    </td>
                  </tr>
                  <tr>
***************
*** 500,508 ****
                      <val>eg:region</val>
                    </td>
                    <td>
-                     <val>segment</val>
-                   </td>
-                   <td>
                      <val>eg:australasia</val>
                    </td>
                    <td>
--- 462,467 ----
***************
*** 511,519 ****
                    <td>
                      Facts must report a value for the 
                      <val>eg:region</val>dimension that is
!                     a descendent of the <val>eg:australasia</val>
!                     domain member in a domain-member network or that
!                     is <val>eg:australasia</val>. 
                    </td>
                  </tr>
                </tbody>
--- 470,479 ----
                    <td>
                      Facts must report a value for the 
                      <val>eg:region</val>dimension that is
!                     a descendant of the <val>eg:australasia</val>
!                     domain member in the network specified by the
!                     given filter-member linkrole and arcrole or that is
!                     <val>eg:australasia</val>.
                    </td>
                  </tr>
                </tbody>
***************
*** 544,581 ****
          <p>
            If the typed dimension filter does not contain a 
            <att>test</att> attribute, then its implied XPath 
!           expression is specified in the following table.  
!           It depends upon the value of the 
!           <att>contextElement</att> attribute on the 
!           filter's <elt>df:dimension</elt> child element.
          </p>
  
!         <table>
!           <thead>
!             <tr>
!               <th><att>contextElement</att> attribute value</th>
!               <th>Implied XPath expression</th>
!             </tr>
!           </thead>
!           <tbody>
!             <tr>
!               <td><val>segment</val></td>
!               <td>
!                 <code>
!                 xfi:concept-has-segment-dimension(fn:node-name(.),#dimension)
!                 </code>
!               </td>
!             </tr>
!             <tr>
!               <td><val>scenario</val></td>
!               <td>
!                 <code>
!                 xfi:concept-has-scenario-dimension(fn:node-name(.),#dimension)
!                 </code>
!               </td>
!             </tr>
!           </tbody>
!         </table>
  
          <p>
            where <val>#dimension</val> is determined as specified 
--- 504,517 ----
          <p>
            If the typed dimension filter does not contain a 
            <att>test</att> attribute, then its implied XPath 
!           expression is then:
          </p>
  
!         <p>
!           <code>
!           xfi:fact-has-typed-dimension(.,#dimension)
!           </code>
!         </p>
  
          <p>
            where <val>#dimension</val> is determined as specified 
***************
*** 585,625 ****
          <p>
            If the typed dimension filter does contain a 
            <att>test</att> attribute, then its implied XPath 
!           expression is given in the table below.
!           It depends upon the value of the 
!           <att>contextElement</att> attribute on the 
!           filter's <elt>df:dimension</elt> child element.
          </p>
  
!         <table>
!           <thead>
!             <tr>
!               <th><att>contextElement</att> attribute value</th>
!               <th>Implied XPath expression</th>
!             </tr>
!           </thead>
!           <tbody>
!             <tr>
!               <td><val>segment</val></td>
!               <td>
!                 <code>
!                 xfi:concept-has-segment-dimension(fn:node-name(.),#dimension) and 
!                 xfi:fact-typed-segment-dimension-value(.,#dimension)[#test]
!                 </code>
!               </td>
!             </tr>
!             <tr>
!               <td><val>scenario</val></td>
!               <td>
!                 <code>
!                 xfi:concept-has-scenario-dimension(fn:node-name(.),#dimension) and 
!                 xfi:fact-typed-scenario-dimension-value(.,#dimension)[#test]
!                 </code>
!               </td>
!             </tr>
!           </tbody>
!         </table>
! 
          <p>
            where <val>#dimension</val> is determined as specified 
            for explicit dimension filters and <val>#test</val> is
--- 521,538 ----
          <p>
            If the typed dimension filter does contain a 
            <att>test</att> attribute, then its implied XPath 
!           expression is then:
          </p>
  
!         <p>
!           <code>
!            (
!             xfi:fact-has-typed-dimension(., #dimension) and
!             xfi:fact-typed-dimension-value(., #dimension)[#test]
!            )
!           </code>
!         </p>
!         
          <p>
            where <val>#dimension</val> is determined as specified 
            for explicit dimension filters and <val>#test</val> is
***************
*** 652,658 ****
                <thead>
                  <tr>
                    <th>Dimension QName</th>
-                   <th>Context element</th>
                    <th><att>test</att></th>
                    <th>Selection criteria</th>
                  </tr>
--- 565,570 ----
***************
*** 663,671 ****
                      <val>eg:altitude</val>
                    </td>
                    <td>
-                     <val>segment</val>
-                   </td>
-                   <td>
                      <val>xs:boolean('true')</val>
                    </td>
                    <td>
--- 575,580 ----
***************
*** 678,686 ****
                      <val>eg:altitude</val>
                    </td>
                    <td>
-                     <val>segment</val>
-                   </td>
-                   <td>
                      <val>eg:height &gt; 0</val>
                    </td>
                    <td>
--- 587,592 ----
***************
*** 1039,1045 ****
              Fixed broken hyperlinks.
            </p>
          </revision>
!         
        </revisions>
  
      </section>
--- 945,1034 ----
              Fixed broken hyperlinks.
            </p>
          </revision>
! 
!         <revision ref="person-geoff" day="13" month="06" year="2008">
!           <p>
!             Redesigned the implied XPath expressions for the filters so that exceptions are not
!             being thrown because some facts in the instance being filtered are not permitted to
!             have the dimension being used for filtering.  The modification ensures that such facts
!             are rejected by the filter rather than causing variable set evaluation to halt.
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="25" month="08" year="2008">
!           <p>
!             Eliminated the <att>contextElement</att> attribute to reflect the simplification of
!             the dimensional aspect model to only have dimensions rather than differentiating segment
!             and scenario dimensions.
!           </p>
!           <p>
!             Changed explicit dimension filters to be more flexible with regard to the way that they 
!             can utilise networks of relationships between domain members.  Instead of working with
!             domains defined in terms of a single conjunction of hypercubes, an explicit dimension filter
!             defines a single comprehensive domain for the filter dimension and then allows filtrations
!             to be expressed based upon selections from that comprehensive domain, using networks of 
!             relationships to determine the relevant selections from that comprehensive domain.
!             These changes were motivated by feedback from the COREP and FINREP taxonomies provided by
!             <personref ref="person-victor"/>.  They enable various networks of domain-member relationships to
!             be used for some filtering purposes and when those are not sufficient or are not designed in 
!             a way that supports the intended filtering, they allow other kinds of more specialised networks
!             to be exploited to determine filtering behaviour. 
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="27" month="08" year="2008">
!           <p>
!             Fixed the various implied XPath expressions to complete
!             adjustments to the specification to reflect the collapsing
!             of segment and scenario dimension aspects into a single
!             dimension aspect. Also modified the implied XPath
!             expressions to reflect the fact that facts can have
!             dimension aspects independent of the hypercube associations
!             of their concept.  These corrections were all made on the basis of
!             feedback from <personref ref="person-victor"/>.
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="02" month="09" year="2008">
!           <p>
!             Split the xfi:fact-has-dimension function to have one function for
!             typed dimensions and one for explicit dimensions.  This way, if the wrong 
!             kind of dimension is used for a dimension filter, that will trigger a 
!             error code when testing for the dimension.
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="05" month="09" year="2008">
!           <p>
!             Rearranged paragraphs to ensure that the the definitions are 
!             provided before they are used in the explicit dimension filter section.
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="09" month="09" year="2008">
!           <p>
!             Modified the definition of the  explicit dimension domain to be expressed in
!             terms of domains of valid members of explicit dimensions, as defined in 
!             <bibref ref="DIMENSIONS"/>.
!           </p>
!         </revision>
! 
!         <revision ref="person-geoff" day="14" month="11" year="2008">
!           <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>variable</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>
! 
! 
        </revisions>
  
      </section>
