D>3а) таблица Users:
D> |[E]|Users |(Users) |
D> |E |Name |string |
D> |E |Phone |string |
D> |E |.... |...... |
D> |E |DialingRules |MyDialingRules |
D> |E |.... |...... |
D>3б) таблица Gateways:
D> |[E]|Gateways |(Gateways) |
D> |E |Name |string |
D> |E |Type |string |
D> |E |.... |...... |
D> |E |DialingRules |MyDialingRules |
D> |E |.... |...... |
D>При попытке сохранить получаю сообщение об ошибке:
А ты внимательнее почитай сообщение об ошибке, оно для того и нужно!
.....
Поясняю:
Если посмотреть на этот xml как на DataSet, то создается таблицы Users и Gateways, в каждой из которых есть поля
|E |Name |string |
|E |Phone |string |
Дальше создается таблица DialingRules с полями, описанными в типе MyDialingRules, и её parent указывает на таблицу Users. Здесь все нармально. Но! Дальше идет попытка создать еще одну таблицу DialingRules с теми же самыми полями, но парентом уже на Gateways!!!

Ошибка в создании второй таблицы с тем же именем!
Догадался?

Правильно, нужно переименовать вторую таблицу (а-ля Nod в xml'е).