To make route templates (aka kamelets) more flexible it can benefit that we allow to declare routes whether they should be included or excluded. This allows to parameterize these routes and therefore only include them if the template has a parameter included for this.
A bit like the new doSwitch which optimizes the when and only select the one that has a parameter from the template.
Now we need to come up with a good name for such an option, and should it be include/exclude, filter, or pattern or enabled/disabled or something else.
We can use simple language so you can say something like:
<route enabled="protocol == 'avro'">
<route enabled="protocol == 'json'">