Какие доступные инструменты Python вы можете использовать для генерации XSD из XML-документа?

Я ищу инструмент, который будет хорошо играть с Python. За исключением моего требования к Python, мой вопрос такой же, как этот один:

"Я ищу инструмент, который возьмет документ экземпляра XML и выведет соответствующую схему XSD".

Ответ 1

В настоящее время нет модуля, который будет запускаться в вашей программе python и сделать это преобразование. Но я вижу проблему создания XSD-схемы из XML как проблемы с инструментами. Это тот тип функциональности, который я буду использовать один раз, чтобы запустить схему, но после этого я буду поддерживать схему самостоятельно. Из чтения одного XML файла генератор XSD создаст отправную точку для реальной схемы, он не сможет вывести все функциональные возможности и опции, предлагаемые XSD. В принципе, я не вижу необходимости, чтобы это преобразование выполнялось как модуль внутри моего кода, генерируя новые XSD каждый раз, когда изменяется XML. В конце концов, это схема, которая определяет XML не наоборот.

Как указал конечный пользователь, вы можете использовать xsd.exe, но вы также можете посмотреть другие инструменты, такие как trang ( бит старый) для Java и stylusstudio (инструмент XML).

Ответ 2

Вы ищете что-то вроде pyxsd? (в основном используется для проверки на схему) Или, может быть, PyXB? (может генерировать классы на основе xml). В противном случае я не думаю, что есть инструмент [пока], который будет генерировать схему из Python. Можете ли вы сделать это по требованию, используя что-то вроде xsd.exe? Должен ли быть программным/повторяемым?

Ответ 3

Согласно PyCharm docs, у PyCharm есть средство для этого. Это не совсем доступно программе как API. Вероятно, вам лучше использовать XML Schema Learner как отдельную программу, так как это программа командной строки (подпроцесс дружественный!).