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

  <define name='feSpotLight'>
    <element name='feSpotLight'>
      <ref name='feSpotLight.attr'/>
      <ref name='svg.feSpotLight.content'/>
    </element>
  </define>
  
  <define name='feSpotLight.attr' combine='interleave'>
    <ref name='svg.Core.attr'/>
    <optional>
      <attribute name='x'>
        <ref name='Number.datatype'/>
      </attribute>
    </optional>
    <optional>
      <attribute name='y'>
        <ref name='Number.datatype'/>
      </attribute>
    </optional>
    <optional>
      <attribute name='z'>
        <ref name='Number.datatype'/>
      </attribute>
    </optional>
    <optional>
      <attribute name='pointsAtX'>
        <ref name='Number.datatype'/>
      </attribute>
    </optional>
    <optional>
      <attribute name='pointsAtY'>
        <ref name='Number.datatype'/>
      </attribute>
    </optional>
    <optional>
      <attribute name='pointsAtZ'>
        <ref name='Number.datatype'/>
      </attribute>
    </optional>
    <optional>
      <attribute name='specularExponent'>
        <ref name='Number.datatype'/>
      </attribute>
    </optional>
    <optional>
      <attribute name='limitingConeAngle'>
        <ref name='Number.datatype'/>
      </attribute>
    </optional>
  </define>
