У меня есть проект, в котором основным файлом, с которым мы имеем дело, является старый XML-файл, в котором создатель создал очень неструктурированный DTD (все элементы являются необязательными и могут встречаться 0 или более раз. Еще лучше приложение, которое читает файл на самом деле ожидает много значений по мере необходимости). Я создал XSD на основе известных требований приложения и переместил неупорядоченные списки элементов в последовательности в XSD.
Существует ли простой процесс преобразования (например, XSLT), который может взять старый XML-файл и упорядочить его элементы определенным образом, чтобы мы могли использовать новый XSD для его проверки?
Пример:
<Top>
<A/>
<D/>
<B/>
<C/>
<A/>
</TOP>
INTO
<Top>
<A/>
<A/>
<B/>
<C/>
<D/>
</TOP>
Также у потомков также могут быть элементы, которые также должны быть отсортированы в ожидаемом порядке новой последовательности. Спасибо!