Трудно увидеть это как вопрос, специфичный для JDOM.Базовое представление может быть почти любым.Обычно предварительный просмотр - это просто вид конечного результата, который нельзя редактировать напрямую.Если вы хотите иметь возможность редактировать как источник, так и через представление WYSIWYG, вам нужно исследовать шаблон модель-представление-контроллер.
Базовым XML будет ваша модель.Представление редактора XML и представление WYSIWYG (ваш текущий предварительный просмотр) будут тогда представлениями И контроллерами.В настоящее время это относится только к вашему редактору XML, тогда как предварительный просмотр - это не что иное, как представление.
Изменение базового XML из предварительного просмотра звучит сложно, если только каждый узел не может быть как-то идентифицирован (например, через атрибут id),Вам понадобятся дополнительные базовые данные в предварительном просмотре, чтобы связать их в другом направлении.
Я не уверен, что документ JDOM - лучшая модель для ваших целей.Возможно, вам лучше использовать что-то вроде JAXB, чтобы иметь простые JavaBeans для представления модели, которая затем может быть преобразована в XML и демонтирована из XML.Итак, вы получите:
model: JavaBeans with JAXB annotations
^
|
(directly) +--------------------------------------+ (through JAXB)
| |
WYSIWYG editor: view + controller XML editor: view + controller
Но это только мое первое впечатление.Исследуйте существующие редакторы, чтобы найти хороший метод для этого.Возможно, было бы интересно проверить плагины / модули IDE, поскольку IDE обычно позволяют редакторам нескольких типов изменять базовую модель данных.