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

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

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

Ответы [ 3 ]

2 голосов
/ 15 ноября 2011

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

1 голос
/ 18 ноября 2011

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

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

0 голосов
/ 23 ноября 2016

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

...