Извините, что говорю это, но если вашим нетехническим пользователям нужно читать необработанный XML, ваше приложение не работает. И данные, которые вы сохраняете, обычно не будут иметь соответствия 1-1 с пользовательскими сообщениями: многие вещи хранятся в избыточном виде в XML, а другие данные неявны из данных.
Для меня, я думаю, вы должны хранить все свои XML-данные на болгарском языке, используя набор символов UTF-8. Но в атрибутах, а не в структуре тегов XML.
Я думаю об этом: вы могли бы спроектировать свою программу так, чтобы любая правовая структура могла быть свободно изменена из пользовательского интерфейса (возможно, на специальной панели администратора, но все еще далеко от кода), и ни в коем случае путь жестко запрограммирован в формате файла. Причина в том, что меняются законы, юриспруденция и юридические термины. (Ну, некоторые нет)
Это может позволить вам создать довольно общий формат файла (подумайте о том, который может быть использован в США или Японии - даже если вы не планируете это делать на самом деле, ваши изменения в разработке гибкого файла) формат будет больше)
Это может быть сложнее. Вы должны быть готовы к работе с противоречивыми, неполными или иным образом плохими данными. Но ты все равно должен это делать. И вы тоже можете быть вознаграждены: формат файла может быть более чистым и ориентированным на будущее, что сделает ваше программное обеспечение более гибким. А может и нет. Обратите внимание на мальчиков, здесь можно. Это на самом деле зависит от ваших конкретных компромиссов дизайна.
И, конечно, вам нужно иметь некоторый баланс здесь. В конце концов, бремя разработки надежной, гибкой системы лежит на вас. Вы можете использовать подход написания тегов на болгарском языке. Я из Бразилии, и я нахожу странным думать о чем-то подобном, но это может сработать.
О ваших реальных опасениях по поводу ограничений инструмента: я понятия не имею. Сначала вы должны найти документацию вашей любимой библиотеки XML и посмотреть, смело ли она заявляет о ее поддержке. Даже наиболее часто используемые программы могут не полностью поддерживать функцию, которая не так широко используется.