  <define name='svg.feDisplacementMap.content'>
    <zeroOrMore>
      <choice>
        <ref name='animate'/>
        <ref name='set'/>
      </choice>
    </zeroOrMore>
  </define>

  <define name='feDisplacementMap'>
    <element name='feDisplacementMap'>
      <ref name='attlist.feDisplacementMap'/>
      <ref name='svg.feDisplacementMap.content'/>
    </element>
  </define>

  <define name='attlist.feDisplacementMap' combine='interleave'>
    <ref name='svg.Core.attrib'/>
    <ref name='svg.FilterColor.attrib'/>
    <ref name='svg.FilterPrimitiveWithIn.attrib'/>
    <attribute name='in2'/>
    <optional>
      <attribute name='scale'>
        <ref name='Number.datatype'/>
      </attribute>
    </optional>
    <optional>
      <attribute name='xChannelSelector' a:defaultValue='A'>
        <choice>
          <value>R</value>
          <value>G</value>
          <value>B</value>
          <value>A</value>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute name='yChannelSelector' a:defaultValue='A'>
        <choice>
          <value>R</value>
          <value>G</value>
          <value>B</value>
          <value>A</value>
        </choice>
      </attribute>
    </optional>
  </define>
