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>