У вас возникают проблемы с использованием этого решения, если у вас есть Lazy-маршруты. Я сделал простую команду bash, чтобы показать информацию о маршрутизации:
cd /path/to/app
for r in $(find src -name "*.routes.ts"); do
echo $r; grep "path:\|component:\|loadChildren:" $r;
done
Преобразование XSD является очень трудной задачей; спецификация XSD является определенным кошмаром и чрезвычайно сложный. От некоторого быстрого исследования кажется, что легко пойти от RelaxNG до XSD, но что реверс не может быть верным или даже возможным (который объясняет Ваш вопрос о Транге).
Я не понимаю Вашего вопроса о редакторах - если Вы спросите, заканчивает ли большинство людей тем, что преобразовало между XSD и RNG вручную, то да, я ожидаю так.
Лучший совет может состоять в том, чтобы избежать XSD, если это возможно, или по крайней мере использовать RNG в качестве категорического документа и генерировать XSD от этого. Вы могли бы также хотеть смотреть на schematron.
Другой возможностью мог бы быть http://www.brics.dk/schematools/, но я еще не попробовал ее.
Снова, относительно редакторов: Я вижу, что нет никакого способа сделать это с Кислородом, который, кажется, популярный инструмент.
Верно, trang не принимает xsd на входной стороне. Транг может , однако взять набор XML-файлов, которые должны соответствовать спецификации, и сгенерировать схему rnc или rng, для которой все они будут действительны.
Недостатки:
Пример случая:
Если мои совместимые файлы xml спрятаны в 1.xml 2.xml 3.xml 4.xml 5.xml
следующая команда сообщит trang о необходимости вывода схемы rnc, которая будет действительна для всех из них:
java -jar trang.jar -I xml -O rnc 1.xml 2.xml 3.xml 4.xml 5.xml foo.rnc
Заключение
Если у вас есть хороший тестовый набор файлов xml, соответствующих вашей схеме (или вы можете легко их создать), это может быть лучший вариант.
Желаю вам удачи.
Онлайн-конвертер ( XSD -> RNG ) добавлен в список на http://relaxng.org / # преобразование
. Я попытался преобразовать maven-v4_0_0.xsd для проверки файлов pom.xml в emacs, но безуспешно. Сайт также содержит таблицу стилей XSL, которую вы можете использовать с xsltproc
, не может ручаться за качество результата ...