Большое спасибо! Этот вариант выглядит намного интереснее. Прогоню его на имеющихся у меня тестовых вариантах, если возникнут вопросы - напишу.
Последний вопрос: задача в чем-то противоположная. Произвольно внутри текстовых блоков могут встречаться теги типа
< format value : 'value<">' name="name">
text<"'>text<break>text< break >text
< / format>
Вырезать их из текста не нужно, парсить их параметры не нужно. Нужно только заменить имеющиеся между открывающим и закрывающим тегами команды <break> на '\n'. И сделать это только для тегов <format>.