Project and Gazebo plugins

I can’t find a good explanation regarding tags that have two different formats, for example:
<always_on> and <alwaysOn>, <update_rate> and <updateRate> and so on.
The one thing I have noticed is the all lowercase one’s precede the actual plugin:

<plugin name="kinect_controller" filename="">

and the one’s with caps follow the plugin. What is the reason for the two and why is one placed before and the other place after the plugin ?

I’m not 100% sure, but one thing is the tags for sensors ( the tgs outside the plugin ), which are Gazebo API tags, and the Other ( the ones inside the plugin TAG ) which are defined in the PLuging library, which really are not directly defined by Gazebo. That could be one explanation.