*** previous/concept-filters.xml	2008-03-12 10:58:10.000000000 +0100
--- current/concept-filters.xml	2008-02-27 13:56:49.000000000 +0100
***************
*** 531,537 ****
                <tr>
                  <td>
                    <verbatim>
!                     <cf:conceptCustomAttribute value="false">
                        <cf:attribute>
                          <cf:qnameExpression>fn:QName('http://example.com/','custom')</cf:qnameExpression>
                        </cf:attribute>
--- 531,537 ----
                <tr>
                  <td>
                    <verbatim>
!                     <cf:conceptCustomAttribute value="fn:false()">
                        <cf:attribute>
                          <cf:qnameExpression>fn:QName('http://example.com/','custom')</cf:qnameExpression>
                        </cf:attribute>
***************
*** 574,580 ****
          </p>
  
          <p>
!           <code>xfi:concept-data-type(fn:node-name(.),#qnameExpression)</code>
          </p>
  
          <p>
--- 574,580 ----
          </p>
  
          <p>
!           <code>xfi:concept-data-type(fn:node-name(.)) eq #qnameExpression</code>
          </p>
  
          <p>
***************
*** 590,596 ****
          </p>
  
          <p>
!           <code>./self::element(*,#qnameExpression ?)</code>
          </p>
  
          <p>
--- 590,599 ----
          </p>
  
          <p>
!           <code>xfi:concept-data-type-derived-from(
!                   fn:node-name(.),
!                   #qnameExpression
!                 )</code>
          </p>
  
          <p>
***************
*** 605,612 ****
          </p>
  
          <p>
!           <code>xfi:concept-data-type(fn:node-name(.),fn:QName(#namespace,#name))</code>
          </p>
          <p>
            where <val>#namespace</val> is the namespace for the QName specified as
            the content of the <elt>cf:qname</elt> element and <val>#name</val> is the local
--- 608,616 ----
          </p>
  
          <p>
!           <code>xfi:concept-data-type(fn:node-name(.)) eq fn:QName(#namespace,#name))</code>
          </p>
+ 
          <p>
            where <val>#namespace</val> is the namespace for the QName specified as
            the content of the <elt>cf:qname</elt> element and <val>#name</val> is the local
***************
*** 621,627 ****
          </p>
  
          <p>
!           <code>./self::element(*,fn:QName(#namespace,#name) ?)</code>
          </p>
  
          <p>
--- 625,634 ----
          </p>
  
          <p>
!           <code>xfi:concept-data-type-derived-from(
!                   fn:node-name(.),
!                   fn:QName(#namespace,#name)
!                 )</code>
          </p>
  
          <p>
***************
*** 892,897 ****
--- 899,905 ----
  
        <bibliography>
            <includeChunk ref="boilerplate/references/XML.xml"/>
+           <includeChunk ref="boilerplate/references/XFUNCTIONS.xml"/>
            <includeChunk ref="boilerplate/references/XMLNAMES.xml"/>
            <includeChunk ref="boilerplate/references/XMLSCHEMA-STRUCTURES.xml"/>
            <includeChunk ref="boilerplate/references/XMLSCHEMA-DATATYPES.xml"/>
***************
*** 1181,1186 ****
--- 1189,1234 ----
            </p>
          </revision>
  
+         <revision ref="person-geoff" day="19" month="02" year="2008">
+           <p>
+             Changed the <val>false</val> value of the <att>value</att> attribute 
+             in the custom attribute filter example to <val>fn:false()</val> 
+             to align with the explanation of the example, as 
+             suggested by <personref ref="person-okumura"/>.
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="20" month="02" year="2008">
+           <p>
+             Changed the implied XPath expressions for non-strict concept data-type filters 
+             to replace the element test with a functionally equivalent XBRL function.
+             This was necessitated by the need to express the data type in the element test
+             as a <val>xs:string</val> rather than a <val>xs:QName</val>.  The conversion from
+             the QName supplied in the filter to the string representation of it, required to use
+             the element test, could, in some circumstances, have caused unintended mappings 
+             from one namespace to another, depending upon the in-scope namespace prefix mappings
+             when evaluating the implied XPath expression.
+             The need to use a <val>xs:string</val> argument in the element test  
+             was pointed out by <personref ref="person-okumura"/>.
+           </p>
+           <p>
+             Updated the implied XPath expressions for the strict concept data-type filters to bring them
+             into line with the previously simplified design of the XBRL function that obtains the data
+             type of XBRL concepts.
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="26" month="02" year="2008">
+           <p>
+             Changed the function implied XPath expression for the concept data-type filter
+             to conform to the signature for the XBRL function that checks whether the 
+             data type of a concept is derived from a specified data type.  This enables
+             the filter to be used for concepts with anonymous data types and was suggested
+             by <personref ref="person-okumura"/>.
+           </p>
+         </revision>
+ 
+ 
        </revisions>
  
      </section>
*** previous/concept-filters.xml	2008-03-12 10:58:10.000000000 +0100
--- current/concept-filters.xml	2008-03-20 20:25:34.000000000 +0100
***************
*** 531,537 ****
                <tr>
                  <td>
                    <verbatim>
!                     <cf:conceptCustomAttribute value="false">
                        <cf:attribute>
                          <cf:qnameExpression>fn:QName('http://example.com/','custom')</cf:qnameExpression>
                        </cf:attribute>
--- 531,537 ----
                <tr>
                  <td>
                    <verbatim>
!                     <cf:conceptCustomAttribute value="fn:false()">
                        <cf:attribute>
                          <cf:qnameExpression>fn:QName('http://example.com/','custom')</cf:qnameExpression>
                        </cf:attribute>
***************
*** 574,580 ****
          </p>
  
          <p>
!           <code>xfi:concept-data-type(fn:node-name(.),#qnameExpression)</code>
          </p>
  
          <p>
--- 574,580 ----
          </p>
  
          <p>
!           <code>xfi:concept-data-type(fn:node-name(.)) eq #qnameExpression</code>
          </p>
  
          <p>
***************
*** 590,596 ****
          </p>
  
          <p>
!           <code>./self::element(*,#qnameExpression ?)</code>
          </p>
  
          <p>
--- 590,599 ----
          </p>
  
          <p>
!           <code>xfi:concept-data-type-derived-from(
!                   fn:node-name(.),
!                   #qnameExpression
!                 )</code>
          </p>
  
          <p>
***************
*** 605,612 ****
          </p>
  
          <p>
!           <code>xfi:concept-data-type(fn:node-name(.),fn:QName(#namespace,#name))</code>
          </p>
          <p>
            where <val>#namespace</val> is the namespace for the QName specified as
            the content of the <elt>cf:qname</elt> element and <val>#name</val> is the local
--- 608,616 ----
          </p>
  
          <p>
!           <code>xfi:concept-data-type(fn:node-name(.)) eq fn:QName(#namespace,#name))</code>
          </p>
+ 
          <p>
            where <val>#namespace</val> is the namespace for the QName specified as
            the content of the <elt>cf:qname</elt> element and <val>#name</val> is the local
***************
*** 621,627 ****
          </p>
  
          <p>
!           <code>./self::element(*,fn:QName(#namespace,#name) ?)</code>
          </p>
  
          <p>
--- 625,634 ----
          </p>
  
          <p>
!           <code>xfi:concept-data-type-derived-from(
!                   fn:node-name(.),
!                   fn:QName(#namespace,#name)
!                 )</code>
          </p>
  
          <p>
***************
*** 892,902 ****
  
        <bibliography>
            <includeChunk ref="boilerplate/references/XML.xml"/>
            <includeChunk ref="boilerplate/references/XMLNAMES.xml"/>
            <includeChunk ref="boilerplate/references/XMLSCHEMA-STRUCTURES.xml"/>
            <includeChunk ref="boilerplate/references/XMLSCHEMA-DATATYPES.xml"/>
            <includeChunk ref="boilerplate/references/XBRL.xml"/>
-           <includeChunk ref="boilerplate/references/XBRLFUNCTIONS.xml"/>
            <includeChunk ref="boilerplate/references/VARIABLES.xml"/>
        </bibliography>
      
--- 899,909 ----
  
        <bibliography>
            <includeChunk ref="boilerplate/references/XML.xml"/>
+           <includeChunk ref="boilerplate/references/XFUNCTIONS.xml"/>
            <includeChunk ref="boilerplate/references/XMLNAMES.xml"/>
            <includeChunk ref="boilerplate/references/XMLSCHEMA-STRUCTURES.xml"/>
            <includeChunk ref="boilerplate/references/XMLSCHEMA-DATATYPES.xml"/>
            <includeChunk ref="boilerplate/references/XBRL.xml"/>
            <includeChunk ref="boilerplate/references/VARIABLES.xml"/>
        </bibliography>
      
***************
*** 1181,1186 ****
--- 1188,1233 ----
            </p>
          </revision>
  
+         <revision ref="person-geoff" day="19" month="02" year="2008">
+           <p>
+             Changed the <val>false</val> value of the <att>value</att> attribute 
+             in the custom attribute filter example to <val>fn:false()</val> 
+             to align with the explanation of the example, as 
+             suggested by <personref ref="person-okumura"/>.
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="20" month="02" year="2008">
+           <p>
+             Changed the implied XPath expressions for non-strict concept data-type filters 
+             to replace the element test with a functionally equivalent XBRL function.
+             This was necessitated by the need to express the data type in the element test
+             as a <val>xs:string</val> rather than a <val>xs:QName</val>.  The conversion from
+             the QName supplied in the filter to the string representation of it, required to use
+             the element test, could, in some circumstances, have caused unintended mappings 
+             from one namespace to another, depending upon the in-scope namespace prefix mappings
+             when evaluating the implied XPath expression.
+             The need to use a <val>xs:string</val> argument in the element test  
+             was pointed out by <personref ref="person-okumura"/>.
+           </p>
+           <p>
+             Updated the implied XPath expressions for the strict concept data-type filters to bring them
+             into line with the previously simplified design of the XBRL function that obtains the data
+             type of XBRL concepts.
+           </p>
+         </revision>
+ 
+         <revision ref="person-geoff" day="26" month="02" year="2008">
+           <p>
+             Changed the function implied XPath expression for the concept data-type filter
+             to conform to the signature for the XBRL function that checks whether the 
+             data type of a concept is derived from a specified data type.  This enables
+             the filter to be used for concepts with anonymous data types and was suggested
+             by <personref ref="person-okumura"/>.
+           </p>
+         </revision>
+ 
+ 
        </revisions>
  
      </section>
