Reports inconsistent tags and attributes on injection points in XML application contexts.

Example:


  <beans>

  <!-- 1.  Property is only allowed to contain either "ref" attribute OR "value" attribute OR sub-element -->
  <bean class="MyClass">
    <property name="bean" ref="myBean" value="foo"/>
    // Property is only allowed to contain either "ref" attribute OR "value" attribute OR sub-element
  </bean>

  <!--  2.  Property must not contain more than one sub-element -->
  <bean class="MyFactory">
    <property name="bean">
    <ref>bean</ref> // Property must not contain more than one sub-element
     <value>foo</value> // Property must not contain more than one sub-element
     </property>
  </bean>

  <!-- 3. Map entry must specify a key  -->
  <bean class="MyBean">
     <property name="map">
        <map>
           <entry value="foo"/>  // Map entry must specify a key
        </map>
     </property>
  </bean>
  </beans>