In case where the Betza's string is almost longer than what you need to explain, I believe you can forget it.
Indeed. Although Betza notation was initially conceived for the purpose of describing piece moves in a clear and compact way, it has evolved to a state where it has basically become a programming language in itself. With an expressive power so large that it can handle quite complex side effects of moves, such as pushing other pieces. This is a lucky coincidence we can take advantage of for programming a computer to handle the piece, but no longer useful as a description of the move for humans.
For descriptive purposes I would strongly recommend to use the bracket notation for multi-leg moves. Even in cases where the bracket notation would not yet work in the ID. It is much more easily readable than pure XBetza, because it does not need range toggles and extra intermediate square for making the atoms for the various legs compatible, as you can specify the atom for each leg independently.
I'm expecting this will be done in an automated way, since there are 151 total cards to convert (71 in the basic game, and 80 expansion cards).
You can suppress XBetza strings that are exceeding a certain length; it should be possible to do that automatically.
Indeed. Although Betza notation was initially conceived for the purpose of describing piece moves in a clear and compact way, it has evolved to a state where it has basically become a programming language in itself. With an expressive power so large that it can handle quite complex side effects of moves, such as pushing other pieces. This is a lucky coincidence we can take advantage of for programming a computer to handle the piece, but no longer useful as a description of the move for humans.
For descriptive purposes I would strongly recommend to use the bracket notation for multi-leg moves. Even in cases where the bracket notation would not yet work in the ID. It is much more easily readable than pure XBetza, because it does not need range toggles and extra intermediate square for making the atoms for the various legs compatible, as you can specify the atom for each leg independently.
You can suppress XBetza strings that are exceeding a certain length; it should be possible to do that automatically.