<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2007 XBRL International. All Rights Reserved. 
 
This version is non-normative - it should be identical to the normative version that is contained in Appendix A of the relevant specification except for this comment.

Following the schema maintenance policy of XBRL International, it is the intent (but is not guaranteed) that the location of non-normative versions of these schemas on the web will be as follows:

1)	While any schema is the most current RECOMMENDED version and until it is superseded by any additional errata corrections a non-normative version will reside on the web in the directory http://www.xbrl.org/2008/ - during the drafting process for this specification this directory should contain a copy of the most recent published version of the schema at http://www.xbrl.org/2008/dimension-filter.xsd.

2)	A non-normative version of each schema as corrected by any update to the RECOMMENDATION will be archived in perpetuity on the web in a directory that will contain a unique identification indicating the date of the update.

-->
<schema 
  targetNamespace="http://xbrl.org/2008/filter/dimension"
  elementFormDefault="qualified"
  xmlns="http://www.w3.org/2001/XMLSchema" 
  xmlns:df="http://xbrl.org/2008/filter/dimension" 
  xmlns:variable="http://xbrl.org/2008/variable"
>

  <import namespace="http://www.xbrl.org/2003/XLink" 
    schemaLocation="http://www.xbrl.org/2003/xl-2003-12-31.xsd"/>

  <import namespace="http://xbrl.org/2008/variable" 
    schemaLocation="variable.xsd"/>

  <complexType id="xml-dimension-model" name="dimension.model">
    <choice>
      <element name="qname" type="QName"/>
      <element name="qnameExpression" type="variable:expression"/>
    </choice>
  </complexType>

  <complexType name="member.model">
    <sequence>
      <choice>
        <element name="variable" type="variable:QName"/>
        <element name="qname" type="QName"/>
        <element name="qnameExpression" type="variable:expression"/>
      </choice>
      <sequence minOccurs="0" maxOccurs="1">
        <element name="linkrole" type="anyURI"/>
        <element name="arcrole" type="anyURI"/> 
        <element name="axis">
          <simpleType>
            <restriction base="token">
              <enumeration value="child-or-self"/>
              <enumeration value="child"/>
              <enumeration value="descendant"/>
              <enumeration value="descendant-or-self"/>
            </restriction>
          </simpleType>
        </element>
      </sequence>
    </sequence>
  </complexType>

  <element  id="xml-explicit-dimension-filter" 
  name="explicitDimension" substitutionGroup="variable:filter">
    <complexType mixed="true">
      <complexContent mixed="true">
        <extension base="variable:resource.type">
          <sequence>
            <element name="dimension" type="df:dimension.model"/>
            <element name="member" type="df:member.model" minOccurs="0" maxOccurs="unbounded"/>
          </sequence>
        </extension>
      </complexContent>
    </complexType>
  </element>

  <element id="xml-typed-dimension-filter"
  name="typedDimension" substitutionGroup="variable:filter">
    <complexType mixed="true">
      <complexContent mixed="true">
        <extension base="variable:resource.type">
          <sequence>
            <element name="dimension" type="df:dimension.model"/>
          </sequence>
          <attribute name="test" type="variable:expression" use="optional"/>
        </extension>
      </complexContent>
    </complexType>
  </element>

</schema>