PROBLEM
Currently when we want a property to be a boolean, we use an int type and a convention to code for boolean values.
This can create inconsistency if the convention change in different locations.
For example 0 means false, but do we allow only 1 as another value, or any int values other than zero means true?
Plus in the code this leads to things like if ( p == 0 ) which is less legible than if ( !p ), for example.
SUGGESTED SOLUTION
Accept strings as boolean and parse valid values?
This parser could accept values like (case insensitive): true/false, yes/no, 0/1, ...
<property name="myBoolPropName1" type="boolean" value="True"/>