  <define name='svg.feMerge.content'>
    <zeroOrMore>
      <ref name='feMergeNode'/>
    </zeroOrMore>
  </define>

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

  <define name='attlist.feMerge' combine='interleave'>
    <ref name='svg.Core.attrib'/>
    <ref name='svg.FilterColor.attrib'/>
    <ref name='svg.FilterPrimitive.attrib'/>
  </define>

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

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

  <define name='attlist.feMergeNode' combine='interleave'>
    <ref name='svg.Core.attrib'/>
    <optional>
      <attribute name='in'/>
    </optional>
  </define>
