the main attribute of component property type is the type name, which you correctly identified (e.g. name="int"). Additionally various types can be configured in more detail, and the configuration is specific for the type. So for example - in case of "key" type, the property contains definition of key (e.g. join key, sort key etc). Then the inputPortName="0" attribute specifies that the key will be defined on fields of the first input port. We support different kinds of keys (join key, sort key etc), so these can be selected via the "keyType" attribute.
Currently we unfortunately don't provide public documentation of all of the above. We provide additional documentation in our OEM partnership program, so feel free to contact us (email@example.com
Alternatively, if you could describe the requirements of you component here, then we'll try to help you with the ETLComponent element.