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