*** previous/period-filters.xml	2009-04-11 14:35:46.000000000 -0700
--- current/period-filters.xml	2009-04-11 14:34:53.000000000 -0700
***************
*** 138,144 ****
            The XPath expression implied by a period filter is:
          </p>
          <p>
!           <code>xfi:period(.)[#test]</code>
          </p>
  
          <p>
--- 138,147 ----
            The XPath expression implied by a period filter is:
          </p>
          <p>
!           <code>
!           if (fn:QName("http://www.xbrl.org/2003/instance","tuple") intersect xfi:concept-substitutions(fn:node-name(.)))
!           else (xfi:period(.)[#test])
!           </code>
          </p>
  
          <p>
***************
*** 193,203 ****
          </p>
          <p>
            <code>
!             xfi:period(.)[
                if (xfi:is-start-end-period(.))
!               then (xfi:period-start(.) eq fn:dateTime(xs:date('#date'), xs:time('#time')))
                else fn:false()
!             ]
            </code>
          </p>
  
--- 196,208 ----
          </p>
          <p>
            <code>
!           if (fn:QName("http://www.xbrl.org/2003/instance","tuple") intersect xfi:concept-substitutions(fn:node-name(.)))
!           else
!             (xfi:period(.)[
                if (xfi:is-start-end-period(.))
!               then (xfi:period-start(.) eq fn:dateTime(#date, #time))
                else fn:false()
!             ])
            </code>
          </p>
  
***************
*** 213,223 ****
          </p>
          <p>
            <code>
!             xfi:period(.)[
                if (xfi:is-start-end-period(.))
!               then (xfi:period-start(.) eq fn:dateTime(xs:date('#date'), xs:time('00:00:00')))
                else fn:false()
!             ]
            </code>
          </p>
  
--- 218,230 ----
          </p>
          <p>
            <code>
!           if (fn:QName("http://www.xbrl.org/2003/instance","tuple") intersect xfi:concept-substitutions(fn:node-name(.)))
!           else
!             (xfi:period(.)[
                if (xfi:is-start-end-period(.))
!               then (xfi:period-start(.) eq fn:dateTime(#date, xs:time('00:00:00')))
                else fn:false()
!             ])
            </code>
          </p>
  
***************
*** 238,258 ****
              </thead>
              <tbody>
                <tr>
!                 <td><val>2006-01-01</val></td>
                  <td><val>omitted</val></td>
                  <td>
                    Facts must be reported with a finite
                    duration that begins at the start of
                    the day on January 1, 2006. See 
!                   <xtermref bibref="XBRL" idref="_Toc156209161">
!                     the relevant section of the XBRL Specification
!                   </xtermref>
                    for a more detailed explanation.
                  </td>
                </tr>
                <tr>
!                 <td><val>2007-01-01</val></td>
!                 <td><val>00:00:00</val></td>
                  <td>Facts must be reported with a finite
                  duration that begins at the start of
                  the day on January 1, 2007.</td>
--- 245,263 ----
              </thead>
              <tbody>
                <tr>
!                 <td><val>xs:date('2006-01-01')</val></td>
                  <td><val>omitted</val></td>
                  <td>
                    Facts must be reported with a finite
                    duration that begins at the start of
                    the day on January 1, 2006. See 
!                   <xtermref bibref="XBRL" idref="_4.7.2">the relevant section of the XBRL Specification</xtermref>
                    for a more detailed explanation.
                  </td>
                </tr>
                <tr>
!                 <td><val>xs:date('2007-01-01')</val></td>
!                 <td><val>xs:time('00:00:00')</val></td>
                  <td>Facts must be reported with a finite
                  duration that begins at the start of
                  the day on January 1, 2007.</td>
***************
*** 288,298 ****
          </p>
          <p>
            <code>
!             xfi:period(.)[
                if (xfi:is-start-end-period(.))
!               then (xfi:period-end(.) eq fn:dateTime(xs:date('#date'), xs:time('#time')))
                else fn:false()
!             ]
            </code>
          </p>
  
--- 293,305 ----
          </p>
          <p>
            <code>
!           if (fn:QName("http://www.xbrl.org/2003/instance","tuple") intersect xfi:concept-substitutions(fn:node-name(.)))
!           else
!             (xfi:period(.)[
                if (xfi:is-start-end-period(.))
!               then (xfi:period-end(.) eq fn:dateTime(#date, #time))
                else fn:false()
!             ])
            </code>
          </p>
  
***************
*** 309,319 ****
  
          <p>
            <code>
!             xfi:period(.)[
                if (xfi:is-start-end-period(.))
!               then (xfi:period-end(.) eq (fn:dateTime(xs:date('#date'), xs:time('00:00:00'))+ xs:dayTimeDuration('P1D')))
                else fn:false()
!             ]
            </code>
          </p>
  
--- 316,328 ----
  
          <p>
            <code>
!           if (fn:QName("http://www.xbrl.org/2003/instance","tuple") intersect xfi:concept-substitutions(fn:node-name(.)))
!           else
!             (xfi:period(.)[
                if (xfi:is-start-end-period(.))
!               then (xfi:period-end(.) eq (fn:dateTime(#date, xs:time('00:00:00'))+ xs:dayTimeDuration('P1D')))
                else fn:false()
!             ])
            </code>
          </p>
  
***************
*** 334,348 ****
              </thead>
              <tbody>
                <tr>
!                 <td><val>2006-01-01</val></td>
                  <td><val>omitted</val></td>
                  <td>Facts must be reported with a finite
                  duration that ends at the end of
                  the day on January 1, 2006.</td>
                </tr>
                <tr>
!                 <td><val>2007-01-01</val></td>
!                 <td><val>00:00:00</val></td>
                  <td>Facts must be reported with a finite
                  duration that ends at the start of
                  the day on January 1, 2007.</td>
--- 343,357 ----
              </thead>
              <tbody>
                <tr>
!                 <td><val>xs:date('2006-01-01')</val></td>
                  <td><val>omitted</val></td>
                  <td>Facts must be reported with a finite
                  duration that ends at the end of
                  the day on January 1, 2006.</td>
                </tr>
                <tr>
!                 <td><val>xs:date('2007-01-01')</val></td>
!                 <td><val>xs:date('00:00:00')</val></td>
                  <td>Facts must be reported with a finite
                  duration that ends at the start of
                  the day on January 1, 2007.</td>
***************
*** 378,388 ****
          </p>
          <p>
            <code>
!             xfi:period(.)[
                if (xfi:is-instant-period(.))
!               then (xfi:instant(.) eq fn:dateTime(xs:date('#date'), xs:time('#time')))
                else fn:false()
!             ]
            </code>
          </p>
  
--- 387,399 ----
          </p>
          <p>
            <code>
!           if (fn:QName("http://www.xbrl.org/2003/instance","tuple") intersect xfi:concept-substitutions(fn:node-name(.)))
!           else
!             (xfi:period(.)[
                if (xfi:is-instant-period(.))
!               then (xfi:period-instant(.) eq fn:dateTime(#date, #time))
                else fn:false()
!             ])
            </code>
          </p>
  
***************
*** 398,408 ****
          </p>
          <p>
            <code>
!             xfi:period(.)[
                if (xfi:is-instant-period(.))
!               then (xfi:instant(.) eq (fn:dateTime(xs:date('#date'), xs:time('00:00:00'))+ xs:dayTimeDuration('P1D')))
                else fn:false()
!             ]
            </code>
          </p>
  
--- 409,421 ----
          </p>
          <p>
            <code>
!           if (fn:QName("http://www.xbrl.org/2003/instance","tuple") intersect xfi:concept-substitutions(fn:node-name(.)))
!           else
!             (xfi:period(.)[
                if (xfi:is-instant-period(.))
!               then (xfi:period-instant(.) eq (fn:dateTime(#date, xs:time('00:00:00'))+ xs:dayTimeDuration('P1D')))
                else fn:false()
!             ])
            </code>
          </p>
  
***************
*** 423,435 ****
              </thead>
              <tbody>
                <tr>
!                 <td><val>2006-01-01</val></td>
                  <td><val>omitted</val></td>
                  <td>Facts must be reported as at the end of January 1, 2006.</td>
                </tr>
                <tr>
!                 <td><val>2007-01-01</val></td>
!                 <td><val>00:00:00</val></td>
                  <td>Facts must be reported as at the start of January 1, 2007.</td>
                </tr>
              </tbody>
--- 436,448 ----
              </thead>
              <tbody>
                <tr>
!                 <td><val>xs:date('2006-01-01')</val></td>
                  <td><val>omitted</val></td>
                  <td>Facts must be reported as at the end of January 1, 2006.</td>
                </tr>
                <tr>
!                 <td><val>xs:date('2007-01-01')</val></td>
!                 <td><val>xs:time('00:00:00')</val></td>
                  <td>Facts must be reported as at the start of January 1, 2007.</td>
                </tr>
              </tbody>
***************
*** 462,468 ****
          </p>
          <p>
            <code>
!             xfi:period(.)[xfi:is-forever-period(.)]
            </code>
          </p>
  
--- 475,482 ----
          </p>
          <p>
            <code>
!           if (fn:QName("http://www.xbrl.org/2003/instance","tuple") intersect xfi:concept-substitutions(fn:node-name(.)))
!           else (xfi:period(.)[xfi:is-forever-period(.)])
            </code>
          </p>
  
***************
*** 497,507 ****
  
          <p>
            <code>
!             xfi:period(.)[
                if (xfi:is-instant-period(.) and xfi:is-start-end-period(xfi:period($#variable))) 
!               then (xfi:instant(.) eq xfi:period-start(xfi:period($#variable)))
                else fn:false()
!             ]
            </code>
          </p>
  
--- 511,522 ----
  
          <p>
            <code>
!           if (fn:QName("http://www.xbrl.org/2003/instance","tuple") intersect xfi:concept-substitutions(fn:node-name(.)))
!           else (xfi:period(.)[
                if (xfi:is-instant-period(.) and xfi:is-start-end-period(xfi:period($#variable))) 
!               then (xfi:period-instant(.) eq xfi:period-start(xfi:period($#variable)))
                else fn:false()
!             ])
            </code>
          </p>
  
***************
*** 517,527 ****
  
          <p>
            <code>
!             xfi:period(.)[
                if (xfi:is-instant-period(.) and xfi:is-start-end-period(xfi:period($#variable))) 
!               then (xfi:instant(.) eq xfi:period-end(xfi:period($#variable)))
                else fn:false()
!             ]
            </code>
          </p>
  
--- 532,543 ----
  
          <p>
            <code>
!           if (fn:QName("http://www.xbrl.org/2003/instance","tuple") intersect xfi:concept-substitutions(fn:node-name(.)))
!           else (xfi:period(.)[
                if (xfi:is-instant-period(.) and xfi:is-start-end-period(xfi:period($#variable))) 
!               then (xfi:period-instant(.) eq xfi:period-end(xfi:period($#variable)))
                else fn:false()
!             ])
            </code>
          </p>
  
***************
*** 750,755 ****
--- 766,811 ----
            </p>
          </revision>
  
+         <revision ref="person-geoff" day="14" month="04" year="2008">
+           <p>
+             <val>xfi:instant</val> changed to <val>xfi:period-instant</val> to 
+             conform with the function registry as suggested by <personref ref="person-muramoto"/>.
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="12" month="08" year="2008">
+           <p>
+             Corrected the implied XPath expressions, replacing 
+             <val>xs:date('#date')</val> with <val>#date</val>
+             and replacing 
+             <val>xs:date('#time')</val> with <val>#time</val> so that
+             the <att>date</att> and <att>time</att> attributes can supply
+             dynamic values.  The need for this correction was identified by
+             <personref ref="person-herm"/>. 
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="22" month="09" year="2008">
+           <p>
+             Corrected the examples to reflect the implied XPath expression 
+             changes made on 12 August, 2008. The need for this correction was 
+             identified by <personref ref="person-victor"/>. 
+           </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>
+ 
+         <revision ref="person-geoff" day="23" month="03" year="2009">
+           <p>
+             Modified the implied XPath expressions to ensure that they do not cause exceptions to be
+             thrown if the input XBRL instance contains tuples.
+           </p>
+         </revision>
+ 
        </revisions>
  
      </section>
