The above rule describes the insertion of the container element of type ListItem1. It is made of two constraints, one for the starting element of the group and the other for the next elements within the same group. The name of the container element is also specified. The rules are declarative and use arbitrary boolean properties about the values of attributes or element types as illustrated here. There also a way to express constraints on the element ancestors.
All element inserting and numbering actions are optional and configurable.
Demo versions are freely available from our site. They are accompanied by documentation and examples of configuration files. Do not hesitate to download it. There is no restriction on fonctionality nor time usage. Support of other platforms will be considered on demand.